ABOUT ME

-

Graduate of Computer Engineering at Inha University

https://github.com/juwon0605

devprofessionalism@gmail.com
  • 7.CPU Scheduling
    Computer Science/Operating System 2021. 8. 21. 16:25

     ∙스케줄링
       ∘CPU를 효율적으로 사용하기 위해 프로세스를 배정하는 과정
                -조건: 적은 오버헤드, 높은 사용률, 적은 기아 현상
                -가능하면 많은 일을 수행.
                -빠른 응답 시간, 적은 대기 시간
                -기한(deadline)안에 수행

      ∙프로세스 상태와 상태 전이


      
      ∙비선점 스케줄링
       ➀FCFS(First Come Fist Served)
                -큐에 도착한 순서대로 CPU에 할당
                -실행 시간이 짧은 프로세스가 뒤로 가면 평균 대기 시간이 길어진다.
       ➁SJF(Shrtest Job First)
                -수행시간이 가장 짧다고 판단되는 프로세스를 먼저 수행
                -FCFS 보다 평균 대기 시간 감소. 짧은 작업에 유리

      ∙선점 스케줄링
       ➀Priority Scheduling
                -정적/동적으로 우선순위를 부여하여 우선순위가 높은 순서대로 처리
                -우선 순위가 낮은 프로세스가 무한정 기다리는 기아 현상(Starvation)이 생길 수 있음
                 ->Aging 기법(대기 시간이 늘수록 우선순위 증가)으로 해결
       ➁Round Robin
                -우선순위를 두지 않고, 순서대로 시간단위(Time Quantum/Slice)로 CPU를 할당하는 방식
                -할당 시간이 크면 FCFS와 같게 되고, 작으면 Context Switching이 잦아져서 오버헤드가 
                  증가한다.
       ➂Multilevel Queue(다단계 큐)
                -항상 가장 높은 우선순위 큐의 프로세스에 CPU를 할당
                -우선순위 낮은 큐에서 작성 실행 중이어도 상위 단계의 큐에 프로세스가 도착하면 CPU 
                  할당을 뺏는다.
                -각 큐는 Round Robin이나 FCFS등 독자적 스케줄링 사용 가능
                -큐 간의 이동이 불가능하다.
       ➃Multilevel Feedback Queue(다단계 피드백 큐)
                -다단계 큐에 동적인 프로세스 우선순위를 적용한 스케줄링 기법
                -큐 간의 이동이 가능하다(Aging 기법).
                -자신의 시간 할당량을 다 채운 프로세스는 밑으로 내려가고 다 채우지 못한 프로세스는 원래 
                  큐에 재삽입
                -단계가 내려갈수록 시간 할당량이 증가한다.
                -짧은 작업에 유리하다. 입출력 위주 작업에 우선권을 준다.
                -처리 시간이 짧은 프로세스를 먼저 처리하기 때문에 Turnaround 평균 시간을 줄여준다.

      ∙CPU 스케줄링 척도
        ∘Response Time
                -작업이 처음 실행되기까지 걸린 시간
        ∘Turnaround Time
                -작업이 완료될 때 까지 걸린 시간. 실행 시간과 대기 시간을 모두 합한 시간.

     

    출처

    링크

    'Computer Science > Operating System' 카테고리의 다른 글

    9.경쟁 상태(Race Condition)  (0) 2021.08.23
    8.데드락(Dead Lock)  (0) 2021.08.22
    6.IPC(Inter Process Communication)  (0) 2021.08.20
    5.PCB(Process Control Block), Context Switcing  (0) 2021.08.19
    4.시스템 콜(System Call)  (0) 2021.08.18

    댓글

Designed by Tistory.