728x90
반응형
SMALL
프로세스 제어 블록 (PCB, Process Control Block)
1. 개념
프로세스 제어 블록(PCB)은 운영 체제가 각 프로세스를 관리하기 위해 사용하는 데이터 구조입니다.
프로세스가 실행, 일시 중지, 재개되거나 종료될 때 운영 체제는 PCB에 저장된 정보를 참조하여 해당 프로세스를 관리합니다.
2. 주요 구성 요소
- 프로세스 상태: 현재 프로세스의 상태 (예: 준비, 실행 중, 대기 등).
- 프로세스 식별자 (PID): 각 프로세스를 구별하기 위한 고유 ID.
- CPU 레지스터 값: 프로세스의 작업 진행을 나타내는 레지스터 값.
- 프로세스 우선순위: 프로세스의 실행 우선순위.
- 메모리 관리 정보: 프로세스가 사용하는 메모리 영역 정보.
- I/O 상태 정보: 프로세스가 대기 중인 I/O 작업 정보.
- 계정 정보: CPU 사용량, 실행 시간 등 프로세스 실행에 대한 통계.
3. 문맥 교환 (Context Switch)
문맥 교환은 실행 중인 프로세스를 중단하고 다른 프로세스를 실행하기 위해 CPU가 PCB 정보를 저장하고 복원하는 작업입니다.
운영 체제는 문맥 교환을 통해 CPU를 효율적으로 공유합니다.
PCB와 문맥 교환의 흐름
[Running Process]
↓ Save context (PCB 저장)
[Ready Queue]
↓ Load context (PCB 복원)
[Next Process Running]
↓ Save context (PCB 저장)
[Ready Queue]
↓ Load context (PCB 복원)
[Next Process Running]
설명:
- 실행 중인 프로세스의 상태를 PCB에 저장.
- 준비 상태(Ready Queue)에 있는 다른 프로세스의 PCB를 읽고 상태를 복원.
- 새로운 프로세스가 실행되도록 CPU에 할당.
예시로 쉽게 설명
PCB
- 비유: 게임 저장 슬롯
비디오 게임에서 "게임 저장"을 한다고 생각해보세요. 저장 슬롯에는 캐릭터의 상태(레벨, 위치, 아이템 등)가 기록됩니다.
마찬가지로 PCB에는 프로세스의 상태와 정보가 기록됩니다.
문맥 교환
- 비유: 게임 불러오기
게임을 중단하고 다른 게임을 불러오려면, 현재 게임의 상태를 저장하고 새로운 게임의 상태를 불러와야 합니다.
운영 체제에서 문맥 교환도 비슷하게 동작합니다. 현재 프로세스의 정보를 PCB에 저장하고, 다른 프로세스의 정보를 PCB에서 복원해 실행합니다.
추가적인 쉬운 비유
- PCB: 책갈피
책을 읽다가 중단하면 책갈피를 끼우고 나중에 이어 읽습니다. PCB는 프로세스의 "책갈피" 역할을 합니다. - 문맥 교환: 작업 전환
회사에서 문서를 작성하다가 회의가 시작되면, 문서 작업 상태를 저장하고 회의 자료를 불러옵니다. 회의가 끝난 후에는 다시 문서 작업을 이어갑니다.
시각적 예시 그림
PCB and Context Switching
위 그림은 **프로세스 제어 블록(PCB)과 문맥 교환(Context Switching)**의 동작을 시각적으로 설명합니다.
- PCB 저장(Save Context):
- 실행 중인 프로세스 A의 상태를 PCB 1에 저장합니다.
- CPU 문맥 교환(Context Switching):
- PCB 2의 정보를 불러와 CPU가 프로세스 B를 실행합니다.
2024.12.10 - [운영체제] - 프로세스 상태가 PCB와 문맥 교환에 미치는 영향
반응형
SMALL
'운영체제' 카테고리의 다른 글
프로세스와 스레드의 차이 : 쉬운 설명 (0) | 2024.12.10 |
---|---|
프로세스 상태가 PCB와 문맥 교환에 미치는 영향 (0) | 2024.12.10 |
프로세스의 연산 (0) | 2024.12.10 |
가상 메모리(Virtual Memory)의 개념과 필요성 (0) | 2024.10.26 |
컨텍스트 스위칭(Context Switching)의 정의와 비용 (1) | 2024.10.26 |