1. 스케줄링의 목적  공정한 스케줄링  균형 있는 자원 사용(유휴상태 자원이 없도록)

Slides:



Advertisements
Similar presentations
컴퓨터와 인터넷.
Advertisements

제 4 장 프로세스 Section 1 프로세스의 개념 Section 2 프로세스 스케줄링
• 수학 • 6학년 나단계 • 7. 연비>1/9 홈 두 수의 대응 관계를 , 를 사용한 식으로 나타내기 수업활동 수업계획.
5장: 프로세스 스케줄링.
Operating Systems Chapter 04 CPU 스케줄링.
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
운영체제 레프토 (4장 CPU 스케줄링) b반 박상수.
제 2 장 프로세스 관리 2.1 개요 프로세스 스케줄링은 준비완료(ready) 상태에 있는 프로세스들 중 어느 것을 중앙처리장치에 할당시킬 것인가를 결정 중앙처리장치 처리율(throughput)의 최대화와 반환 시간(turnaround time)의 최소화 2.2 프로세스.
제 5 장 프로세스 스케줄링.
프로세스 관리.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
1. 스케줄링 개요 [그림 6-16] 프로세스의 반환, 대기, 반응 시간
6 단일 프로세서 스케줄링.
운영체제 4장 요약정리(CPU 스케줄링) 2A 박훈.
운영체제 Operating System 김민구 · 이보라 · 송강산 · 이해인 · 은혁진 · 박종빈.
운영체제 (Operating System) (하드웨어와 응용 프로그램 사이의 인터페이스 역할을 담당하는 시스템 소프트웨어)
04 CPU 스케줄링 CPU Scheduling
Windows Server 장. 사고를 대비한 데이터 백업.
Chapter 02 순환 (Recursion).
리눅스 커널의 이해 중에서 10장. 프로세스 스케줄링 이명수 시스템 소프트웨어 실험실.
Chapter 06 프로세스와 예약작업 관리 Solaris 1. 프로세스 관리
제3,4,5장 프로세스, 스레드 관리 CPU 스케줄링.
Sungkyunkwan University OS Project Dongkun Shin
보조저장장치 구조(Secondary Storage Structure)
4장 CPU 스케줄링 B 양희수.
2장 프로세스 과목: 운영체제 학번: 이름:오승현.
2주차 운영체제-프로세스 2-B 장정훈.
Operating system #2 Process
자바 5.0 프로그래밍.
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
메모리 관리 & 동적 할당.
Quiz #7 다음 수들을 합병 정렬과 퀵 정렬 알고리즘을 이용하여 오름 차순으로 정렬하였을 때, 데이터 이동 회수를 각각 구하라. 여러분은 정렬 과정을 단계별로 보이면서 이동 회수를 추적해야 한다. 단, 퀵 정렬시에 피봇으로 배열의 왼쪽 첫 번째 원소를 선택한다. 5.
뇌를 자극하는 Windows Server 2012 R2
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
2.1 개요 ★TIP 프로세스란? 부팅 실행중인 프로그램, 비동기적 행위 등
자바 5.0 프로그래밍.
2. 프로세스 관리 프로세스 중단과 재시작 중단과 재시작을 추가한 프로세스 상태 변화
7장 주기억장치 관리 A박도하.
볼링게임 시스템 3조 오지연, 손수경.
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
2. 스케줄링 알고리즘 다단계 피드백 큐 스케줄링 다단계 큐 스케줄링 : 작업이 시스템에 들어가면 한 큐에서만 고정되어 실행 됨. 전면작업과 후면작업에 대한 독립된 큐가 있어도 작업은 한 큐에서 다른 큐로 옮겨지지 않 음. (작업이 시스템에 들어가면 한 큐에서만 고정되어.
6 단일 프로세서 스케줄링.
제4장 CPU 스케줄링 이나현.
운영체제(CPU) 국지웅.
Linux/UNIX Programming
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
문서 클러스터링 일본언어문화학과 서동진.
Chatpter 06 프로세스 스케줄링 01 스케줄링의 이해 02 스케줄링 알고리즘 02 스케줄링 알고리즘의 평가 요약
5장. 선택 알고리즘.
CPU 스케줄링  이성연.
Chapter 10 데이터 검색1.
System Security Operating System.
9 브라우저 객체 모델.
제4장 CPU 스케쥴링 운영체제 1-C반 박소라.
엔코더 프로그램 설명 // 쓰레드를 사용하기 때문에 변수와 핸들을 전역변수로 지정 HANDLE hDevice;
Completion Port기반의 채팅프로그램
과 목 명 : 운영체제 담당교수 : 박 승 기 학 과 : 컴퓨터 소프트웨어 학 번 : 이 름 : 최 현 식
스케줄링 2A 박남규.
Team Project no.1 Airport Simulation 예쁜 훈쌤 김영훈 이준영 황정아.
4장 CPU 스케줄링 B 정은태.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
교착 상태 해결 : 교착 상태 탐지 교착 상태 탐지(Deadlock Detection)
2. 프로세스 B 안우진 - 운영체제 -.
CPU 스케줄링 과 목 명 : 운영체제 교 수 님 : 박승기교수님 학 과 : 컴퓨터소프트웨어 학번(반) : C
CPU 스케줄링 장우영.
4.CPU스케줄링 교과명 : 운영체제 학 과 : 컴퓨터 소프트웨어 학 번 : 이 름 : 최 은 선
디 코 더 n비트의 2진 코드를 입력으로 받아들여 최대 2n개의 서로 다른 정보로 바꿔 주는 조합 회로
디스크 스케줄링 학번 : 이름 : 조장호.
Chapter5 디스크 스케줄링 조은성.
Presentation transcript:

1. 스케줄링의 목적  공정한 스케줄링  균형 있는 자원 사용(유휴상태 자원이 없도록) Section 2 프로세스 스케줄링 1. 스케줄링의 목적  공정한 스케줄링  균형 있는 자원 사용(유휴상태 자원이 없도록)  응답 시간과 자원 이용간의 조화(trade off)  응답 시간 최소화  처리량 극대화 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

2. 스케줄러의 구조와 스케줄링 기법 Section 2 프로세스 스케줄링 2009학년도 1학기 “운영체제” 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

 프로세스 스케줄러 구조  순서기(sequencer) CPU를 기다리고 있는 프로세스들의 프로세스 디스크립터의 Section 2 프로세스 스케줄링  프로세스 스케줄러 구조  순서기(sequencer) CPU를 기다리고 있는 프로세스들의 프로세스 디스크립터의 포인터를 준비 리스트로 위치  디스패처 문맥교환기를 실행하여 CPU에서 프로세스를 제거한 후 준비리스트에 있는 준비 프로세스중 하나를 선택하고 선택된 프로세스에 CPU를 할당  문맥 교환기 CPU로부터 제거되는 프로세스를 위하여 CPU 레지스터에 있는 모든 내용(PC, IR, 조건상태, 프로세스 상태, ALU 상태)를 프로세스 디스크립터에 저장 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

Section 2 프로세스 스케줄링  문맥 교환기 구조 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

 문맥 교환기  문맥 교환은 CPU 레지스터에 저장된 한 프로세스의 상태정보를 저장하고 다른 프로세스를 위한 알맞은 정보를 Section 2 프로세스 스케줄링  문맥 교환기  문맥 교환은 CPU 레지스터에 저장된 한 프로세스의 상태정보를 저장하고 다른 프로세스를 위한 알맞은 정보를 레지스터로 쓰기 위한 연산  프로세스의 실행이 멈추었을 때 모든 CPU 레지스터의 내용은 그 프로세스 디스크립터에 저장  프로세스가 다시 시작되기 전에 이전에 저장되었던 레지스터의 내용들이 물리적 CPU 레지스터로 다시 복사 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

프로세스 스케줄링(CPU 자원할당) 분류의 유형 Section 2 프로세스 스케줄링 프로세스 스케줄링(CPU 자원할당) 분류의 유형 프로세스 스케줄링 기능 별 분류 작업 스케줄링 프로세스 스케줄링 방법 별 선점 스케줄링 비선점 스케줄링 알고리즘 별 분류 우선순위 스케줄링 기한부 스케줄링 FIFO 스케줄링 Round Robin 스케줄링 SJF(shortest job first) 스케줄링 SRT(shortest remaining time) 스케줄링 HRN(highest response ratio next) 스케줄링 MLQ(multi level queue) 스케줄링 MFQ(multilevel feedback queue) 스케줄링 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

3. 선점 및 비선점 스케줄링 1) 선점(preemptive) 스케줄링  한 프로세스가 CPU를 차지하고 있을 때  특징 Section 2 프로세스 스케줄링 선점 한 프로세스가 점유하고 있는 자원을 강제로 회수하여 다른 프로세스에 넘겨주는 것 3. 선점 및 비선점 스케줄링 1) 선점(preemptive) 스케줄링  한 프로세스가 CPU를 차지하고 있을 때 다른 프로세스가 현재 프로세스를 중지시키고 자신이 CPU를 차지할 수 있는 스케줄링  특징  우선순위가 높은 프로세스를 먼저 수행할 때 유리  빠른 응답시간을 요구하는 시분할 시스템에 유용  많은 오버헤드를 초래 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

