본문 바로가기
  • 실행력이 모든걸 결정한다
OS 개념 정리

[OS] Scheduling

by 김코더 김주역 2021. 5. 19.
반응형

1. Scheduling이란?

한 개 이상의 프로세스들을 CPU에 할당하는 방식

쉽게 말하면, 하나의 CPU를 여러 프로세스들이 어떤 규칙으로 돌려 쓸 것인지 정하는 방식이다.

자원 관리 방식에는 시간 분할과 공간 분할이 있는데 스케쥴링이 시간 분할에 해당된다.

 

 

2. 시스템 성능 지표

  • 응답 시간(요청~응답)
  • 작업 처리량 : 단위 시간동안 완료된 작업의 수
  • 자원 활용도 : 주어진 시간동안 자원이 활용된 시간
  • 공평성

스케쥴링 기법은 위의 [시스템 성능 지표]를 고려하여 선택한다.

 

 

3. Scheduling 용어

  • 대기 시간(Waiting Time) : 프로세스가 대기열에서 대기한 시간
  • 실행 시간(Burst Time) : 프로세스를 처리하는데 드는 시간
  • 응답 시간(Response Time) : 대기열 도착 ~ 첫 번째 출력
  • 반환 시간(Turn-around Time) : 대기열 도착 ~ 실행 종료
  • 정규화 반환 시간(Normalized Turn-around Time) : 실행 시간 대비 반환 시간 (반환 시간/실행 시간)
  • 오버헤드(Overhead) : 부가적인 처리시간
  • 선점(Preemptive) : 자원을 빼앗을 수 있는 것(할당 시간 종료, 우선순위가 높은 프로세스 등장에 의해). Context switch overhead는 많고, 시분할 시스템과 실시간 시스템에 적합
  • 비선점(Non-preemptive) : 자원을 빼앗을 수 없는 것. Context switch overhead는 적고, 우선 순위 역전은 잦고, 평균 응답시간은 증가

 

4. Scheduling 기준

  • I/O-bounded vs compute-bounded : 입출력이 성능을 결정 vs 연산이 성능을 결정
  • Batch system vs interactive system
  • 긴급성 : Real time 요구 강도
  • 우선 순위 : 정적 우선 순위, 동적 우선 순위가 있음
  • 총 실행 시간

 

 

5. Scheduling 단계

  • Long-term : Job scheduling. Kernel에 등록할 작업 결정
  • Mid-term : Swapping. 메모리 할당 결정
  • Short-term : Process scheduling, dispatch

 

 

6. Scheduling 알고리즘

1) FCFS(First Come First Service)

선착순 알고리즘

- 비선점

- Interactive system보다는 Batch system에 적합

- 장점 : 구조가 단순하기 때문에 자원을 효율적으로 사용 가능

- 단점 : 긴 평균 응답 시간, Convoy effect(대기시간>실행시간) 발생 가능성

 

2) RR(Round Robin)

먼저 온 순으로 원을 그리듯 돌려쓰는 알고리즘

- 선점

- 대화형, 시분할 시스템에 적합

- 장점 : 차례마다 자원 사용 제한 시간(Time quantum)이 있기 때문에 독점(monopoly) 방지 역할을 함

- 단점 : Context switch overhead가 큼

 

※ Time quantum이 무한에 수렴 -> FCFS

※ Time quantum이 0에 수렴 -> Processor sharing

 

3) SPN(Shortest Process Next)

실행 시간이 가장 짧은 프로세스를 먼저 처리하는 알고리즘

- 비선점

- SJF(Shortest Job First)

- 장점 : 평균 대기 시간과 시스템 내 프로세스 수가 최소화되어 스케쥴링, 메모리, 시스템의 효율이 향상됨

- 단점 : 실행 시간이 긴 프로세스는 자원을 할당 받지 못할 가능성이 있음(Starvation=기아 현상, 무한대기 현상), 실행 시간 예측 기법 필요

 

4) SRTN(Shortest Remaining Time Next)

잔여 시간이 더 적은 프로세스가 선점하는 알고리즘

- SPN의 변형 기법(비선점->선점)

- 선점

- 장점 : SPN의 장점 극대화

- 단점 : 잔여 시간을 계속 추적(overhead)해야 하고 Context switching overhead가 크기 때문에 구현 및 사용이 비현실적, 실행 시간 예측 기법 필요

 

5) HRRN(High Response Ratio Next)

응답률이 높은 프로세스를 우선으로 하는 알고리즘

- SPN의 변형 기법(Aging 개념 도입)

- 비선점

- Response ratio(응답률) = (대기 시간+실행 시간)/실행 시간

- 많이 기다린 프로세스에게 기회를 제공

- 장점 : SPN의 장점 + Starvation 현상 방지

- 단점 : 실행 시간 예측 기법 필요

 

* 고려 방식

  • 공평성 : FCFS, RR
  • 효율성, 성능 : SPN, SRTN, HRRN

 

6) MLO(Multi Level Queue)

별도의 Ready Queue를 가지는 알고리즘

- 여러개의 Queue를 두는 기법

- 최초 배정 된 Queue는 벗어나지 못함

- Queue 사이에는 우선 순위 기반의 스케쥴링 사용

- 장점 : 빠른 응답 시간

- 단점 : 여러개의 Queue 관리로 인한 스케쥴링 overhead, 우선순위가 낮은 queue에 대한 starvation 현상 가능성 존재

 

7) MFO(Multi-level Feedback Queue)

Queue간 이동이 허용된 MLG

- Feedback(현재까지의 패턴 활용)을 통한 우선 순위 동적 조정

- 선점

- 장점 : 시스템의 변화에 대한 적응력 향상, 실행 시간 예측 기법 필요 없이 SPN, SRTN, HRRN의 효과를 볼 수 있음

- 단점 : 설계 및 구현이 복잡, 여러개의 Queue 관리로 인한 스케쥴링 overhead, 우선순위가 낮은 queue에 대한 starvation 현상 가능성 존재

- 성능 향상을 위한 기법1 : 각 준비 큐마다 시간 할당량을 다르게 배정하여, 프로세스의 특성에 맞는 형태로 시스템을 유연하게 운영 가능

- 성능 향상을 위한 기법2 : CPU를 짧게 쓰는 I/O Bounded 프로세스는 상위 단계의 Queue로 이동, CPU를 길게 쓰는 Computed-Bounded 프로세스는 하위 단계의 Queue로 이동 -> 평균 응답 시간 단축

- 성능 향상을 위한 기법3 : Aging 기법을 도입하여 대기 시간이 지정된 시간을 초과한 프로세스들은 상위 큐로 이동

 

 

 

이미지 출처 : 한빛 미디어 운영체제

참고 자료 : 김덕수 교수님 - www.youtube.com/playlist?list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN

반응형

'OS 개념 정리' 카테고리의 다른 글

[OS] 동기화(2) - OS Solutions  (0) 2021.05.28
[OS] 동기화(1) - 동기화 기초, SW/HW Solutions  (0) 2021.05.24
[OS] Thread  (0) 2021.05.13
[OS] 프로세스  (0) 2021.05.12
[OS] 운영체제와 하드웨어 기본  (0) 2021.05.07

댓글