PCB

고장난 고양이·2022년 7월 14일
0

운영체제

목록 보기
8/21
post-custom-banner

프로세스 제어 블록(PCB)

프로세스를 실행하는데 필요한 주요한 정보를 보관하는 자료구조로 TCB(Task Control Block)이라고도 불린다. 모든 프로세스는 고유의 프로세스 제어블록을 가지며, 프로세스 제어블록은 프로세스 생성시 만들어져서 프로세스가 실행완료되면 폐기된다.

즉, PCB란 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓을 수 있는 저장 장소를 뜻합니다.

PCB 구조


  • PID : 프로세스의 고유번호
  • 상태 : 준비, 대기, 실행, 보류 준비, 보류대기 등의 상태
  • 포인터 : 다음 실행될 프로세스의 포인터 ->pcb를 연결하여 준비상태나 대기상태의 큐를 구현할때 포인터 사용
  • Register save area : 레지스터 관련 정보
  • 우선순위 : 스케줄링 및 프로세스 우선순위
  • 할당된 자원정보
  • Account : cpu 사용시간, 실제 사용된 시간
  • 입출력 상태정보: 프로세스에 할당된 I/O디바이스 목록

Context Switching

pcb를 교환하는 과정을 의미합니다. 한프로세스에 할당된 시간이 끝나거나 인터럽트에 의해 발생

1. 프로세스 pcb0를 실행하다가 멈추고, 프로세스 0번을 저장하고 다시 1번 프로세스를 로드하여 실행합니다.
2. 다시 프로세스 1의 pcb를 저장하고 프로세스0의 pcb를 로드합니다.
3. 컨텍스트 스위칭이 일어날때 유휴시간(idle time)이 발생합니다.
4. 또한 캐시미스 역시 발생합니다.

비용 : 캐시미스

컨텍스트 스위칭이 일어날 대 프로세스가 가지고 있는 메모리 주소가 그대로 있으면 잘못된 주소 변환이 생기므로 캐시클리어 과정을 겪게 되고 이 때문에 캐시미스가 발생합니다.

profile
개발새발X발일지
post-custom-banner

0개의 댓글