2) 비선점(non preemptive) 스케줄링 Section 2 프로세스 스케줄링 2) 비선점(non preemptive) 스케줄링  한 프로세스가 CPU를 할당 받으면 CPU는 그 프로세스로부터 빠져 나올 수 없음  특징  짧든 길든 모든 프로세스에 대한 요구를 공정히 처리  응답시간의 예측이 가능  짧은 작업이 긴 작업을 기다리는 경우가 종종 발생 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

4. 스케줄링 알고리즘 1) 우선순위 스케줄링 – non preemptive 각 프로세스에게 우선 순위를 부여하여 순위가 높은 Section 2 프로세스 스케줄링 4. 스케줄링 알고리즘 1) 우선순위 스케줄링 – non preemptive 각 프로세스에게 우선 순위를 부여하여 순위가 높은 순서대로 처리하는 방법  우선 순위 기법 ① 정적 우선 순위 실행이 쉽고 상대적으로 오버헤드는 적으나, 반면 주위 여건의 변화에 적응하지 못하고 우선 순위를 바꾸지 않음 ② 동적 우선 순위 상황 변화에 잘 적응. 구현하기가 복잡하고 오버헤드가 많으나,시스템의 응답도를 증가시켜 주므로 효율성 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

 4개의 우선순위를 갖는 스케줄링 우선순위 1인 실행 가능한 프로세스가 있는 한, 라운드 로빈 Section 2 프로세스 스케줄링  4개의 우선순위를 갖는 스케줄링 우선순위 1인 실행 가능한 프로세스가 있는 한, 라운드 로빈 방식으로 주어진 하나의 프로세스가 할당시간 동안 곧바로 실행  우선순위 1인 프로세스가 비게 되면, 우선 순위 2인 프로세스가 라운 드 로빈 방식으로 실행되고, 우선순위 1,2가 비면 우선순위 3이 실행  우선순위가 변하지 않으면 가장 낮은 우선순위 작업은 기아 상태에 빠짐 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

