프로그램이 메모리에 적재되면 프로세스가 된다. 실행 중인 프로그램
운영체제로부터 주소 공간, 파일, 메모리 등을 할당받으며 이것들을 총칭하여 프로세스라고 한다.
CPU는 한 순간에 하나의 프로세스만 실행할 수 있는데 빠르게 프로세스를 교체하고 있기 때문에 동시에 실행되는 것 처럼 느낀다.
프로세스에 대한 정보는 프로세스 제어 블록(PCB, Process Control Block)에 저장된다.
운영체제는 프로세스를 관리하기 위해 프로세스의 생성과 동시에 고유한 PCB 를 생성한다.
프로세스는 CPU 를 할당받아 작업을 처리하다가도 프로세스 전환이 발생하면 진행하던 작업을 저장하고 CPU 를 반환해야 하는데, 이때 작업의 진행 상황을 모두 PCB 에 저장하게 된다. 그리고 다시 CPU 를 할당받게 되면 PCB 에 저장되어있던 내용을 불러와 이전에 종료됐던 시점부터 다시 작업을 수행한다.
PCB 에 저장되는 정보
운영체제는 프로세스의 상태를 실행, 준비, 블록 상태로 나눈다.
사용자가 프로그램을 실행하면 프로세스가 생성되고 준비리스트에 추가된다. 그 다음 CPU를 할당받으면서 실행 상태가 된다.
이 과정을 디스패칭이라고 하고 디스패처가 이 일을 수행한다.
연산을 하고 CPU를 반납하게 된다. 작업이 끝나지 않으면 다시 준비상태로 돌아간다.