CS지식/운영체제

TIL 정리_82(운영체제)

ran4 2022. 5. 9. 11:46

http://www.kocw.net/home/m/search/kemView.do?kemId=1046323

운영체제 강의를 듣고 정리한 내용입니다

 

Priority Scheduling

우선순위 스케줄링

우선순위가 높은 프로세스에게 CPU를 할당한다

우선순위는 정수값으로 표현된다 (작은숫자가 높다)

- preemptive

- nonpreemptive

 

SJF 스케줄링도 일종의 우선순위 스케줄링이다

문제점 : 경우에따라 영원히 할당받을 수 없을정도로 우선순위가 밀릴 수 있다

해결 : Aging을 사용한다

 

Aging(에이징) 

아무리 우선순위가 낮은 프로세스여도 기다리는 시간이 길어질수록 우선순위를 앞당겨준다

 

 

Round Robin 스케줄링

각 프로세스는 동일한 크기의 할당시간을 가진다 (time quantum)

할당 시간이 지나면 프로세스는 preempted되고

ready queue의 제일 뒤에 가서 다시 줄을 선다.

어떤 프로세스도 (n-1)q time unit이상 기다리지 않는다

-> 응답 시간이 빠르다는 장점이 있다

 

CPU를 길게 사용하는 프로세스는 기다리는 시간이 길고,

짧게 쓰는 프로세스는 기다리는 시간이 짧다 -> 비례한다

q large -> FCFS

q small -> context switch //오버헤드가 커진다

 

일반적으로 SJF보다 평균 timearound 시간이 길지만 응답 시간은 짧다

 

 

Multilevel Queue

프로세스가 줄을 서게 될 때 줄마다 우선순위가 존재한다

  1. System processes
  2. interactive processes
  3. interactive editing processes
  4. batch processess
  5. student processes

 

Ready queue를 여러 개로 분할한다

- foreground(interactive)

- background(batch no human interaction)

각 큐는 독립적인 스케줄링 알고리즘을 가졌다

foreground RR

background FCFS

큐에 대한 스케줄링이 필요하다

- Fixed priority scheduling

우선순위가 높은 프로세스에 할당한다

time slice

각 큐에 CPU time을 적절한 비율로 할당한다

 

-> Round Robin에 비교하면 할당에 차별이 있는 방식이다

 

Multilevel Feedback Queue

프로세스가 다른 큐로 이동 가능하다

-> 에이징(aging)을 이와 같은 방식으로 구현할 수 있다

 

Multilevel-feedback-queue 스케줄러를 정의하는 파라미터들

  • Queue의 수
  • 각 큐의 scheduling algorithm
  • Process를 상위 큐로 보내는 기준
  • Process를 하위 큐로 내쫓는 기준
  • 프로세스가 CPU 서비스를 받으려 할 대 들어갈 큐를 결정하는 기준

'CS지식 > 운영체제' 카테고리의 다른 글

TIL 정리_84  (0) 2022.05.11
TIL 정리_83  (0) 2022.05.10
TIL 정리_77  (0) 2022.05.04
TIL 정리_76  (0) 2022.05.03
TIL 정리_75  (0) 2022.05.02