예를 들어, 시간 t=0에 P1, P2, P3, P4, P5 순으로 도착한 다음의 프로세스들의 집합 고려 할 때 Section 2 프로세스 스케줄링 예를 들어, 시간 t=0에 P1, P2, P3, P4, P5 순으로 도착한 다음의 프로세스들의 집합 고려 할 때  우선순위 스케줄링에 대한 Gantt 차트. 프로세스 우선순위 버스트 시간 대기 시간 반환 시간 P1 3 10 6 16 P2 1 P3 19 P4 4 20 P5 2 5 P2 P5 P1 P3 P4 1 6 16 19 20 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

 P1=6ms, P2=0ms, P3=16ms, P4=19ms, P5=1ms Section 2 프로세스 스케줄링  각 프로세스의 대기시간  P1=6ms, P2=0ms, P3=16ms, P4=19ms, P5=1ms  각 프로세스의 반환시간 = 버스트 시간 + 대기 시간  평균 대기 시간 = (6 + 0 + 16 + 19 + 1)/5 = 8.4 * 10 ms(CPU 버스트 시간의 길이)  평균 반환시간 = (16 + 1 + 19 + 20 + 6)/5 = 12.4 * 10 ms 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

2) 기한부(Deadline) 스케줄링 – non preemptive Section 2 프로세스 스케줄링 2) 기한부(Deadline) 스케줄링 – non preemptive 기한부(deadline)=작업들이 명시된 시간이나 기한 내에 완료되도록 계획되며, 작업결과가 시간 내에 구해지면 유용하고, 시간이 지난 후에 구해지면 쓸모가 없게 됨  기한까지 작업을 끝내기 위하여 자원안배를 주의 깊게 계획  많은 기한부 작업들이 동시에 실행되면 스케줄링이 너무 복잡  기한부 스케줄링에 의해서 요구되는 집중적인 자원 운영은 많은 오버헤드가 걸림 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

 두 번째 스케줄링에 대한 Gantt 차트가 가장 빠름 Section 2 프로세스 스케줄링  두 번째 스케줄링에 대한 Gantt 차트가 가장 빠름 p1 p2 p3 p4 p5 1275 1050 550 200 75 첫 번째 세 번째 대기,반환시간 계산해 볼것 프로세스 버스트 시간 종료시한 대기 시간 반환 시간 P1 350 575 200 550 P2 125 75 P3 475 1050 1025 P4 250 none 1275 P5 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

