• Tidak ada hasil yang ditemukan

Lesson 3. 다중처리기 및 실시간 스케줄링

N/A
N/A
Protected

Academic year: 2023

Membagikan "Lesson 3. 다중처리기 및 실시간 스케줄링"

Copied!
31
0
0

Teks penuh

(1)

Lesson 3. 다중처리기 및 실시간 스케줄링

• 목차

10.1 다중처리기 스케줄링

10.2 실시간 스케줄링 – 10.3 리눅스 스케줄링

10.4 유닉스 SVR4 스케줄링

10.5 윈도우 스케줄링

(2)

• 다중처리기 스케줄링

– 다중처리기 시스템에서의 스케줄링 설계 이슈 검토 – 다중처리기 시스템에서의 프로세스 스케줄링 기법 – 다중처리기 스케줄링의 다양한 설계 고려 사항들

• 실시간 스케줄링

– 실시간 프로세스의 특성

– 실시간 스케줄러가 갖추어야 할 요구 사항들 – 데드라인(deadline) 스케줄링 기법

– 레이트 모노토닉(rate monotonic) 스케줄링 기법

10 장 다중처리기 및 실시간 스케줄링 3

10.1 다중처리기 스케줄링

• 다중처리기 시스템의 유형

– 약-결합(loosely-coupled) 또는 분산(distributed) 다중처리기, 또는 클러스터(cluster)

서로 독립적으로 동작하는 개별 시스템들의 모음 구조

각 처리기들은 주 메모리와 입출력 채널들을 독립적으로 보유 – 특수 기능 처리기

가장 대표적인 예: 입출력 처리기

어떤 특수 기능을 전담

– 강-결합 다중처리(tightly-coupled multiprocessing)

주 메모리를 공유하는 여러 처리기들이 한 시스템에 모여 있는 구조

이 처리기들은 운영체제에 의해 통합 관리됨.

(3)

동기화 단위 (Granularity)

• 독립적 병렬성(Independent Parallelism)

– 독립적인 응용들이 병렬로 실행됨 – 프로세스 간 동기화도 필요 없음 – 예: time-sharing system

10 장 다중처리기 및 실시간 스케줄링 5

Coarse and Very Coarse-Grained Parallelism

• 특징

– 시스템에 존재하는 각 프로세스는 서로 분리되어 있고, – 서로 독립적으로 동작.

• 다중프로그래밍 단일처리기 시스템 상의 병행-실행 프로세 스들에서 주로 사용

– 다중처리기 시스템에도 그대로 적용할 수 있다는 장점

10.1 다중처리기 스케줄링

(4)

Medium-Grained Parallelism

• 한 프로세스 내의 스레드들이 서로 상호 작용하면서 조화롭 게 실행될 수 있는 정도의 병렬성

• 스레드 스케줄링 정책이 성능에 큰 영향을 미침

– 스레드들은 서로 빈번하게 통신하기 때문

10 장 다중처리기 및 실시간 스케줄링 7

Fine-Grained Parallelism

• 병렬성의 단위가 스레드가 아닌 스레드 내의 코드 블록

– 고병렬성 응용들에서 사용 – Specialized and fragmented area

10.1 다중처리기 스케줄링

(5)

Scheduler Design Issues

• 프로세스를 어느 처리기에 할당할 것인가?

– 정적 /동적 할당 – 부하 균형 지원 여부

– 집단 / 개별 할당

– Master/Slave 할당 또는 동등 할당.

• 각 처리기에서 다중프로그래밍을 지원할 것인가?

• 다음 번 실행 프로세스 고르기

Process Scheduling

10 장 다중처리기 및 실시간 스케줄링 9

프로세스를 어느 처리기에 할당할 것인가 ?

• 처리기 전체를 하나의 자원 집합으로 간주

– 처리기 요구 시 사용 가능한 처리기를 프로세스에게 할당

• 정적 할당 (Static Scheduling)

– 프로세스 별로 실행될 처리기가 고정되어 있는 경우

프로세스가 들어갈 처리기 별short-term local queue를 고정시킴

– 장단점

스케줄링 오버헤드가 거의 없음

어떤 처리기는 놀고(idle)있는데, 다른 처리기는 실행시킬 프로세스가 적체될 수 있음

10.1 다중처리기 스케줄링

(6)

프로세스를 어느 처리기에 할당할 것인가 ?( 계속 )

• 동적 부하 균형 할당

– Global queue를 사용

