컴퓨터언어/운영체제

PCB(Process Control Block)

bbanpro 2020. 7. 6. 20:58
728x90
반응형

 

👍 PCB란?

 

운영체제가 다중프로그래밍에서 프로세스들을 관리하기 위하여 관련 정보를 저장해 놓는 곳

 

 

👊 PCB의 항목

 

  • 각 프로세스의 식별자
  • 주소(포인터) : 프로세스가 적재된 기억장치 부분, 프로세스에 할당된 자원(프로세스가 필요로 하는 자원의 주소를 담은 포인터), CPU의 각종 레지스터 상태(하나의 CPU는 오직 하나의 프로세스만을 집중하므로, 다른 프로세스 실행 시에는 기존 프로세스에 대한 처리 정보를 저장해 놓은 뒤 이후에 다시 불러와서 사용<문맥교환>)
  • 현재상태(준비/실행/대기)
  • 우선순위 : 대부분의 프로그램은 하나로 구성되어 있기보다는 여러 파일의 조립으로 구성되어 있는데, 상위에 해당하는 프로그램이 우선순위가 더 높다
  • 중앙처리장치(CPU, 처리기) 레지스터 정보
  • 계정정보(시간 할당량) : 각 프로세스에게 시간을 얼만큼씩 할당할지
  • 기억장치 관리정보
  • 입출력정보
  • 부모/자식 프로세스를 가리키는 포인터 : 우선순위와 연관

👊 PCB와 프로세스 생성 과정

 

  1. 새로운 프로세스에게 프로세스 식별자를 할당
  2. 새로운 프로세스에게 주소 공간과 PCB 할당
  3. 새로운 프로세스의 PCB 초기화(상태정보, 카운터, 우선순위 등 정보 초기화)
  4. 새로운 프로세스를 스케줄러와 연결
728x90
반응형