728x90
컨텍스트 스위칭이란?
멀티 프로세스 환경에서 CPU가 어떤 하나의 프로세스를 실행하고 있는 상태에서 인터럽트 요청에 의해 다음 우선 순위의 프로세스가 실행되어야 할 때, 기존의 프로세스의 상태 또는 레지스터 값을 저장하고 CPU가 다음 프로세스를 수행하도록 새로운 프로세스의 상태 또는 레지스터 값을 교체하는 작업을 말한다.
예를 들어 프로세스 A가 있고, 프로세스 B가 있을 때, CPU가 실행하는 프로세스를 A에서 B로, B에서 A로 바꾸는 기술이라고 할 수 있다.
그렇다면 프로세스 A, B의 정보를 기억해야할 필요가 있는데, 이 정보를 기록하는 곳이 바로 PCB(Process Control Block) 이다.
PCB (Process Control Block)

- 프로세스 식별자(PID)
- 프로세스 상태정보 : create, ready, running, waiting, terminated 등의 상태 정보가 담겨있다.
- PC : 다음에 실행할 명령어의 주소가 담겨있다.
- 레지스터 : CPU의 레지스터가 저장된다.
- CPU 스케줄링 정보 : 우선순위, 최종 실행시각, CPU 점유시간 등이 저장
- 메모리 관리 정보 : 해당 프로세스의 주소 공간 등이 저장
- 입출력 상태 정보 : 프로세스에 할당된 입출력장치 목록, 열린 파일 목록 등이 저장된다.
728x90
'CS > 운영체제' 카테고리의 다른 글
| 프로세스 메모리 구조 (0) | 2022.10.30 |
|---|