– 부하에 여유가 있는 어느 처리기에도 프로세스를 할당 가능

• 주종 (Master/slave) 할당 방식

– 핵심 커널 함수들은 항상 특정 한 처리기(master)에서 실행되게 함 – 이master 처리기가scheduling을 담당함

– Slave 처리기는 자신이 실행시킬 프로세스를 달라고 마스터에게

요청함

– 단점

• Master 처리기가 고장 나면 전체 시스템이 마비됨

• Master 처리기가 성능 상 병목 원인이 될 수 있음

10 장 다중처리기 및 실시간 스케줄링 11

프로세스를 어느 처리기에 할당할 것인가 ?( 계속 )

• 동등(Peer) 할당 방식

– Operating system은 어느 처리기에서도 실행될 수 있음 – 각 처리기는 각자scheduling을 실시함

– 단점

• Operating system 구조가 복잡해 짐.

두 개 이상의 처리기가 하나의 프로세스를 실행하는 경우는 발생하지 않아야 함.

10.1 다중처리기 스케줄링

(7)

프로세스 스케줄링

• 대부분의 다중처리기 시스템에서는

– 정적 할당 기법을 사용하지 않음.

– 모든 처리기들을 대상으로 하는 단일global 큐를 사용 – 우선순위 별 다중 큐를 두기도 함

– 우선순위 별 여러 큐도 모든 프로세서들의 풀을 대상으로 형성

• 듀얼 처리기 시스템의 예

10 장 다중처리기 및 실시간 스케줄링 13

프로세스 스케줄링 ( 계속 )

10.1 다중처리기 스케줄링

(8)

Thread Scheduling

• 하나의 응용프로그램은 여러 개의 스레드들로 구성 Î 스 레드들은 같은 주소 공간 내에서 서로 협력하며 병행 실행 됨!

– 단일 처리기 시스템에서는 프로그램 구성을 도와주는 조력자에 불과

• 다중처리기 시스템에서의 스레드는

– 서로 다른 처리기 상에서 실행됨 – 비약적인 성능 향상이 가능해 짐

– 스레드 스케줄링 기법이나 스레드 간 동기화 기법에 성능에 큰 영 향을 미침

10 장 다중처리기 및 실시간 스케줄링 15

Multiprocessor Thread Scheduling

• 부하 공유(Load sharing) 기법

– 프로세스들은 어떤 특정 처리기에 고정되어 할당되지 않는다.

– Global Queue를 활용 – cf.) Load Balancing

• 그룹(Gang) scheduling 기법

– 동시에 실행되면 유리한 관련 스레드들이 여러 처리기에 걸쳐 동 시에 실행될 수 있도록 스케줄링 함.

• 전용 처리기 할당 기법

– 특정 스레드들을 특정 처리기 상에서만 실행시킴

• 동적(Dynamic) scheduling 기법

– 실행 도중 처리기 별로 실행시키는 스레드 개수가 바뀔 수 있음

10.1 다중처리기 스케줄링

(9)

부하 공유 (Load Sharing)

• 장점

– 부하가 처리기들 사이에 고르게 분포되게 하자. – 스케줄링을 전담하는 스케줄러 없이…

– global queue를 사용해야 함

• 부하 공유 기법들

– 먼저 들어온 스레드 우선 방식(FCFS)

– 스레드 개수가 가장 적은 작업 우선(비선점 모드) – 스레드 개수가 가장 적은 작업 우선(선점 모드)

10 장 다중처리기 및 실시간 스케줄링 17

부하 공유 (Load Sharing) ( 계속 )

• 부하 공유 기법의 단점

– 중앙 글로벌 큐에 대한 액세스는mutual exclusion이 필요하므로

여러 개의 처리기가 동시에 중앙 큐에 접근 시에는 중앙 큐 자체가 병 목의 원인이 될 수 있음

– Preemptive thread가 나중에 실행을 재개할 때 이전에 실행되던 처 리기에서 실행되지 않을 수 있음

이는 캐시의 비효율성을 유발함

– 모든 스레드들이global queue에 있다가 실행될 경우, 한 프로세스 내의 모든 스레드들이 동시에 실행되지 못 할 수도 있음

10.1 다중처리기 스케줄링

(10)

그룹 (Gang) Scheduling

• 한 프로세스에 속해 있는 스레드들을 동시에 스케줄링하는 기법

• 장점

– 한 응용에 속해 있는 스레드들 중 일부라도 동시에 실행되지 못할 경우 성능이 급격히 나빠지는 경우에 특히 유용함.

