프로세스 제어 블록 PCB

GGOMG·2022년 10월 5일
0

Computer Science

목록 보기
12/19
post-custom-banner

프로세스 제어 블록이란?

PCB (Process Control Block)
운영체제가 프로세스를 제어하기 위해 정보를 저장해 놓는 곳으로, 프로세스의 상태 정보를 저장하는 자료구조

  • 프로세스가 생성될 때 마다 고유의 PCB가 생성되고, 프로세스가 완료되면 함께 제거된다
  • 프로세스 상태 관리와 문맥 교환(Context Switch)를 위해 필요하다
  • 프로세스가 CPU를 점유하여 처리하다가 상태가 전이되면, 진행하던 작업 내용을 정리하고 CPU를 반환해야 하는데, 이때 진행하던 작업들을 PCB에 저장한다
  • 운영체제는 프로세스 테이블을 사용하여 각 프로세스의 PCB를 관리한다

다음과 같은 정보를 포함하고 있다

  • 프로세스 번호
    프로세스 식별자(PID)를 저장
  • 포인터
    부모 프로세스에 대한 포인터, 자식 프로세스에 대한 포인터, 프로세스의 메모리 포인터, 할당 자원 포인터
  • 프로세스 상태
    생성, 준비, 실행, 대기, 완료
  • 프로그램 카운터
    다음에 실행할 명령어의 주소를 저장
  • 레지스터
    CPU 레지스터 정보
  • CPU 스케줄링 정보
    우선순위, 최종실행시간, 점유시간 등
  • 열린 파일 목록
    프로세스를 위해 열린 파일 목록 등

문맥교환(Context Switching)이란?

문맥(Context)

동작을 관리하도록 하는 속성들을 포함하는 정보

문맥 교환(Context Switching)

현재의 Context를 중단하고 다른 Context를 실행하는 것

문맥교환 오버헤드

Context Switching에 걸린 시간과 메모리

post-custom-banner

0개의 댓글