Home 운영체제 - Scheduling
Post
Cancel

운영체제 - Scheduling

- 정리의 기반은 학교 강의 노트와 [Operating System Concepts]를 참고하였습니다.

22-1학기 운영체제를 들으면서 중간고사에 대비하면서 정리해놓은 개념들입니다…ㅎ 다른 핵심 내용이나 기본이라고 생각되는 내용들은 제외하고 제가 시험에서 중요하다고 생각하는 것들만 중구난방으로 정리되어있습니다.


Scheduling

Non-Preemptive : 비선점형(프로세스가 직접 점유 포기)
Preemptive : 선점형(운영체제가 cpu 점유 제어)

스케쥴링 알고리즘

  1. FCFS(First-Come-First-Served)
    • convoy effect : 일명 똥차 효과, 앞에 차가 느리게 가면 교통 체증이 일어나듯이, 먼저 들어온 프로세스가 cpu점유를 오래할 경우, 뒷 프로세스의 처리가 늦어진다.
    • Non-Preemptive : 프로세스가 자신의 할 일을 마치면, 자동으로 cpu 점유를 포기한다.
    • Not Optimal : 당연하게도, 최선의 알고리즘이 아니다.
    • no starvation : 기다리면 자신(프로세스)의 순서가 오므로, 기아 현상이 나타나지 않는다.

      Starvation(기아 현상) 특정 프로세스의 우선 순위가 낮아서 자원을 계속 할당받지 못하는 상태



  1. SJF(Shortest-Job-First)
    • Non-Preemptive
    • 기아 현상 발생
    • Not optimal

      Turnaround Time : execute time + waiting time

      = 실행시간 + waiting 큐에서 대기하는 시간



  1. Shortest-next-CPU-burst
    • = SRTF(Shortest-Remaining-Time-First)
    • SJF의 Preemptive 버젼
    • 새로 온 작업이 현재 진행중인 작업의 남은 시간보다 작다면 그 작업을 바로 수행

  2. RR(Round Robin)
    • = Preemptive FCFS with a time quantum
    • Run Queue가 원형 큐
    • Time Slice
    • Preemptive
    • 기아 x
    • response time 향상
    • Quantum size는 context switch time보다 커야한다.
    • SJF보다 turnaround time이 높지만, response time은 더 좋다.

  3. Priority Scheduling
    • 선점 or 비선점 선택 가능
    • 기아 발생
    • 기아 발생을 Aging으로 해결

      Aging이란?
      대기하고 있는 프로세스가 시간이 지나면 나이를 먹는다 -> 나이먹으면 우선 순위가 올라간다.

    • Turnaround time의 최적화
    • response time의 최소화
    • 한계 : 새로 올 작업의 내용을 알지 못함.



  1. MLFQ(Multi-Level-Feedback-Queue)
    • RR + Priority Scheduling
    • 우선 순위대로 Queue를 나눈다.
    • 그 Queue안에 RR



  1. Multiple-Processor Scheduling
    • Load balancing
    • Push migration : task가 overloaded하면, 다른 CPU로 그걸 옮김.
    • Pull migration : busy processor의 waiting task를 가져옴.

Real-Time CPU Scheduling

주어진 시간 내에 task 완료

  1. Soft real-time system
    • 처리 시간이 달라지면 성능이 감소
    • 빨리 하는 대신 데이터를 좀 놓침
    • ex) 영상 스트리밍

  2. Hard real-time system
    • 처리 시간이 달라지면 실패
    • deadline을 지킴
This post is licensed under CC BY 4.0 by the author.