PCB

김우진·2023년 11월 15일
0

CS

목록 보기
3/4
post-thumbnail

PCB(Process Control Block)

운영체제에서 관리하는 프로세스에 대한 메타데이터를 저장한 데이터블록
커널 스택에 저장되며 각 프로세스가 생성될 때마다 고유의 PCB가 생성이 되고 프로세스가 종료되면 PCB는 제거된다.

모든 프로세스는 실행을 위해 CPU가 필요하다 But, CPU 자원은 한정되어 있다.
-> 그러면 효율적으로 사용하기 위해선 어떻게 해야할까?

그래서 빠르게 번갈아 수행되는 프로세스들을 효율적으로 관리하기 위해 나온 것이 프로세스 제어 블록이다.

PCB

  • 프로세스 관련 정보(메타데이터)를 저장하는 자료 구조(데이터 블록)
  • 프로세스 생성 시 커널 영역에 생서 되고, 종료 시 제거
  • 상품에 달린 태그와 같은 정보
  • 프로세스는 1개 이상의 스레드로 구성되므로 PCB는 TCB(Thread Control Block)의 리스트

PCB에 담기는 대표적인 정보(OS마다 차이 발생 가능)

  • 프로세스 ID(=PID) : 특정 프로세스를 식별하기 위한 고유 번호
  • 레지스터 값 : CPU를 한정적으로 사용할 수 있어 일을 재개할 수 있도록 레지스터 중간 값을 저장 (프로그램 카운터, 스택 포인터, etc...)
  • 프로세스 상태
  • CPU 스케줄링 정보 : 해당 프로세스가 언제 어느 CPU를 할당 받을 지
  • 메모리 정보 : 프로세스가 저장된 주소 정보, 페이지 테이블 정보
  • 사용한 파일과 입출력장치 정보

참고 자료

0개의 댓글