3) FCFS 스케줄링 – non preemptive Section 2 프로세스 스케줄링 3) FCFS 스케줄링 – non preemptive  FCFS(First Come First Service) 스케줄링은 가장 간단한 기법으로써 대기 큐에 도착한 순서에 따라 CPU를 할당  일단 프로세스가 CPU를 차지하면 완료될 때까지 수행  다른 방식에 비하여 작업 완료 시간을 예측하기가 용이  긴 작업이 짧은 작업을 오래 동안 기다리게 할 수 있고 중요하지 않은 작업이 중요한 작업을 기다리게 하므로 어느 정도 불합리 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

 각 프로세스의 대기시간 : P1=10ms, P2=24ms, 3=27ms, P4=30ms Section 2 프로세스 스케줄링  FCFS 스케줄링에 대한 Gantt 차트 프로세스 버스트 시간 대기 시간 반환 시간 P1 24 P2 3 27 P3 30 P4 10 40 P1 P2 P3 P4 24 27 30 40  각 프로세스의 대기시간 : P1=10ms, P2=24ms, 3=27ms, P4=30ms  평균 대기 시간 = (0 + 24 + 27 + 30)/ 4 = 20.25 * 10ms  평균 반환시간 = (24 + 27 + 30 + 40)/4 = 30.25 * 10 ms 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

4) SJF 스케줄링 – non preemptive Section 2 프로세스 스케줄링 4) SJF 스케줄링 – non preemptive SJF(Shortest Job First) 스케줄링은 대기중인 작업 중에서 수행 시간이 가장 짧다고 판정된 것을 먼저 수행  FCFS보다 평균 대기 시간을 감소  긴 작업보다 짧은 작업에게 오버헤드 면에서 볼 때 더 유리  문제점 수행할 작업이나 프로세스가 얼마나 긴 것인가를 정확히 알아야 하는데, 이 정보를 얻기가 어렵다는 점 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

예를 들어, 시간 0에 도착한 다음의 프로세스들의 P1, P2, Section 2 프로세스 스케줄링 예를 들어, 시간 0에 도착한 다음의 프로세스들의 P1, P2, P3, P4 집합을 고려, CPU 버스트 시간의 길이는 10ms. 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

 각 프로세스의 대기시간 : P1=3ms, P2=16ms, P3=9ms, P4=0ms Section 2 프로세스 스케줄링  SJF 스케줄링에 대한 Gantt 차트 프로세스 버스트 시간 대기 시간 반환 시간 P1 6 3 9 P2 8 16 24 P3 7 P4 P4 P1 P3 P2 3 6 16 24  각 프로세스의 대기시간 : P1=3ms, P2=16ms, P3=9ms, P4=0ms  평균 대기 시간 = (3 + 9 + 16 + 0)/4 = 7 * 10 ms.  평균 반환시간은 (9 + 24 + 16 + 3)/4 = 13 * 10 ms. 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

