불순분자 OS - 프로세스 제어블록( process Control Block, PCB )

불순분자들·2022년 7월 20일
0

OS

목록 보기
3/12

Process Control Block( PCB )

프로세스 제어 블록은 특정한 프로세스를 관리할 필요가 있는 정보를 포함하는 운영체제 커널의 자료구조이다. 즉, PCB는 운영체제가 프로세스를 표현한 것이라 할 수 있다.

  • 운영체제가 프로세스 스케줄링을 위해 프로세스에 관한 모든 정보를 가지고 있는 데이터베이스를 PCB라고 한다.
  • 운영체제에서 프로세스는 PCB로 나타나며, PCB는 프로세스에 대한 중요한 정보를 가지고 있는 자료이다.
  • 각 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB는 제거된다.

PCB의 위치

PCB가 프로세스의 중요한 정보를 포함하고 있기 때문에 일반 사용자가 접근하지 못하도록 보호된 메모리 영역 안에 남게 된다.
일부 운영체제에서 PCB는 커널 스택의 처음에 위치하게 되는데, 이유는 메모리의 처음에 위치해 편리하면서도 보호를 받을 수 있는 위치이기 때문이다.

PCB의 포함 정보

PCB안에 어떠한 정보가 포함되어 있는지 간략하게 써보면 다음과 같다.

  • 프로세스의 현재 상태 ( 준비, 실행, 대기, 완료 등.. )
  • 프로세스 고유 식별자 ( Process ID )
  • CPU 스케줄링 및 프로세스의 우선순위
  • CPU 레지스터 정보
  • 주기억장치 관리 정보
  • I/O 상태 정보 ( 입출력 정보 )
  • 프로세스 계정 정보 ( 페이지 테이블, 스케줄링 큐 포인터 등 )

    또한, 운영체제는 빠르게 PCB에 접근하기 위해 프로세스 테이블을 사용하여 각 프로세스의 PCB를 관리하게 된다.

알기 쉽게 PCB

롤을 하는 사람이라면 진짜 쉽게 이해할 수 있는데, 롤을 하면서 op.gg를 보고 유튜브에서 음악을 듣는 것. 어떻게 생각해보면 되게 신기할 것이라고 생각한다.
왜 위와 같은 행동이 가능하냐면 PCB가 이전 작업에 대한 내용을 기억하고 있고, 프로세스 단위로 정보를 저장해 주는 Block이 있기 때문에 우리가 더 편한 PC환경을 가질 수 있었던 것이다.
오늘 PCB를 공부하고 PCB에게 진심으로 감사합니다...

profile
장래희망 : 침대 위 녹아든 치즈

0개의 댓글

관련 채용 정보