프로그램과 프로세스의 차이? :
프로그램은 저장장치에 저장되어 있는 정적인 상태이고, 프로세스는 실행을 위해 메모리에 올라온 동적인 상태이다.
note : Queue?
큐는 먼저 들어온 데이터가 먼저 바져나가는 자료 구조이다. 반대로 스택은 먼저 들어온 데이터가 마지막에 바젼간다. 큐는 양쪽이 뚫려 있는 파이프, 스택은 한쪽만 뚫려 있는 파이프라고 생각하면 된다.
프로세스는 컴퓨터 시스템의 작업 단위로 Task라고도 부른다.
운영체제는 프로그램을 메모리의 적당한 위치로 가져온다. 그와 동시에 작업지시서를 만드는데 이를 프로세스 제어 블록(PCB)라고 부른다.
PCB는 프로세스를 처리하는 데 필요한 다양한 정보가 들어있다. PCB가 없으면 프로그램이 프로세스로 전환되지 못한다.
프로세스 제어 블록에 있는 대표적인 세 가지는 다음과 같다.
결론 : 하나의 프로세스를 실행하려면 프로세스 구분자, 메모리 관련 정보, 프로그램 카운터와 각종 레지스터 같은 중간값을 관리해야 한다. 이를 제어하는 것은 PCB(중간 제어 블록)이다.
프로세스 = 프로그램 + 프로세스 제어 블록