[운영체제] 프로세스 관리
프로세스 vs 프로그램
프로세스 : program in execution.
프로그램: 하드디스크 상 죽은 상태의 프로그램.
프로세스가 가지는 상태는 다음과 같다.
new: 메인 메모리로 올라 온 상태.
ready: 실행 준비를 위한 모든 초기화 끝난 상태.
running: CPU가 실제로 실행하는 상태,
waiting: I/O 작업으로 CPU가 다른 앱에 서비스.
terminated.
PCD: 각 프로세스 마다 할당.
OS의 프로세스 관리부 안에 존재.
해당 부분에 각 프로세스들에 대한 정보가 메모리에 존재.
각 프로세스에 대한 모든 정보가 포함.
프로세스 정보
- 현재 상태
- 번지정보
- …
상태 변경으로 인해 돌아왔을 때 지속적 실행을 위해
프로세스 정보가 필요하다.
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할 것인지 결정하는 역할 -