– 한 프로세스 내의 스레드들은 일반적으로 서로 동기화되며 실행 되는 경향이 있음

– 스레드 간 문맥 교환의 횟수를 줄일 수 있어 효율적임!

10 장 다중처리기 및 실시간 스케줄링 19

그룹 (Gang) Scheduling ( 계속 )

10.1 다중처리기 스케줄링

• 스케줄링 그룹의 크기에 따른 오버헤드

(11)

전용 처리기 할당 기법

• 동작 방식

• 응용이 스케줄 될 때, 이 응용에 속한 스레드들이 어떤 특정 처리기 상에서만 실행되게 함

• 그러면 일부 처리기들은 노는 상황이 올 수도 있음

• No multiprogramming of processors

• 장점

• 처리기 이용률이 성능에 별 영향을 미치지 않는 초병렬 시스템에서 유리

• 프로세스간(또는 스레드간) 문맥 교환이 큰 오버헤드로 작용하는 경우

10 장 다중처리기 및 실시간 스케줄링 21

전용 처리기 할당 기법 ( 계속 )

10.1 다중처리기 스케줄링

• 프로세스(또는 스레드) 수 변화에 따른 응용 프로그램의 성능 향상율 예

• 처리기가 총16개인 경우

(12)

전용 처리기 할당 기법 ( 계속 )

10 장 다중처리기 및 실시간 스케줄링 23

• 활성 작업 집합(Activity Working Set)

• Thrashing 없이 응용프로그램이 수행될 수 있도록 동시에

실행되어야만 하는 스레드의 최소 개수

• 갱 스케줄링이나 전용 처리기 할당 기법

• 활성 작업 집합을 미리 할당함으로써 스케줄링 오버헤드를 줄이려는 시도라고 볼 수 있음!

동적 (Dynamic) Scheduling

• 프로세스 내의 스레드 개수를 자신이 동적으로 조절할 수 있는 스케줄링 기법

– 처리기 이용율을 높이기 위해 운영체제가 부하를 동적으로 조절 할 수 있게 됨.

Operating system adjust the load to improve utilization

– 놀고 있는 처리기에 우선 할당

– 새로 도착한 스레드를, “두 개 이상의 처리기에서 실행되고 있는 프로세스에 의해 사용 중인 처리기”에 먼저 할당

– 처리기 부하에 여유가 생길 때까지 새로운 스레드 할당은 유보 – 아직 처리기를 할당 받지 못한 프로세스들에게 처리기를 우선 할

10.1 다중처리기 스케줄링

(13)

• 실시간 시스템의 개요

– Correctness of the system depends

• not only on the logical result of the computation

• but also on the time at which the results are produced – Tasks or processes attempt to

• control or react to events that take place in the outside world

• These events occur in “real time” and

• tasks must be able to keep up with them

10 장 다중처리기 및 실시간 스케줄링 25

실시간 시스템의 개요 ( 계속 )

• 실시간 시스템의 예

– Control of laboratory experiments – Process control in industrial plants – Robotics

– Air traffic control – Telecommunications

– Military command and control systems

• 용어들

10.2 실시간 스케줄링

(14)

실시간 운영체제의 특성

• 결정성(Deterministic)

– 미리 정해진 고정 시간이 되면 어떤 행동을 취할 수 있거나

– 미리 정해진 기간 동안에 어떤 기능을 완료해줄 수 있다는 것을 의 미

• 운영체제의 결정성

– 운영체제에 가해진 요구가 있은 후에 얼마나 신속하게 반응할 수 있는가?

– 요구된 시간 내에 모든 서비스 요청들을 처리할 수 있는 충분한 용 량을 가지고 있는가?

10 장 다중처리기 및 실시간 스케줄링 27

실시간 운영체제의 특성 ( 계속 )

• 응답성(Responsiveness)

– 일단 반응을 시작한 후 얼마나 빨리 그 인터럽트에 대해 서비스를 완료해줄 수 있느냐

• 응답성에 영향을 미치는 요소들

인터럽트를 받은 후 하드웨어적인 초기화 작업을 거쳐 인터럽트 서비스 루틴(ISR)를 시작하기까지 걸리는 시간

– ISR 실행에 걸리는 시간

인터럽트 중첩에 의한 추가적인 지연 가능성

10.2 실시간 스케줄링

(15)

실시간 운영체제의 특성 ( 계속 )

• 사용자에 의한 제어(User control)

– User specifies priority – Specify paging

