본문 바로가기

CS

[CS]운영체제(OS)역할과 구조, 시스템콜, 컴퓨터의 요소 정리

728x90
반응형

 

 

스터디 하면서 결정한 책으로 큰 영역은 정해지지만,

책에서 간결하게 정리해서 그런지 비어있는 내용이 너무 많아서

책을 기반으로 검색과 chatGPT로 내용을 보완해서 정리해둔다.

 

 

운영체제의 역할

운영체제는 컴퓨터 시스템의 핵심 소프트웨어로, 하드웨어 자원을 관리하고 프로그램을 실행시키는 역할을 합니다.

또한 사용자와 하드웨어 간의 인터페이스를 제공하며, 시스템의 안정성과 보안을 유지하기 위한 다양한 기능을 수행합니다.

운영체제의 구조

https://shacoding.com/2022/03/05/os-test/

운영체제는 크게 커널과 유틸리티(응용 프로그램)로 이루어져 있습니다.

커널은 하드웨어와 직접적으로 상호작용하여 하드웨어 자원을 관리하고,

유틸리티는 커널 위에서 동작하는 프로그램으로, 사용자와 시스템 간의 인터페이스를 제공하며,

시스템의 자원 관리와 관련된 작업을 수행합니다.

 

1. 인터페이스

CLI(Command Line Interface)

텍스트 기반의 인터페이스로, 사용자가 명령어를 입력하여 시스템을 제어합니다.
주로 개발자나 전문가들이 사용합니다.

GUI(Graphical User Interface)

그래픽 기반의 인터페이스로, 사용자가 마우스 클릭 등의 동작으로 시스템을 제어합니다.

일반 사용자들이 자주 사용합니다.

2. 시스템콜 (시스템 호출)

시스템콜(System Call)은 운영체제에서 제공하는 서비스에 접근하기 위한 프로그래밍 인터페이스입니다.

프로그램에서 시스템콜을 호출하면 운영체제의 커널에 있는 함수가 실행되어 하드웨어 자원에 접근하거나,

프로세스 간 통신, 파일 I/O, 메모리 관리 등과 같은 다양한 운영체제 서비스를 이용할 수 있습니다.

 

운영체제가 직접 하드웨어 자원을 제어하면, 여러 프로그램이 동시에 하드웨어 자원을 사용하려고 할 때 충돌이 발생할 수 있습니다.

따라서 운영체제는 시스템콜을 통해 프로그램들이 운영체제의 서비스를 공유하도록 합니다.

이를 통해 운영체제는 하드웨어 자원을 안전하게 관리하고,

프로그램들은 운영체제의 기능을 활용하여 안정적이고 효율적인 동작을 할 수 있습니다.

  • modebit
    시스템콜의 modebit은 사용자 모드(1)와 커널 모드(0) 사이를 전환하기 위한 비트입니다. 사용자 모드에서는 일반적인 응용 프로그램을 실행 커널 모드에서는 운영체제가 하드웨어 자원을 직접적으로 제어 따라서 사용자 모드에서 시스템콜을 호출하면, 커널 모드로 전환되어 시스템콜 함수를 실행하고, 실행이 완료되면 다시 사용자 모드로 돌아갑니다. modebit이 설정되어 있지 않은 상태에서 시스템콜을 호출하면, 운영체제는 프로세스를 강제로 종료시키는 등의 에러 처리를 수행합니다. modebit은 이러한 전환이 안전하게 이루어지도록 보호합니다.
  • 커널
    커널은 운영체제의 가장 기본이 되는 부분으로, 운영체제를 구성하는 다양한 서비스와 기능들을 제공합니다. 예를 들어, 메모리 관리, 프로세스 관리, 입출력 처리, 네트워크 연결 등의 기능을 수행합니다. 또한, 커널은 운영체제의 가장 중요한 기능 중 하나인 보안을 담당하고 있습니다. 따라서, 커널의 안정성과 보안성은 운영체제의 안정성과 보안성에 직접적인 영향을 미치며, 운영체제 전체의 안정성과 보안성을 결정짓는 중요한 요소입니다.
  • 드라이버
    드라이버는 운영체제와 장치 간의 인터페이스를 담당하는 소프트웨어입니다. 이는 장치와 운영체제 간의 프로토콜을 구현하여, 운영체제가 장치를 제어할 수 있도록 합니다. 일반적으로, 운영체제는 하드웨어 자원을 직접 제어하지 않고, 드라이버를 통해 하드웨어 자원에 접근합니다. 따라서, 운영체제와 장치 간의 호환성을 보장하기 위해서는 적절한 드라이버가 필요합니다.

컴퓨터의 요소

https://velog.io/@jsb12302/%EC%BB%B4%ED%93%A8%ED%84%B0%EC%9D%98-%EC%9A%94%EC%86%8C

1. CPU (Central Processing Unit)

컴퓨터의 중앙처리장치로, 컴퓨터 시스템의 뇌와 같은 역할을 합니다.

