* 프로세스 : 메모리에 올려져서 실행중인 프로그램은 프로세스라고 함 -> 작업,task,job이라는 용어와 혼용
* 응용 프로그램 != 프로그램
- 응용 프로그램은 여러 개의 프로세스로 이루어질 수 있음
- 하나의 응용 프로그램은 여러 개의 프로세스(프로그램)가 상호 작용을 하면서 실행 될 수 있음(IPC 기법)
* 스케줄러 : 프로세스 실행을 관리
* FIFO 스케줄러 : 프로세스가 저장매체를 읽는다든지, 프린팅 작업 X
쭉 CPU를 처음부터 끝까지 사용한다.
- 가장 간단한 스케줄러(배치 처리 시스템)
- FCFS(First Come First Served) 스케줄러
Processes
3 | 2 | 2 | 2 | 1 |
↓
CPU
1 | 2 | 2 | 2 | 3 |
* 최단 작업 우선(SJF) 스케줄러
- SJF(Shortest Job First) 스케줄러 - > 가장 프로세스 실행시간이 짧은 프로세스부터 먼저 실행을 시키는 알고리즘
Processes CPU
3 2 2 2 1 1 -> SJF 3 1 1 2 2 2
* 우선순위 기반 스케줄러(Priority-Based)
- 정적 우선순위 : 프로세스마다 우선순위를 미리 지정
- 동적 우선순위 : 스케줄러가 상황에 따라 우선순위를 동적으로 변경
Processes CPU
3(10)-2(20)-2(20)-2(20)-1(1) 2-2-2-3-1
*Round Robin 스케줄러
- 시분할 시스템을 위해 설계된 선점형 스케줄링의 하나로서, 프로세스들 사이에 우선순위를 두지 않고, 순서대로 시간단위(Time Quantum)로 CPU를 할당하는 방식
시간을 쪼개서 CPU를 공평하게 할당
Processes CPU
3 3 2 2 2 1 1 -> 1 2 3 2 3 2
'운영체제' 카테고리의 다른 글
[운영체제 8] 프로세스 상태 (0) | 2021.05.04 |
---|---|
[운영체제 6] 스케줄링 알고리즘 (0) | 2021.04.01 |
[운영체제 5] 운영체제 구조 (커널모드) (0) | 2021.04.01 |
[운영체제 4] 운영체제 구조 (시스템 콜) (0) | 2021.04.01 |
[운영체제 3] 시대별 흐름 및 핵심 기술 (2) (0) | 2021.03.31 |