– What processes must always reside in main memory – Disks scheduling algorithms to use

– Rights of processes

10 장 다중처리기 및 실시간 스케줄링 29

실시간 운영체제의 특성 ( 계속 )

• 신뢰성(Reliability)

– 시스템 장애나 급격한 성능 저하가 발생하면 재앙에 가까운 결과 를 내기도 함.

• 장애-대처(Fail-soft) 기능

– 시스템의 일부에 장애가 발생하더라도 가능한 한 많은 다른 기능 들과 데이터들은 유지될 수 있도록 하는 것

– 장애-대처 기능에 있어서 중요한 측면은 바로 안정성(stability)

10.2 실시간 스케줄링

(16)

실시간 운영체제의 기술적 특징 요약

10 장 다중처리기 및 실시간 스케줄링 31

• 빠른 프로세스 간 또는 스레드 간 문맥 교환

• 실시간 처리 관련 필수 기능들만 포함된 작은 크기의 커널

• 외부 인터럽트에 신속하게 응답할 수 있는 능력

• 세마포어, 신호(signal), 또는 이벤트 같은 프로세스 간 통 신을 이용한 다중태스킹 기능

• 빠른 속도로 데이터를 축적/저장할 수 있는 특수 순차 파 일 기능

• 우선순위에 기반한 선점 모드 스케줄링

실시간 운영체제의 기술적 특징 요약 ( 계속 )

• 인터럽트 디스에이블 기간 최소화

• 주어진 특정 시간 동안 태스크의 실행을 지연시키거나 태 스크의 실행을 일시중지 / 실행재개 시킬 수 있는 기능

• 특수 알람 및 타임아웃 기능

10.2 실시간 스케줄링

(17)

실시간 프로세스 스케줄링의 예

10 장 다중처리기 및 실시간 스케줄링 33

실시간 프로세스 스케줄링의 예 ( 계속 )

10.2 실시간 스케줄링

(18)

실시간 스케줄링

• 분류 기준

– 스케줄 가능성(schedulability)분석을 수행하는 지의 여부

– 스케줄 가능성 분석을 정적으로 하는지 동적으로 하는지의 여부 – 스케줄 가능성 분석 결과를 활용하는지의 여부

• 분류 기준에 따른 실시간 스케줄링 클래스

– 정적 테이블-기반(Static table-driven)

– 정적 우선순위-기반 선점 모드(Static priority-driven preemptive) – 동적 계획-기반(Dynamic planning-based)

– 동적 최선(Dynamic best effort)

10 장 다중처리기 및 실시간 스케줄링 35

실시간 스케줄링 ( 계속 )

• 정적 테이블-기반 방식

– 스케줄 가능성 여부를 스케줄링하기 전에 정적으로 분석 – 스케줄 가능성 분석기의 입력

도착 주기, 실행 주기, 종료 데드라인 주기, 우선순위 등…

– 스케줄 가능성 분석기의 출력

스케줄링 순서표

– 장점

스케줄링 전에 미리 검사하므로 스케줄링이 예측가능하다.

– 단점

한 태스크라도 그 요구조건을 변경하면 전체 스케줄 가능성 분석을 다시 해야 하므로 유연성이 떨어짐

– 예: EDF (Earliest Deadline First), Periodic Deadline Technique

10.2 실시간 스케줄링

(19)

실시간 스케줄링 ( 계속 )

• 정적 우선순위-기반 선점 모드 방식

– 정적 테이블-기반 방식과 유사하지만,

– 스케줄 가능성 분석기의 출력이 표가 아닌 태스크들에 부여할 우 선순위 임!

– 예: Rate Monotonic스케줄링

각 태스크의 실행 주기 길이에 따라 태스크 우선순위가 달라짐

• 동적 계획-기반 방식

– 스케줄 가능성 분석이 실행 시간에 동적으로 이루어짐!

– 스케줄링 도중 새 태스크가 들어오면 스케줄 가능성 분석이 다시 이루어짐!

새로 들어온 태스크로 인해 스케줄이 불가능해지면 새 태스크는 거부 된다.

10 장 다중처리기 및 실시간 스케줄링 37

실시간 스케줄링 ( 계속 )

• 동적 최선 방식

– 스케줄 가능성 분석을 안 함!

– 단순히 스케줄링을 만족시켜주기 위해 최선을 다할 뿐!

– 만약 스케줄링에 실패한 태스크가 발생하면 종료시켜버린다.

– 의미 없을 것 같지만…

