Process Management
프로세스가 여러 개일 때, CPU 스케줄링을 통해 관리하는 것을 말한다. 이 때, CPU는 프로세스를 관리하기 위해 각 프로세스에 대한 정보를 가지고 있어야하는데, 이 프로세스들의 특징을 갖고 있는 것이 Process Metadata이다. 이 메타데이터는 PCB (Process Control Block)에 저장된다.
PCB(Process Control Block)
프로세스 정보가 PCB에 저장되는 과정
프로그램 실행 → 프로세스 생성 → 프로세스 주소 공간에 (코드, 데이터, 스택) 생성 → 이 프로세스의 메타데이터들이 PCB에 저장
PCB란?
운영체제가 프로세스에 대한 정보를 저장해놓을 수 있는 저장 장소로 다음과 같은 정보를 저장한다.
- PID : 프로세스의 고유 번호
- 준비, 대기, 실행 등의 상태
- 다음 실행될 프로세스의 포인터
- 레지스터 관련 정보
- 스케줄링 및 프로세스 우선순위
- 할당된 자원 정보
- CPU 사용시간, 실제 사용된 시간
- 입출력 상태 정보
Context Switching
CPU가 이전 프로세스 상태를 PCB에 보관하고, 또 다른 프로세스의 정보를 PCB에 읽어 레지스트에 적재하는 과정
- 보통 인터럽트가 발생하거나, 실행 중인 CPU 사용 허가 시간을 모두 소모하거나, 입출력을 위해 대기해야하는 경우 발생한다.
'Computer Science > Operating System' 카테고리의 다른 글
| CPU 스케줄링 (0) | 2023.08.27 |
|---|---|
| IPC(Inter Process Communication) (0) | 2023.08.26 |
| 페이징과 세그먼테이션 (0) | 2023.08.12 |
| 페이지 교체 알고리즘 (0) | 2023.08.06 |
| 인터럽트 (Interrupt) (0) | 2023.07.23 |