CPU Burst/ IO Burst
단기 스케줄러에 의해 준비완료 큐에 있는 프로세스들 중에서 선택하여 실행
1. 한 프로세스가 실행->대기 : 입출력요청, wait
2. 실행->준비완료 : interrupt
3. 대기->준비완료 : 입출력 종료
4. 프로세스종료
preemptive : 공유데이터 접근 시 비용발생.
, 운영체제 커널 설계에 영향을 준다.
OS 활동중 인터럽트 발생에 의해서 영향을 받는 코드 부분은 반드시
동시 사용으로 보호되어야 한다.
Dispatcher
Dispatch latency - 디스패처가 하나의 프로세스를 중단시키고 다른
프로세스를 실행시키는데까지 소요되는 시간
CPU utilization : CPU를 항상 바쁘게 유지 MAX
Throughput : 단위시간당 프로세스 처리량 ,MAX
Turnaround time : 프로세스 시작과 끝나는 총처리 시간 MIN
Waiting time : 준비완료에서 대기하고 있는 시간 MIN
Response time : 하나의 요구를 제출한후 첫번재 응답이 올때까지 시간 MIN
foreground-RR
background-FCFS
프로세스는 큐들 사이에서 옮겨다닐 수 있음
Thread Schedule
사용자 수준과 커널 수준 스레드를 구별할 수 있다.
스케줄되는 대상은 프로세스가 아니라 커널 수준 스레드이다.
사용자 수준 스레드는 스레드 라이브러리에 의해 관리되고 커널은 그들의
존재를 알지 못한다.
다대다 모델을 구현하는 시스템에서는 스레드 라이브러리는 사용자 수준
스레드를 가용한 LWP 상에서스케줄한다.
이 구조는 동일한 프로세스에 속한 스레들 사이에서 CPU를 경쟁
하기 때문에 (Process contention Scope PCS)로 알려져있다.
CPU상에서 어느 커널스레드를 스케줄할것인지 결정하기 위해
system contention scope, scs)를 사용한다.
pthread scheduling : pcs scs를 지정할 수 있다.
Asymmetric multiprocessing(비대칭 다중처리)
하나의 master server라는 하나의 처리기가 모든 스케줄링 결정과
입출력 처리 그리고 다른 시스템 활동을 처리하게 하는것
Symmetric multiprocessing(SMP) 각 처리기 독자적 스케줄링.
Processor affinity(친화성)
약한친화성 : 처리기 사이에서 이주가 가능
Load balancing - 작업의 분배를 효율적으로 해야한다.
push migration, pull migration
하나의 칩에 여러개 처리기코어를 장착 -> 다중코어 프로세서
coarse-grained(크게나눔) : 메모리 멈춤과 같은 긴 지연시간을 가진
사건이 발생할 때까지 한 처리기에서 실행
스레드간의 교환비용이 많이듬.
fine-grained(잘게나눔) : 보통 명령어 주기의 경계에서와 같이 좀 더
세밀한 정밀도를 가진 시점에서 스레드 교환이 일어난다.
스레드 교환회로포함, 교환비용적어짐.
Real-Time CPU Scheduling
Soft real-time systems ? no guarantee as to when critical real-time process will be scheduled
Hard real-time systems ? task must be serviced by its deadline
Two types of latencies affect performance
Interrupt latency ? time from arrival of interrupt to start of routine that services interrupt
Dispatch latency ? time for schedule to take current process off CPU and switch to another
Preemption of any process running in kernel mode
우선순위가 낮을경우 높은 우선순위에게 뺏김
For real-time scheduling, scheduler must support preemptive, priority-based scheduling
But only guarantees soft real-time
For hard real-time must also provide ability to meet deadlines
Processes have new characteristics: periodic ones require CPU at constant intervals