Process vs Thread (4. PCB)

0

OS

목록 보기
4/5

Process Table and Process Control Block (PCB)


프로세스를 생성하는 동안 운영체제는 몇 가지 작업을 수행한다.
프로세스를 식별하기 위해 프로세스 식별 번호(PID)를 각각의 프로세스에게 할당한다.
운영체제가 multi-programming을 지원하면서 모든 프로세스들을 추적할 필요가 있다.
이러한 작업을 위해, PCB는 프로세스의 실행 상태 추적을 위해 사용되어 진다.
각 메모리의 블록은 process state, program counter, stack pointer, status of opened files, scheduling algorithms 등의 정보를 포함한다.
이러한 모든 정보는 피요하고 프로세스가 현 상태에서 다른 상태로 전환될 때 저장되어야 한다.
프로세스가 다른 상태로 변화할 때, 운영체제는 프로세스의 PCB 정보를 수정한다.
PCB는 프로세스에 대한 정보를 포함한다.
프로세스 테이블은 PCB들의 배열이며 즉, 현재 시스템 내 모든 프로세스들에 대한 PCB를 논리적으로 포함하고 있다는 의미이다.


(출처 : https://www.geeksforgeeks.org/process-table-and-process-control-block-pcb/?ref=lbp )

  • pointer : 프로세스가 다른 상태로 변화될 때 현재 프로세스의 위치를 가지고 있는 스택 포인터다.
  • process state : 프로세스의 각 상태를 저장
  • process number : 모든 프로세스는 ID 혹은 PID라고 불리어지는 프로세스의 식별 번호를 할당 받는다
  • Program Counter : 프로세스를 실행한 다음 지시의 주소를 포함하고 있다
  • Regiester : accumulator, base, regiester를 CPU 레지스터는 포함하고 있다
  • Memory limits : 운영체제에 의해 메모리 운영 시스템에 대한 정보를 포함하고 있다. page tables, setment table 등과 같은 정보를 포함하고 있다
  • open files list : 프로세스를 위해 현재 열려 있는 파일의 리스트 정보

Miscellaneous accounting and status data


(출처 : https://www.geeksforgeeks.org/process-table-and-process-control-block-pcb/?ref=lbp )

CPU 사용량, 시간 제약, 작업 혹은 프로세스 번호를 포함하고 있다.
PCB는 running상태로부터 blocked가 되었을 때 프로세서의 실행 내용이라고도 하는 레지스터 내용을 저장한다. 이러한 내용들은 운영체제가 프로세스가 running상태로 돌아왔을 때 프로세스 실행 내용들을 복구가 가능하도록 한다.
프로세스가 다른 상태로 전이될 때, 운영체제는 이러한 정보들을 프로세스의 PCB에 수정한다.
운영체제는 프로세스 테이블 안에 있는 각각의 프로세스의 PCB를 가리키면서 PCB 접근이 빨라지도록 하고 있다.

profile
컴퓨터공학과 + 실무 = 4 + N = 모르는거 ∞ ...

0개의 댓글