연관토픽
기출문제
회차 | 문제 |
응용116-1 | 2. PCB(Process Control Block) |
응용99-1 | 6. PCB (Process Control Block) 구성정보 |
개념(https://www.youtube.com/shorts/5FBCRwpUKrU)
- 특정한 프로세스를 관리하기 위해 유지되는 데이터 블록 또는 레코드의 데이터 구조
- 운영체제가 프로그램 실행을 위해 필요한 자료를 담고 있는 자료구조
- CPU의 Control Unit에 의한 프로세스 관리를 위해 프로세스 실행 정보를 보관하는 자료구조
- 프로세서 제어 블록의 정보는 문맥 교환에 이용되며, 인터럽트 처리, 자원 할당, 스케줄링 등을 수행하는 OS의 모든 모듈이 읽고 수정
프로그램이 메모리에 올라와 프로세스가 되는 과정
PCB의 구조
- 프로세스의 중요한 정보를 포함하고 있기 때문에, 일반 사용자가 접근하지 못하도록 보호된 메모리 영역 안에 저장
- 일부 운영체제에서 PCB는 커널 스택의 처음에 위치함
- Program 이 실행되면 Process 가 생성되며, Process Address Space 에 ‘code’, ‘data’, ‘stack’이 만들어짐
- 이 Process 의 Metadata 들 은 PCB에 저장됨
- Process Management 란 말 은 곧 PCB Management 말과 의미가 일치
PCB의 구성요소
구분 | 구성요소 | 설명 |
프로세스 자체 정보 | PID(프로세스 식별자) | 각 프로세스에 대한 고유 식별자 |
프로세스 상태 | 생성, 준비, 실행, 대기, 중단 등 상태 | |
프로그램 카운터(PC) | 다음에 수행할 명령의 주소 정보 | |
레지스터(Register) 저장 영역 | 누산기, 인덱스 레지스터, MBR, MAR 등 | |
프로세서 스케줄링 정보 | 우선 순위, 스케줄링 큐 포인터, 스케줄 매개 변수 | |
계정 정보 | 프로세스 사용정보, 실제 사용시간, 계정 정보 등 | |
외부 자원정보 | 입출력 상태 정보 | 할당된 입출력 장치, 개방된 파일 목록 |
메모리 관리 정보 | 상한/하한 레지스터, 페이지 테이블 정보 |
PCB와 TCB의 연관성
- PCB는 PID와 TCB에 대한 정보가 담겨 있으며, Thread는 프로세스의 일부
- PCB는 하나 이상의 TCB를 포함하고 있으며, Process의 종료는 포함된 모든 Thread를 종료시킴
- 스레드는 프로세스 Subset 이고, 프로세스는 하나 이상의 커널 스레드를 포함
- PCB는 하나 이상의 TCB를 포함하고 프로세스의 종료는 포함된 모든 스레드를 종료 시킴
모범답안