반응형
PCB(Process Control Block)란?
운영체제에서 관리할 필요가 있는 특정한 프로세스 정보를 포함하는 데이터 블록이다.
커널 스택에 저장되며 각 프로세스가 생성될 때 고유의 PCB가 생성되고 프로세스가 종료되면 PCB는 제거된다.
커널 스택 : 가상메모리는 사용자 공간과 커널 공간으로 구분되는데 이는 모두 스택 자료구조를 기반으로 관리된다, 때문에 사용자 스택, 커널 스택이라고도 한다. 사용자 스택은 유저모드에서만, 커널 스택은 커널모드에서만 접근 가능하다.
프로세스가 CPU를 점유하여 작업을 처리하다가, 상태가 전이되면 진행하던 작업 내용을 모두 정리하고 CPU에 반환해야 한다. 이때, 작업 내용을 PCB에 저장하여 후에 다시 CPU를 점유하여 작업을 수행해야할 때 PCB로부터 정보들을 알아내 계속 하던 작업을 수행한다.
PCB의 구조
process state : 프로세스의 상태 (생성/준비/실행/대기/완료)
process number(PID) : 각 프로세스의 고유 식별 번호
program counter(PC) : 이 프로세스에 대해 실행될 다음 명령의 주소에 대한 포인터
register : 레지스터 관련 정보
memory limits : 프로세스의 메모리 관련 정보. 해당 프로세스의 주소공간 등
list of open files : 프로세스를 위해 열린 파일 목록들
참고
728x90
반응형
'Computer Science > Operating System' 카테고리의 다른 글
멀티프로세싱(Multiprocessing), 멀티스레딩(Multithreading) (0) | 2024.10.24 |
---|---|
컨텍스트 스위칭(Context Switching) (0) | 2024.10.23 |
프로세스 메모리 구조, 프로세스/스레드 차이 (0) | 2024.10.22 |
프로그램 컴파일 과정 - C, C++/Java ( Interpreter / JIT ) (0) | 2024.10.18 |
페이지 교체 알고리즘 - FIFO, LRU, LFU, MFU, NUR, OPT(오프라인 알고리즘) (0) | 2024.10.17 |