- 프로세스 제어 블록
프로세스를 실행하는데 필요한 중요한 벙로를 보관하는 자료구조
- 프로세스 제어 블록의 구성
- 포인터
큐로 운영되는 준비 상태나 대기 상태의 큐를 구현할 때 사용함
- 역할
다양한 대기/준비 큐를 활용하기 위한 메모리 시작 주소
- 프로세스 상태
프로세스가 어떤 상태인지 나타냄
- 프로세스 구분자
여러 프로세스를 구별함
- 프로그램 카운터
다음에 실행될 명령어의 위치를 가리키는 PC 의 값을 저장
- 프로세스 우선순위
프로세스의 우선순위를 나타냄
- 각종 레지스터 정보
사용하던 레지스터들의 값을 보관함
- 메모리 관리 정보
프로세스가 어디에 있는지 나타내는 메모리 위치 정보, 경계 레지스터, 한계 레지스터 값 등이 저장됨
세그먼테이션 테이블과 페이지 테이블 등의 정보도 보관
- 할당된 자원 정보
프로세스를 실행하기 위해 사용하는 입출력 자원이나 오픈 파일 등에 대한 정보
- 계정 정보
계정 번호, CPU 할당 시간, CPU 사용 시간 등 저장
- 부모 프로세스 구분자와 자식 프로세스 구분자
프로세스의 부모/자식 을 가리키는 정보
- 문맥 교환
- 의미
CPU 를 차지하던 프로세스가 나가고 새로운 프로세스를 받아들이는 작업
두 PCB 내용을 변경시킴
- 절차
기존의 진행중인 작업의 정보를 PCB 에 저장한 후 준비 상태로 옮김
새로운 작업을 실행 상태로 옮긴 후 레지스터를 새로운 PCB 값으로 채움
작업 진행