많은 실시간 시스템에서 사용하고 있는 방법임

일단 스케줄될 것이라고 가정하고EDF 등의 방식으로 일단 실행시킴

– 단점 : 무조건 실행Æ 사후 평가

10.2 실시간 스케줄링

(20)

데드라인 (Deadline) 스케줄링

• 실시간 시스템 스케줄러의 관심 사항

– “Speed”가 아니라 “completing tasks”의 여부

• 실시간 요건 충족 위한 스케줄러 정보

준비 완료 시간:태스크가 실행을 시작할 준비가 완료되는 시점

실행 시작 데드라인:태스크는 최소한 이 시간이 오기 전에 실행을 반드시 시작해야 한다.

실행 종료 데드라인:태스크는 이 시간이 도래하기 전에 반드시 실행을 종 료해야 한다.

처리 시간:태스크가 실행을 시작한 후 종료할 때까지 소요되는 시간을 의 미한다.

자원 요구 사항:응용프로그램 실행에 필요한 시스템 자원에 대한 요구 사

우선순위:태스크들 간의 상대적인 중요도

태스크 분리 가능 구조:하나의 태스크는 의무적 서브태스크와 선택적 서 브태스크로 분리될 수 있다.

10 장 다중처리기 및 실시간 스케줄링 39

데드라인 (Deadline) 스케줄링 ( 계속 )

• 어떤 태스크를 다음 번에 실행할 것인가?

– 데드라인이 가장 임박한 태스크를 먼저 실행시키는 Earliest Deadline First 스케줄링이 가장 바람직!

• 어느 수준의 선점 방식까지 허용할 것인가?

– 스케줄링 사유 발생 시점부터 스케줄링 실시 시점까지의 기간이 짧을 수록 좋음!

10.2 실시간 스케줄링

(21)

데드라인 (Deadline) 스케줄링 ( 계속 )

• 실행 종료 데드라인이 설정된 2개의 주기적 태스크 스케줄 링 예

10 장 다중처리기 및 실시간 스케줄링 41

데드라인 (Deadline) 스케줄링 ( 계속 )

• 실행 종료 데드라인이 설정된 2개의 주기적 태스크 스케줄 링 예 (계속)

10.2 실시간 스케줄링

(22)

데드라인 (Deadline) 스케줄링 ( 계속 )

10 장 다중처리기 및 실시간 스케줄링 43

• 실행 시작 데드라인이 있는 5개의 비주기적 태스크 스케줄 링 예

– 5개 태스크들의 실행 궤적

데드라인 (Deadline) 스케줄링 ( 계속 )

10.2 실시간 스케줄링

• 실행 시작 데드라인이 있는 5개의 비주기적 태스크 스케줄

링 예 (계속)

(23)

Rate Monotonic Scheduling

• 주기가 가장 짧은 태스크에게 가장 높은 우선순위를 부여

– 그 다음으로 주기가 짧은 태스크에게 그 다음 순위의 우선순위가 부여되는 식

– 가장 실행 주기가 짧은 태스크가 제일 먼저 서비스됨

• 태스크들의 우선순위

– 비율(주기의 역수)에 대한 함수로 보고 그래프를 그려보면 단조적 으로(monotonically) 증가하는 모양새(그림 10.8) Î 이 스케줄링 정 책의 이름이rate monotonic 스케줄링이라고 붙여진 것임

10 장 다중처리기 및 실시간 스케줄링 45

주기적 태스크의 타이밍 다이어그램

10.2 실시간 스케줄링

(24)

비율에 따른 우선순위의 변화

10 장 다중처리기 및 실시간 스케줄링 47

우선순위 역전 (Priority Inversion)

• 우선순위를 기반으로 하면서 중단 모드로 동작하는 스케줄 링 방식에서는 흔히 발생하는 현상

• 우선순위가 높은 태스크가 낮은 태스크 때문에 대기할 수 밖에 없는 상황을 의미

• 예

– 어떤 낮은 우선순위 태스크가 어떤 장치나 이진 세마포어 등에 잠 금(lock)을 걸어놓은 상태인데 그 보다 더 높은 우선순위 태스크가 동일한 자원에 대해 잠금을 걸려고 시도하는 경우

10.2 실시간 스케줄링

(25)

Unbounded Priority Inversion

• 기약 없는 우선순위 역전 현상의 지속 기간

– 낮은 우선순위 태스크가 공유 자원을 얼마 동안이나 사용하는가 – 관련 없는 다른 태스크들의 예측할 수 없는 행동들에 의해서도 좌

