본문 바로가기

C.E/OS

Process - Process Control Block(PCB)

Process Control Block(PCB)

 

PCB(또는 Task Control Block,TCB)는 Process들에 대한 정보를 저장해 놓은 일종의 구조체 형식의 자료이다.

 

이러한 PCB는 각각의 Process에 대한 상태를 저장해 놓음으로써 효율적인 관리를 도와준다.

 

 

 

위의 사진은 PCB가 어떠한 정보를 가지고 있는지 그림으로 표시한 것이다,

 

Process State : 저번 포스트에서 올렸던 Process State에 관한 정보이다.

 

Process Counter : 해당 Process가 다음에 실행할 명령어 주소이다.

 

CPU Scheduling Information : 프로세스의 우선순위, Scheduling queue의

 

포인터와 기타 Parameter의 관한 정보이다.

 

Memory Management : Base, Limit Register의 정보와 Page 또는 Segment Table의 관한 정보이다

 

Accounting Information : 사용한 CPU시간, Timer, Process Number등에 관한 정보이다.

 

I/O State Infomation : 해당 Process에 할당된 I/O장치의 리스트와 Open된 File에 대한 정보이다.

 

이러한 PCB가 어떻게 사용되는지 그 절차는 아래의 그림과 같다.

 

 

 

위의 그림을 보면 이전의 PCB를 Save하고 새로운 PCB를 Load하는 것을 볼 수 있다.

 

이러한 일련의 처리를 Context Switch라고 한다. 하지만 이러한 Context Switch동안에 CPU는 아무런

 

처리를 하지 않는다. 이러한 이유로 Context Switch는 Overhead이다. 대략 Context Switch에 걸리는 시간은

 

1 ~ 1000 m-second 정도 걸린다. 이러한 시간은 하드웨어의 명령어 제공 유무등에 따라 다르다.

 

 

'C.E > OS' 카테고리의 다른 글

Process - Schedulers  (0) 2013.12.09
Process - Process Scheduling  (0) 2013.12.09
Process - Process State  (0) 2013.12.09
System Structure - System Generation  (0) 2013.12.09
System Structure - System Design  (0) 2013.12.09