CS/OS

[ 운영체제 ] PCB ( Process Control Block )

IT록흐 2021. 9. 29. 21:20
반응형

프로세스(Process)란? 

 

하드웨어는 한정되지만 소프트웨어는 무한하다. 운영체제는 하드웨어 자원이 효율적으로 사용되도록 소프트웨어를 번갈아 가면서 실행시켜야 한다. 하드웨어 중 가장 핵심이 되는 부품은 CPU이다. 이를 '처리기'라 부르겠다.  처리기는 프로그램을 '프로세스(Process)' 단위로 처리한다. 그러므로 프로그램은 '프로세스'로 구현되기에 프로세스를 프로그램의 '인스턴스'라고도 부른다.

 

운영체제는 처리기의 이용률을 극대화 할 수 있도록 여러 프로세스 수행을 인터리빙(interleaving)한다.

 

위키피디아 '메모리 인터리빙'

위 그림은 메모리 인터리빙의 모습이다. bank1, bank2, bank3, bank4 는 서로 다르지만 메모리 주소를 번갈아가면서 부여받는다. 그래야 처리기가 여러 개의 프로세스를 순차적으로 접근하여 빠르게 처리할 수 있다. 처리기는 하나의 프로세스를 완료시키고 다음 프로세스를 완료하는 방식으로 처리하지 않는다. 하나의 프로세스 실행 중 시간이 만료되면 다른 프로세스로 처리기 자원을 넘긴다. 이처럼 한정된 처리기 자원을 여러 프로세스가 공유하기위해, 운영체제는 이를 효율적으로 제어해야 한다.

 

PCB ( Process Control Block )

 

운영체제가 프로세스를 제어하려면 먼저 프로세스를 '식별'해야 한다. 그러나 프로세스는 프로그램의 일부로 용량이 방대하다. 그러므로 프로세스를 대변할 데이터가 있어야 하는데, 그것이 바로 PCB ( Process Control Block )이다. PCB는 프로세스의 정보를 담은 구조체이다.  PCB는 중요한 정보이므로 다른 프로세스가 접근 못하도록 OS 커널 메모리에 저장된다. OS는 프로세스 테이블을 만들어 PCB를 관리한다. 

 

 

이로써 OS가 PCB를 통해 Process에 접근할 수 있게 되었다. 이제 OS는 PCB를 활용하여 처리기의 문맥교환(Context Change)를 수행한다. 문맥교환을 통해 처리기의 인터리빙이 구현된다. 문맥교환의 원리를 자세히 이해하기 위해서는 PCB 구조체에 어떤 데이터가 저장되는지를 알아야 한다. 이는 다음 포스팅에서 다루겠다. 

 

 


 

참고자료

 

 

운영체제

컴퓨터 공학 전공자들을 위한 운영체제 내부구조 및 설계원리를 소개하는 책이다.

book.naver.com

 

프로세스 제어 블록 (PCB: Process Control Block) 알아보기

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

yoongrammer.tistory.com

 

kernel of linux - Process Management(1)

요번 강의는 저번 시간에 설명한 fork() 내용의 복습과, PCB의 상세 내용 그리고 clone 에 대해서 설명한다. 1. fork() 복습 저번 정리에서 충분히 설명을 했으므로 간단하게만 정리하겠다. 커널안에 int

wogh8732.tistory.com

 

 

 

반응형