우된다

10 장 다중처리기 및 실시간 스케줄링 49

우선순위 상속 (Priority Inheritance) 기법

• 공유 자원을 잡고 있는 낮은 우선순위 태스크로 하여금 현재 그 공유 자 원을 기다리고 있는 높 은 우선순위 태스크의 우선순위를 상속 받도록 하자

• 우선순위 상속은 높은 우선순위 태스크가 해당

10.2 실시간 스케줄링

(26)

우선순위 올림 (Priority Ceiling) 기법

• 우선순위가 태스크마다 할당되는 것은 물론이고 시스템 내의 각 자원 에도 우선순위가 할당됨

자원에 할당되는 우선순위도 고정되어 있지 않고 변함

• 자원 우선순위 변화 규칙

그 자원을 사용하려고 대기 중인 태스크들의 우선순위 중 가장 높은 우선 순위보다 한 단계 더 높은 우선순위로 항상 설정

우선순위 올림 스케줄러는 어떤 태스크가 어떤 공유 자원을 사용하기 시 작하는 순간 그 태스크의 우선순위를 그 자원에 할당되어 있던 우선순위 로 바꿈

이렇게 되면 현재 그 자원을 사용하게 된 태스크는 그 자원을 대기 중인 어떤 태스크들보다도 우선순위가 높아지므로 공유 자원을 잡고 있는 도 중에 더 높은 우선순위 태스크로 인해 중단 당하는 일이 없을 것이다.

우선순위 올림을 받은 태스크가 그 자원을 다 사용하고 나서 놓는 순간 우 선순위는 원래의 정상 우선순위로 복원된다.

10 장 다중처리기 및 실시간 스케줄링 51

10.3 리눅스 스케줄링

• 실시간 클래스와 비실시간 클래스 모두 지원

• 스케줄링 클래스의 종류

SCHED_FIFO: First-in-first-out 실시간threads – SCHED_RR: Round-robin 실시간 threads – SCHED_OTHER: Other, non-real-time threads

• 각 클래스 내에서도 다양한 우선순위가 사용됨

(27)

리눅스 실시간 스케줄링의 예

10 장 다중처리기 및 실시간 스케줄링 53

리눅스 비실시간 스케줄링 기법

• 리눅스 커널 2.6 이상에서 O(1) 스케줄러 지원

– 시스템의 부하 상태나 처리기 수에 상관없이 상수 시간 내에 다음 에 실행할 프로세스를 골라 처리기에 할당할 수 있기 때문이다.

10.3 리눅스 스케줄링

(28)

리눅스 비실시간 스케줄링 기법 ( 계속 )

10 장 다중처리기 및 실시간 스케줄링 55

10.4 UNIX SVR4 스케줄링

• 실시간 프로세스들을 가장 우대

• 그 다음으로는 커널-모드 프로세스를 우대

• 가장 낮은 순위의 프로세스는 사용자 프로세스

– 사용자 프로세스를 SVR4에서는 시분할 프로세스라고 부름

(29)

UNIX SVR4 스케줄링

• 특징

– Preemptable static priority scheduler

– Introduction of a set of 160 priority levels divided into three priority classes

– Insertion of preemption points

10 장 다중처리기 및 실시간 스케줄링 57

SVR4 Priority Classes

10.4 UNIX SVR4 스케줄링

• 실시간 클래스 (159 – 100)

– Guaranteed to be selected to run before any kernel or time-sharing process – Can preempt kernel and user processes

• 커널 클래스 (99 – 60)

– Guaranteed to be selected to run before any time-sharing process

• 시분할 클래스 (59-0)

(30)

SVR4 스케줄러의 Dispatch Queues

10 장 다중처리기 및 실시간 스케줄링 59

10.5 윈도우 스케줄링

Priorities organized into two bands or classes

– 실시간 클래스 – 일반 클래스

Priority-driven preemptive scheduler

(31)

윈도우 스케줄링에서 사용하는 우선순위 큐

10 장 다중처리기 및 실시간 스케줄링 61

윈도우 스케줄링의 우선순위 변화 관계

10.5 윈도우 스케줄링

Referensi

Dokumen terkait

e first command expands to the number of the current page, the second one defines a new macro command that expands to this number. (You need two runs of  until these values

The Framework of Islamic Education Model for the Elderly Based on the chart above, integrative Islamic education for the elderly based on tasawuf-ecospiritualism is a deliberate and