1 / 19

운영체제론 - 4 장 CPU 스케쥴링 -

운영체제론 - 4 장 CPU 스케쥴링 -. 민 주 홍 y2kminju@kunsan.ac.kr Information Sciences & Technology Laboratory 2012.01.05. 목차. 스케쥴링의 개요 스케쥴링의 목적과 기준 스케쥴링 방법 스케쥴링 알고리즘. 스케쥴링의 개요 (1/4). 장기 스케쥴러 (Job scheduler(Long Term Scheduler)) 프로세스를 생성 하고 제거 하는 동작 을 하는 스케쥴러

reba
Télécharger la présentation

운영체제론 - 4 장 CPU 스케쥴링 -

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 운영체제론- 4장 CPU 스케쥴링 - 민 주 홍 y2kminju@kunsan.ac.kr Information Sciences & Technology Laboratory 2012.01.05

  2. 목차 스케쥴링의 개요 스케쥴링의 목적과 기준 스케쥴링 방법 스케쥴링 알고리즘 IST (Information Sciences & Technology) Laboratory

  3. 스케쥴링의 개요(1/4) • 장기스케쥴러(Job scheduler(Long Term Scheduler)) • 프로세스를 생성하고 제거하는 동작을 하는 스케쥴러 • 작업들을 준비(Ready)상태로 전이시키며 제어 코드와 PCB를 연결지어주기억 장치로 이동 시킴 • 단기 스케쥴러(Process Scheduler(Short Term Scheduler)) • 준비상태에있는 여러 개의 프로세스들 중에서 어떤 프로세스에게 CPU를 할당할 것인 가를 결정하는 스케쥴러 • 중기 스케쥴러(Mid-level scheduler(Mid Term Scheduler)) • 실행중인 프로세스를 중지 하거나 다시 활성화 시키는 기법을 사용 • 시스템에 대한 부하의 양을 조절하는 기능 담당 • Swapping기법을 사용 IST (Information Sciences & Technology) Laboratory

  4. 스케쥴링의 개요(2/4) • CPU 스케쥴러 • CPU가 쉬게 될 때마다 운영체제는 준비 큐에 있는 프로세스들 중에서 하나를 선택하여 실행함 • CPU 스케쥴링 이란 • 운영체제가 프로세서를 CPU 스케쥴러에 의해 언제 할당 할지를 결정하고, 자원들을 효율적으로 이용할 수 있도록 관리하는 것 • 프로세서(Processor) 관리자의 구성 • 작업 스케쥴러 : 상위 스케쥴러(High-level scheduler) • 작업 순서대로 작업을 할당 • 작업을 대기하고 있는 큐에서 작업을 선택 프로세스 큐에 가져다 놓음 • 프로세서 스케쥴러: 하위 스케쥴러(lower-level scheduler) • CPU 할당 및 해제 관리 • 지정된 프로세스 스케쥴링 알고리즘에 준하여 수행 IST (Information Sciences & Technology) Laboratory

  5. 스케쥴링의 개요(3/4) 데이터 전송 시 어떤 부분에서 오류가 집중적으로 일어나거나, 주기억 장치의 내용을 캐시 기억 장치에 블록 단위로 한꺼번에 전송하는 것 등을 가리킨다 CPU 버스트 명령 수행 I/O 버스트 입출력 대기 CPU 버스트 명령 수행 I/O 버스트 입출력 대기 • 버스트(burst) • CPU 버스트 • I/O버스트가 한번 수행한 후 다음 번 I/O를 수행하기 까지 직접 CPU를 가지고 명령을 수행하는 일련의 작업 • I/O 버스트 • I/O작업이 요청된 후 완료되어 다시 CPU 버스트로 돌아가기 까지 일어나는 일련의 작업 IST (Information Sciences & Technology) Laboratory

  6. 스케쥴링의 개요(4/4) • 스케줄링의 구조 • CPU 스케쥴링의 결정 4가지 조건 ① 프로세스가 실행 상태에서 대기 상태로 전환될 때 • 입출력 요청이나 자식 프로세스 중 하나가 종료되기를 기다리는 호출 시 발생 ② 프로세스가 실행 상태에서 준비 상태로 전환될 때 • 시간 종료에 의한 외부 인터럽트가 일어날 때 발생 ③ 프로세스가 대기 상태에서 준비상태로 전환될 때 • 입출력의 종료시 발생 한다 ④ 프로세스가 수행을 마치고 종료될 때 • 작업의 완료 시에 발생한다 ①, ④-> 준비상태에 있는 새로운 프로세스 선택 ①, ②-> 비선점 스케줄링 나머지-> 선점 스케줄링 IST (Information Sciences & Technology) Laboratory

  7. 스케쥴링의 목적과 기준(1/2) • 스케쥴링의 목적 • CPU 어떤 한 시점에서는 어느 하나의 프로세스에게만 할당 되기 때문 다른 프로세스가 할당을 기다리게 됨 • 프로세스들이 작업을 수행하려면 실제 CPU를 할당시켜 줘야 함 • 공정한 스케쥴링 • 처리량 극대화 • 우선순위제 실시 • 응답 시간 최소화 • 반환 시간 예측 가능 • 균형 있는 자원 사용 • 무한 연기 배제 • 응답 시간과 자원 이용간의 조화 IST (Information Sciences & Technology) Laboratory

  8. 스케쥴링의 목적과 기준(2/2) • 스케쥴링의 결정 기준 • 프로세스의 I/O 바운드와 CPU 바운드 혼용 • 프로세스의 작업 형태 고려 • 프로세스의 우선순위 고려 • 프로세스의 페이지 부재율 고려 • 프로세스의 자원 선점율 고려 • 프로세스의 버스트 시간 고려 • 프로세스의 잔여 실행 시간 고려 • 스케쥴링의 성능 기준 • CPU 이용률(utilization) • 처리율(throughtput) • 수행 시간(turnaround time) • 대기 시간(waiting time) • 응답 시간(response time) IST (Information Sciences & Technology) Laboratory

  9. 스케쥴링 방법 • 선점 스케쥴링(preemptive scheduling) • 한 프로세스가 CPU를 차지하고 있을 때 다른 프로세스가 현재 프로세스를 중단시키고 자신이 CPU를 차지할 수 있는 기법 • 우선순위가 높은 프로세스가 먼저 수행 • 빠른 응답 시간을 요구하는 시분할 시스템에 유용 • 선점으로 인한 많은 오버헤드를 초래 • 비선점스케쥴링(non-preemptive scheduling) • CPU를 할당 받으면 다른 프로세스는 CPU를 그 프로세스로부터 점유할 수 없는 기법 • 모든 프로세스들에 대한 요구를 공정히 처리한다 • 응답 시간의 예측이 가능하다 • 짧은 작업이 긴 작업을 기다리는 경우가 자주 발생한다 IST (Information Sciences & Technology) Laboratory

  10. 스케쥴링 알고리즘(1/9) • 우선순위 스케쥴링(priority scheduling) • 프로세스에게 우선순위를 부여하여 우선순위가 높은 순서대로 처리 • FIFO & SJF방법 • 비선점스케쥴링 방식 • 정적(static) 우선순위 방법 • 프로세스 실행 중 우선순위가 변하지 않는 것 • 구현이 쉽고 오버헤드가 적음 • 주위 환경의 변화에 쉽게 적응하지 못함 • 우선순위를 변경하지 않는 방법 • 동적(dynamic) 우선순위 방법 • 처음에 정해진 우선순위를 상황에 맞게 계속 조정하여 사용 • 구현하기 복잡하고 오버헤드가 많음 • 상황 변화에 잘 적응함 • 시스템의 응답도를 증가시켜 주므로 효율적 IST (Information Sciences & Technology) Laboratory

  11. 스케쥴링 알고리즘(2/9) • 기한부 스케쥴링(Deadline Scheduling) • 프로세스에게 일정한 시간을 주어 그 시간 안에 프로세스를 완료 하도록 하는 기법 • 프로세스가 제한된 시간 안에 완료되지 않을 경우 제거 또는 처음부터 다시 실행해야 한다 • 시스템은 프로세스에게 할당할 정확한 시간을 추정해야 하며, 이를 위해서 사용자는 시스템이 요구한 프로세스에 대해 정확한 정보를 제공 해야한다 • 기한부 작업들이 동시에 실행되면 스케쥴링이 너무 복잡하게 되고 집중적으로 요구되는 자원 관리에 오버헤드가 발생 • 비선점스케쥴링 방식 IST (Information Sciences & Technology) Laboratory

  12. 스케쥴링 알고리즘(3/9) • 선입처리스케쥴링(First Come First Service Scheduling, FCFS) • 비선점스케쥴링 방식 • 프로세스들은 준비 큐에 도착한 순서대로 CPU를 할당 받음 • 일괄처리 시스템에서 주로 사용, 작업 완료 시간을 예측하기 용이 • 장점 • 알고리즘이 간단 • 대형화 시스템에 적합 • 간단하고 공평 • 반응 속도 예측 가능 • 단점 • 성능(반환 시간)이 좋지 않다 • 즉, Turn-around time 예측 불가능 IST (Information Sciences & Technology) Laboratory

  13. 스케쥴링 알고리즘(4/9) • 순환 할당 스케쥴링(Round Robin Scheduling, RR) • 시분할 시스템(Time Sharing System)을 위해 고안된 방식 • 준비 큐에서 프로세스의 디스 패치가 FCFS 스케쥴링 방법으로 운영됨 • 지정된 시간(Time quantum, Time slice) 동안 모든 작업에게 CPU를 돌아가며 공평하게 할당 • FCFS를 선점 스케쥴링으로 변형시킨 방법 • 장점 • 골고루서비스 가능, 대화식 시스템에 적합 • 단점 • 시간 할당량이 적으면 문맥교환에 많은 시간 낭비 • 시간 할당량(time slice, time quantum) 값 설정 • 일반적으로 100 밀리초에서1, 2초 사이의 값 IST (Information Sciences & Technology) Laboratory

  14. 스케쥴링 알고리즘(5/9) • 최단 작업 우선 정책 (ShortestJob First Scheduling, SJF) • 준비 큐 내의 작업 중 수행시간이 가장 짧다고 판단되는 것을 먼저 수행 • 평균 대기시간을 최소화 시킬 수 있음 • 비선점스케쥴링 방식 • 즉, CPU 사이클 시간의 길이가 작은 것을 우선으로 수행 • 장점 • FCFS보다 평균 대기 시간을 감소 • 짧은 작업에 유리 • 단점 • 큰 작업은 시간 예측이 어려움 IST (Information Sciences & Technology) Laboratory

  15. 스케쥴링 알고리즘(6/9) • 최단 잔여 시간 스케쥴링(Shortest Remaining Time Scheduling, SRT) • SJF스케쥴링 방법을 선점 스케줄링 방식으로 수정한 방법 • 시분할 시스템에 유용하다 • 작업이 끝나기까지 남아 있는 잔여 수행시간이 가장 작은 프로세스를 먼저 실행함 • 장점 • 반환시간 측면에서는 SJF보다 우수 • 단점 • SJF스케쥴링기법 보다 오버헤드가 큼 • 최단 잔여 시간 (SRT : Shortest Remaining Time) • 가장 빨리 종료될 수 있는 작업에 CPU에 먼저 할당 IST (Information Sciences & Technology) Laboratory

  16. 스케쥴링 알고리즘(7/9) • HRN 스케쥴링(Highest Response ratio Next Scheduling) • SJF 스케쥴링의단점을 보완하여 개발된 방법 • 비선점스케쥴링 방식 • 하나의 프로세스가 CPU를 차지하면 완료될 때까지 실행 • 긴 작업과 짧은 작업간의 불평등 완화 • 우선순위를 계산하여 우선순위가 높은 순서로 CPU를 할당 • 우선순위 : (대기시간+버스트 시간)/ 버스트 시간 IST (Information Sciences & Technology) Laboratory

  17. 스케쥴링 알고리즘(8/9) • 다단계 큐 스케쥴링(Multi-level Queue Scheduling, MLQ) • 작업들의 성격에 따라 준비 큐를 여러 종류의 큐로 나누어 이용하는 스케쥴링 • 처리를 원하는 작업들은 각각의 준비 큐에 넣어 두고 각 큐의 독자적인 스케쥴링 알고리즘에 따라서 CPU를 할당하는 방법 • 선점 스케쥴링 방식 • 각 큐 내에서 작업들은 FCFS방식으로 처리 • 5개의 큐로 분할 • 시스템 작업 • 대화형 작업 • 편집 작업 • 일괄처리형 작업 • 학생 작업 IST (Information Sciences & Technology) Laboratory

  18. 스케쥴링 알고리즘(9/9) • 다단계 피드백 큐 스케쥴링(Multilevel Feedback Queue Scheduling, MFQ) • 다단계 큐 스케쥴링의 단점을 보완한 형태의 스케쥴링 방법 • 하위 큐의 무한정 순서를 기다리는 문제를 해결 • 짧은 작업에 유리 • 하나의 분비 상태 큐를 통해서 여러 개의 피드백 큐를 걸쳐 작업을 처리하는 방법 • 선점 스케쥴링 방식 • 준비 큐 사이의 프로세스 이동이 가능하도록 구현하여 입출력 위주의 프로세스와 CPU 위주의 프로세스 특성에 따라서 서로 다른 CPU의 우선순위를 부여 하여 처리 IST (Information Sciences & Technology) Laboratory

  19. 감사합니다 민주홍 y2kminju@kunsan.ac.kr

More Related