프로세스 vs 프로그램

프로세스 : program in execution.

프로그램: 하드디스크 상 죽은 상태의 프로그램.

프로세스가 가지는 상태는 다음과 같다.

new: 메인 메모리로 올라 온 상태.

ready: 실행 준비를 위한 모든 초기화 끝난 상태.

running: CPU가 실제로 실행하는 상태,

waiting: I/O 작업으로 CPU가 다른 앱에 서비스.

terminated.


PCD: 각 프로세스 마다 할당.

OS의 프로세스 관리부 안에 존재.

해당 부분에 각 프로세스들에 대한 정보가 메모리에 존재.

각 프로세스에 대한 모든 정보가 포함.

프로세스 정보

  1. 현재 상태
  2. 번지정보

상태 변경으로 인해 돌아왔을 때 지속적 실행을 위해

프로세스 정보가 필요하다.

MMU 존재.

CPU Time : CPU 사용량.

PID: 프로세스 고유 번호.


잡 큐

어떤 놈을 먼저 메인 메모리에 올릴 것인가?

잡 스케쥴러 == 롱텀 스케쥴러.. 더디게 일어난다. (왜 메인메모리가 꽉차있으면 비워져야 가능)- OS의 프로세스 관리 부서에 포함.


레디 큐

메인 메모리에 올라와있는 프로세스들이 CPU 할당을 줄서서 기다리는 것

어떤 프로세스에게 우선적으로 CPU를 할당할 것인가?

CPU 스케쥴러.== 숏텀 스케쥴러.. 굉장히 빈번하게 스위칭이 발생 (일초에 수십번 ~ 수백번)- OS의 프로세스 관리부서에 포함.


I/O 요청에 대한 대기 줄.

디바이스 큐

디스크를 사용할려는 프로세스가 많다.

어느 놈을 먼저 서비스 해 줄것인가

디바이스 스케쥴러 - 디스크 스케쥴러, 프린터 스케쥴러.. 등.

프로세스의 성격에 따른 분류

I/O bound process: 주로 입출력 하는 프로세스 == 워드 프로세스

CPU bound process: 슈퍼컴퓨터 사용하는 프로세스 == 일기 예보 프로그램.


기타 알아두어야할 용어.

Degree of Multiprogramming : 프로세스 수.

Swap Out : 활동이 없는 메인 메모리 상주 프로세스를 하드 디스크(스웹 디바이스)쫓아내는 것.

미디움텀 스케쥴러: OS가 어떤 프로세스를 Swap Out할 것인지 결정하는 역할 -

References