CPU는 메모리와 입출력 장치 등의 하드웨어 자원을 제어하고,

프로그램의 명령어를 해석하고 실행하여 컴퓨터 시스템이 동작하는 데 필요한 계산 처리를 수행합니다.

커널이 프로그램을 메모리에 올려 프로세스로 만들면 CPU가 이를 처리한다

레지스터(IR)에서 명령어를 읽어와 해석(제어장치)하고 계산 결과도 레지스터에 저장하며,
명령어를 실행하기 위해 다른 구성요소들과 협력합니다.
CPU는 데이터를 처리하는 산술논리장치(ALU)와 함께 프로그램을 실행하는 데 필요한 모든 작업을 처리합니다.

레지스터(IR) : ir(register)은 CPU의 명령어 레지스터(instruction register)로, 현재 실행 중인 명령어를 저장하고 있습니다.
  • 제어장치: CU(Control Unit)
    제어장치(CU)는 중앙처리장치(CPU)의 구성요소 중 하나로, 명령어 해석과 실행을 담당, 데이터 처리를 위한 순서를 결정
  • 레지스터(Register)
    CPU에 내장된 고속 메모리 CPU는 명령어를 해석하고 실행하는 데 필요한 데이터를 레지스터에 저장하고,
    계산 결과도 레지스터에 저장하여 다음 명령어의 실행에 활용합니다.
    CPU는 데이터를 저장할 방법이 없어서 레지스터에 저장합니다.
  • 산술논리연산장치(ALU, Arithmetic Logic Unit)
    산술 연산과 논리 연산을 수행하는 역할 산술 연산은 덧셈, 뺄셈, 곱셈, 나눗셈 등의 연산을 수행하며,
    논리 연산은 AND, OR, NOT 등의 논리 연산을 수행합니다.
    이러한 연산을 처리하는 데 필요한 레지스터와 제어 신호 등을 제공받음.
  • 연산 처리 과정

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=dufvndrnjs&logNo=70152020258

산술논리연산장치(ALU)와 누산기???
산술논리연산장치(ALU)와 누산기는 서로 다른 하드웨어입니다.
ALU는 CPU 내부에 위치한 하드웨어 블록으로, 산술 연산과 논리 연산을 처리하는 역할을 합니다. 반면, 누산기는 덧셈 기능만을 수행하는 하드웨어로, 데이터를 더할 때 사용됩니다. ALU는 CPU의 중요한 하드웨어 구성 요소 중 하나이지만, 누산기는 ALU 내에 포함되어 있거나, 별도의 하드웨어 모듈로 구현될 수 있습니다.
  • 인터럽트
    CPU가 프로그램을 실행하고 있을 때,
    입출력 장치 등의 하드웨어나 예외 상황이 발생하여 즉시 처리해야 하는 경우, CPU에게 알려 작업의 우선순위를 높이는 기능입니다.

    이를 통해 CPU는 우선순위가 높은 작업을 먼저 처리하고, 나중에 다시 이전 작업을 계속할 수 있습니다.
    인터럽트는 운영체제에서 처리하며,
    운영체제가 인터럽트를 처리하는 동안 CPU는 인터럽트가 발생한 작업을 일시 중단하고 대기합니다.
    • 하드웨어 인터럽트 : 입출력 장치의 연결 등의 IO디바이스에서 발생하는 인터럽트
    • 소프트웨어 인터럽트 = 트랩(trap) : 프로세스 오류등으로 프로세스가 시스템콜 호출
트랩: 요청한 작업을 수행하기 위해 운영 체제는 커널 모드에서 작업을 수행하는데, 이때 트랩이 발생합니다.
 
 

2. DMA 컨트롤러

DMA 컨트롤러는 CPU와 메모리 간의 데이터 전송을 대신 처리하는 장치입니다.

I/O 디바이스가 메모리에 직접 접근할 수 있도록 하는 하드웨어 장치

CPU의 부하를 막아주는 보조 일군 같은 존재, 하나의 작업을 CPU와 DMA 컨트롤러가 동시에 하는것을 방지

3. 메모리

데이터나 상태, 명령어 등을 기록하는 장치. (보통 RAM을 말함) CPU는 계산을 담당하고 메모리는 기억을 담당

4. 디바이스 컨트롤러

컴퓨터와 연결되어있는 I/O디바이스들의 작은 CPU

 

 

 


✔️ 참고

https://search.shopping.naver.com/book/catalog/32478035848?cat_id=50010920&frm=PBOKMOD&query=%EB%A9%B4%EC%A0%91%EC%9D%84+%EC%9C%84%ED%95%9C+CS+%EC%A0%84%EA%B3%B5%EC%A7%80%EC%8B%9D+%EB%85%B8%ED%8A%B8&NaPm=ct%3Dlf6loiog%7Cci%3D7bb30b5c65d8f069ef3d5013d247adc5261e3b00%7Ctr%3Dboknx%7Csn%3D95694%7Chk%3Deba269a81fcd45201a369895cb0a9d3894e2d97b

728x90
반응형