5) HRN 스케줄링 – non preemptive Section 2 프로세스 스케줄링 5) HRN 스케줄링 – non preemptive  HRN(Highest Response ratio Next) 스케줄링은 SJF의 약점, 특히 긴 작업과 짧은 작업간의 지나친 불평들을 보완한 기법  일단 한 작업이 CPU를 차지하면 그 작업은 완성될 때 까지 실행. 긴 작업과 짧은 작업간의 편향성을 어느 정도 완화  짧은 작업이나 대기 시간이 큰 작업은 우선순위가 높아짐 우선순위 = 대기시간 + 버스트 시간 버스트 시간 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

P1의 우선순위 = (12+ 3)/3 = 5, P2의 우선순위 = ( 8+ 4)/4 = 3, Section 2 프로세스 스케줄링  각 프로세스의 우선순위 P1의 우선순위 = (12+ 3)/3 = 5, P2의 우선순위 = ( 8+ 4)/4 = 3, P3의 우선순위 = ( 8+ 8)/8 = 2, P4의 우선순위 = (15+5)/5 = 4  우선순위는 P1이 가장 높으며, P4, P2, P3의 순서로 CPU를 할당 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

6) 라운드 로빈 스케줄링 - preemptive Section 2 프로세스 스케줄링 6) 라운드 로빈 스케줄링 - preemptive  라운드 로빈(Round Robin) 스케줄링은 FCFS에 의해서 프로세스 들이 내보내어 지며, 각 프로세스는 같은 크기의 CPU 시간을 할당  만약, 프로세스가 CPU 시간이 만료 될 때까지 처리를 완료하지 못하면 그 중앙처리 장치는 대기중인 다음 프로세스로 넘어가며 (preemptive), 실행 중이던 프로세스는 준비 완료 리스트의 가장 뒤로 보내짐 할당 시간의 크기는 시스템의 동작에 절대적인 영향  할당 시간이 크면 FCFS 방식과 동일, 시분할 시스템에 많이 사용  할당 시간이 작으면, 문맥 교환을 위한 오버헤드 증가 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

 각 프로세스의 대기시간 : P1=6 ms, P2=10 ms, P3=13 ms로 할 때 Section 2 프로세스 스케줄링 프로세스 버스트 시간 대기 시간 반환 시간 P1 24 6 30 P2 3 10 13 P3 16 P1 P2 P3 P1 10 13 16 30  각 프로세스의 대기시간 : P1=6 ms, P2=10 ms, P3=13 ms로 할 때  평균 대기 시간= (6 + 10 + 13)/ 3 = 9.67 * 10 ms.  평균 반환시간 = (30 + 13 + 16 )/3 = 19.67 * 10 ms 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

7) SRT 스케줄링 - preemptive  SRT(Short Remaining Time) 스케줄링은 SJF와 마찬가지로 Section 2 프로세스 스케줄링 7) SRT 스케줄링 - preemptive  SRT(Short Remaining Time) 스케줄링은 SJF와 마찬가지로 새로 도착한 프로세스를 포함하여 처리가 완료되는데, 가장 짧은 시간이 소요된다고 판단되는 프로세스를 먼저 수행  실행중인 프로세스라도 남은 처리시간이 더 짧다고 판단되는 프로세스가 생기면 언제라도 실행중인 프로세스가 선점 => 수행중인 각각의 작업들에 대한 실행시간을 추적 보유 (선점으로 인한 오버헤드) SJF 기법에 선점방식을 도입한 변형된 방법 긴 작업은 SJF보다 대기시간이 김 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

Section 2 프로세스 스케줄링 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

