스케쥴링 알고리즘 기본2

2021. 2. 20. 20:34Computer(인강)/운영체제

728x90
반응형

안녕하세요 bannavi입니다 ^ㅅ^

오늘은 두가지 개념을 먼저 살펴보고 알고리즘 기본의 두번째 시간으로 넘어가볼게요

 

RealTime OS(RTOS): 응용 프로그램 실시간 성능 보장을 목표로 하는 OS

-> 특정 프로그램이 언제 시작하고 완료할지 보장!

몇시몇분 몇초에 시작해서 몇시몇분 몇초에 끝나야 하는..작업을 할때 유용해요!

 

프로세스 실행시간을 알 수 있기도 해서 지난번에 공부했던 SJF도 사용해볼 수 있다고 합니다.

그리고 RealTime OS는

Hardware RTOS, Software RTOS로 나뉜다고 하네요.

 

아하~ RealTime OS가 시간에 민감한 프로세스들이 동작해야하는 시스템에서 사용하는 거구나~~

라는걸 캐치하고 넘어가 주세요!

 

General Purpose OS(GPOS): 프로세스 실행시간에 매우 민감하지 않고, 일반적인 목적으로 사용되는 OS, 예: Windows, Linux 등

 

자 이렇게 두가지를 살펴봤네요.

이제 알고리즘 기본 2시간으로 넘어가 봅시다!^ㅅ^

 

 

우선순위 기반 스케쥴러

(Priority-Based 스케쥴러)

 

정적 우선순위 : 프로세스마다 우선순위를 미리 지정(빨간색이 우선순위. 숫자가 높은게 우선순위가 높다고 가정.)

 

동적 우선순위 : 스케쥴러가 상황에 따라 우선순위를 동적으로 변경

 

 

 

 

 

Round Robin 스케쥴러

 

시분할 시스템을 기반으로 하여 프로세스가 끝나지 않아도 1초면 넘겨준다

queue랑 같음. 1초면 끝난것

 

아래의 그림을 보면서 실행이 아직 덜된건 RRQueue뒤에 계속쌓여가면서 실행된다고 생각하기. 

 

정리해보기

다양한 기본 스케쥴링 알고리즘

 

1. FIFO(FCFS) 스케쥴링 알고리즘(배치 처리 시스템)

2. 최단 작업 우선(SJF) 스케쥴링 알고리즘

3. 우선순위 기반 스케쥴링 알고리즘(정적 우선순위와 동적 우선순위)

4. Round Robin 스케쥴링 알고리즘(시분할 시스템 기반)

 

728x90
반응형