코딩코딩/운영체제
PCB(Process Control Block)
g0n1
2022. 5. 30. 17:17
728x90
PCB에 담기는 정보들
- Process state
-> 프로세스의 상태(new, ready, running, waiting, halted 등) - Program counter
-> 다음에 이 프로세스를 위해 CPU가 실행시킬 instruction의 주소 - CPU registers
-> 이 프로세스가 인터럽트나 context_switch 등에 의해 중단되었다가 다시 실행될 때 올바르게 실행되기 위해 필요한 레지스터의 정보들 - CPU-scheduling information
-> 스케줄링을 위해 필요한 정보들(프로세스 우선순위 등) - Memory-management information
-> 기본 및 제한 레지스터의 값과 페이지 테이블 또는 세그먼트 테이블과 같은 항목 - Accounting information
-> 사용한 CPU의 양과 시간에 관한 정보들 - I/O status information
-> 프로세스에 할당된 I/O devices, 열려있는 파일들(file descriptor) 등
저장되는 곳
- 일반(사용자) 프로세스는 접근할 수 없는 메모리 속 어딘가
- C언어의 task_struct 구조체의 형태로 저장됨
- task_struct에 대해선 나중에 더 공부해보장
728x90