CS/운영체제

운영체제란?

:)jun 2023. 9. 11. 23:12

💡 운영체제

운영체제란?

  • 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층

운영 체제의 목적

  • 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공
  • 컴퓨터 시스템의 자원을 효율적으로 관리한다.
    • CPU, 메모리, I/O 장치 등의 효율적 관리

💡 커널이란?

  • 커널은 운영 체제와 하드웨어 간의 인터페이스 역할을하며, 다음 4가지 기능을 수행한다.
    • 메모리 관리 : 메모리가 어디에서 무엇을 저장하는 데 얼마나 사용되는지를 추적한다.
    • 프로세스 관리 : 어느 프로세스가 CPU를 얼마나 오랫동안 사용할지를 결정한다.
    • 장치 드라이버 : 하드웨어와 프로세스 사이에서 중재자/인터프리터의 역할을 수행한다.
    • 시스템 호출 및 보안 : 프로세스의 서비스 요청을 수신한다.

  • 커널은 운영 체제의 가장 하위 계층에 위치한다. 유명한 커널은 리눅스 커널, 윈도우즈 커널, macOS의 XNU 커널이 있다.

 

💡 PCB 란?

PCB(Process Control Block)는 프로세스의 상태와 관련된 정보를 저장하는 데이터 구조이다. 다음 5가지 정보가 포함된다.

  1. 프로세스 식별자(Process Identifier, PID): 각 프로세스에는 고유한 식별자인 PID가 할당됩니다. 이를 통해 운영 체제는 각 프로세스를 식별하고 구분할 수 있습니다.
  2. 프로세스 상태(Process State): PCB는 현재 프로세스의 상태를 나타내는 정보를 포함합니다. 상태는 대기(waiting), 실행(running), 준비(ready) 등으로 나눌 수 있습니다. 이를 통해 운영 체제는 프로세스의 실행 여부를 관리합니다.
  3. 레지스터 값(Registers): 프로세스가 실행되는 동안 중요한 레지스터 값들은 PCB에 저장됩니다. 이는 프로세스가 일시 중지되었다가 다시 실행될 때 상태를 보존하고 이전 상태로 복원하는 데 사용됩니다.
  4. 프로세스 우선순위(Process Priority): 프로세스의 우선순위는 PCB에 저장됩니다. 우선순위는 스케줄링 알고리즘에 의해 사용되어 다음에 실행될 프로세스를 결정하는 데 도움을 줍니다.
  5. 자원 할당 정보(Resource Allocation Information): PCB는 프로세스가 보유한 자원의 정보를 저장합니다. 이는 프로세스가 사용 중인 메모리, 파일, 입출력 장치 등의 자원을 추적하고 관리하는 데 사용됩니다.

PCB는 운영 체제가 프로세스를 관리하고 조정하는 데 필요한 데이터를 저장하고 있으며, 프로세스의 상태 전이, 스케줄링, 동기화, 자원 할당 등의 작업을 수행하는 데 사용됩니다.

'CS > 운영체제' 카테고리의 다른 글

프로세스 상태 전이  (0) 2023.09.16
프로세스 스케줄러  (0) 2023.09.15
멀티 쓰레드 vs 멀티 프로세스  (0) 2023.09.14
Context Switching  (0) 2023.09.13
프로세스와 쓰레드의 차이  (0) 2023.09.12