P1이 도착하여 CPU를 할당 받아 수행하는 중 1ms후에 버스트 시간이 8ms인 P2가 도착 Section 2 프로세스 스케줄링 프로세스 도착 시간 버스트 시간 대기 시간 반환 시간 P1 6 P2 1 8 15 23 P3 2 7 14 P4 3 P1 P4 P3 P2 6 9 16 24 P1이 도착하여 CPU를 할당 받아 수행하는 중 1ms후에 버스트 시간이 8ms인 P2가 도착  P1의 남은 버스트시간(5ms)이 P2의 버스트시간보다 크므로 P1계속 수행 2ms후에 버스트 시간이 7ms인 P3이 도착하지만, P1의 4ms남은 버스트 시간이 P3의 버스트 시간보다 크므로 역시 P1이 계속 수행. 3ms후에 버스트 시간이 3ms인 P4이 도착하지만, P1의 3ms 남은 버스트 시간과 P4의 버스트 시간과 같으므로 P1이 마지막 3ms까지 수행 후 시스템을 떠남  큐에는 P1을 제외한 3개의 작업이 남아 있고 그 중에서 가장 작은 P4가 수행되고, 그 다음에는 P3, P2의 순서로 수행 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

 SRT에서의 대기 시간 = CPU 할당대기시간 - 도착시간 각 프로세스의 대기시간 Section 2 프로세스 스케줄링  SRT에서의 대기 시간 = CPU 할당대기시간 - 도착시간 각 프로세스의 대기시간 P1은 (0-0)=0ms, P2는 (16-1)=15ms, P3은 (9-2)=7ms, P4는 (6-3)=3ms.  평균 대기 시간 = (0 + 15 + 7 + 3)/4 = 6.25 * 10 ms.  평균 반환시간= (6 + 23 + 14 + 6)/4 = 12.25 * 10 ms. 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

8) 다단계 큐 알고리즘 - preemptive Section 2 프로세스 스케줄링 8) 다단계 큐 알고리즘 - preemptive 다단계 큐(multi level queue) 알고리즘은 작업들을 여러 종류의 그룹으로 나누어 여러 개의 큐를 이용하는 스케줄링 기법으로 그룹화된 작업들은 각각의 준비 큐에 넣어두고 각 큐의 독자적인 스케줄링 알고리즘에 따라서 CPU를 할당하는 방법 다단계 큐 알고리즘은 준비상태 큐를 여러 종류로 분할 => 상위단계에서 하위 단계까지 5개의 큐로 분할 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

 일괄 처리 작업이 실행중일 지라도 상위 단계 큐에 작업이 들어오면 일괄 처리 작업은 CPU를 "선점" 당함 Section 2 프로세스 스케줄링  일괄 처리 작업이 실행중일 지라도 상위 단계 큐에 작업이 들어오면 일괄 처리 작업은 CPU를 "선점" 당함  한 큐에서 다른 큐로의 작업 이동불가 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

9) 다단계 피드백 큐 - preemptive 프로세스들은 CPU의 사용시간에 따라 입출력 위주와 CPU Section 2 프로세스 스케줄링 9) 다단계 피드백 큐 - preemptive 프로세스들은 CPU의 사용시간에 따라 입출력 위주와 CPU 위주로 구분되는데 이를 기준으로 서로 다른 할당시간을 부여  새로운 프로그램이 들어오면 높은 우선순위를 할당하여 단계 1에서 즉시 수행하고, 점차 낮은 우선순위를 부여하며 마지막 단계 n에서는 그 작업이 완료 될 때가지 라운드 로빈으로 순환 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목

 MFQ의 기준  짧은 작업에 유리  효율적인 IO 장치이용을 위해 IO 위주 프로세스에 우선권 Section 2 프로세스 스케줄링  MFQ의 기준  짧은 작업에 유리  효율적인 IO 장치이용을 위해 IO 위주 프로세스에 우선권  가능한 한 빨리 작업의 특성을 알고 그에 맞게 스케줄링.  프로세스가 보다 하위단계의 큐로 옮겨 갈수록 주어진 할당 시간은 점차 크게 설정. 이는 보다 높은 단계에 있는 큐의 프로세스가 더 높은 우선 순위를 갖기 때문 2009학년도 1학기 “운영체제” 동명대학교 정보보호학과 조성목