코딩코딩/운영체제

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에 대해선 나중에 더 공부해보장

https://dreamhack.io/

 

 

 

728x90