운영체제
PCB와 Context Switching
탁재민
2024. 3. 20. 21:03
프로세스 제어 블록 (PCB: Process Control Block)
프로세스의 생성부터 종료까지 그 프로세스에 대한 모든 중요 정보를 유지하는 자료구조
PCB에 저장되는 정보
- 프로세스 식별자(Process ID, PID)
- 프로세스 상태: Ready, Running, Waiting
- 프로그램 카운터(Program Counter, PC): 프로세스가 다음에 실행할 명령어의 주소
- CPU 레지스터
- CPU 스케줄링 정보: 프로세스 우선순위, 스케줄링 큐에 대한 포인터, 최종 실행 시간 등
- 메모리 관리 정보: 프로세스의 주소 공간, 페이지 테이블, 세그먼트 테이블 등
- 입출력 상태 정보: 프로세스에 할당된 입출력 장치 등
- 계정 정보: CPU 사용 시간, 실제 사용 시간 등
컨텍스트 스위칭 (Context Switching)
CPU가 다른 프로세스로 작업을 전환하는 과정
- 멀티태스킹 상황(실행 중인 CPU 사용 허가시간을 모두 소모)이나 인터럽트 처리 위해 컨텍스트 스위칭 발생
- 현재 실행 중인 프로세스의 상태 PCB에 저장
- 스케줄러에 의해 선택된 다음 프로세스의 PCB에서 상태 정보를 로드하여 CPU 레지스터, 프로그램 카운터 등을 설정
- 새 프로세스 실행