프로세스

실행중인 프로그램을 뜻합니다. 디스크로부터 메모리에 적재되어 CPU의 할당을 받은 작업의 단위입니다. 운영체제로부터 시스템 자원을 할당받죠.

할당받는 시스템 자원은 다음과 같습니다.

  1. CPU 시간
  2. 운영되기 위한 주소공간
  3. Code, Data, Stack, Heap의 구조로 되어있는 독립된 메모리 영역

프로세스 특징

프로세스 제어블록(PCB)

PCB는 특정 프로세스에 대한 중요 정보를 저장하고 있는 커널내의 자료구조입니다. OS는 프로세스를 관리하기 위해 프로세스의 생성과 동시에 고유한 PCB를 생성하죠.

구체적으로 들여다볼까요. 프로세스는 CPU를 할당받아 작업을 처리합니다.

하지만 CPU를 혼자 독점할 수는 없기에 프로세스 전환이 발생하게 되죠. 이경우 진행하던 작업을 어딘가에 저장해야겠죠? 이때 PCB에 작업의 진행상황을 저장하게 됩니다.

그리고 다시 CPU를 할당받을 때 PCB에 저장되어있던 내용을 불러와 다시 작업을 수행하죠.

PCB에 저장되는 정보

  1. PID : 프로세스 식별 번호입니다.
  2. 프로세스 상태 : new, ready, running, waiting, termincated
  3. PC : 프로그램 카운터로 프로세스가 다음에 실행할 명령어 주소를 가리킵니다.
  4. CPU레지스터