728x90
반응형
스케줄링 알고리즘은 프로세스를 어떻게 실행시킬지 결정하는 방법이다.
시분할 시스템은 프로세스 응답 시간을 짧게, 멀티 프로그래밍은 CPU 활용도를 최대로 높혀서 프로세스를 빨리 실행하는 것이 목표이다. 각 알고리즘은 이와 같은 목표를 갖고 있다.
1. FIFO 스케쥴러
: 프로세스가 저장매체를 읽거나 프린팅을 할 때 쭉 CPU를 끝까지 사용한다.
가장 간단한 스케쥴러로 FCFS라고도 불린다.
다음과 같은 우선순위를 갖는 process가 있을 때 스케쥴링 알고리즘에 따라 작업 실행 순서는 다르다.
2. SJF 최단 작업 우선 스케쥴러
: 가장 프로세스 실행시간이 짧은 프로세스부터 먼저 실행을 시키는 알고리즘이다.
3. 우선순위 기반 스케쥴러
- 정적 우선순위 : 프로세스마다 우선순위를 미리 지정
- 동적 우선순위 : 스케쥴러가 상황에 따라 우선순위를 동적으로 변경
4. Round-Robin 스케쥴러
: 시분할 시스템 기반의 스케쥴러로, 프로세스를 실행하다가 일정 시간이 지나면 기존 프로세스는 Queue에 넣어둔 후, 다른 프로세스를 실행한다.
5. 멀티 프로그래밍과 Wait
멀티 프로그래밍 : CPU 활용도를 극대화하는 스케쥴링 알고리즘
RUN을 계속적으로 넣어서 100%가동을 해주는 것이 목표이다.
6. 프로세스 상태
running state : 현재 CPU에서 실행 상태
ready state : CPU에서 실행 가능 상태
block state : 특정 이벤트 발생 대기 상태
728x90
반응형
'Computer Science > 운영체제' 카테고리의 다른 글
06. 인터럽트 (0) | 2021.07.31 |
---|---|
05. 프로세스 상태와 스케쥴러 (0) | 2021.07.26 |
03. 프로세스 스케쥴링 (0) | 2021.07.18 |
02. 운영체제 구조 (0) | 2021.07.15 |
01. 운영체제 역할과 응용 프로그램 (0) | 2021.06.21 |