首页 > 其他 > 详细

Operation System Concepts Ch.5 Process Scheduling

时间:2021-04-26 15:27:34      阅读:11      评论:0      收藏:0      [点我收藏+]

Time-sharing

Hdw save u-regs(A) to k-stack(A)

OS save k-regs(A) to PCB(A)

OS restore k-regs(B) from PCB(B)

Hdw restore u-regs(B) from k-stack(B)

CPU scheduler decides which runs next

Dispatcher performs context switch (switch context, switch to user mode, jump to proper location)

Dispatch latency: time it takes

Timing: CPU scheduling decisions make occur when a process: run->wait, run->ready, wait->ready, end (->ready may be preemptive)

Scheduling Overview

Criteria: CPU utilization, throughput, turnaround time, waiting time, response time

Assumptions:

  1. same amount of time
  2. same arrive time
  3. no preemption
  4. only CPU, no I/O
  5. length known

FCFS

just FIFO

now, relax assumption 1

Convoy effect: short queued behind heavyweight

SJF

shortest job first

it‘s a special case of priority

Priority

priority highest first

Starvation: low prio may never execute

Aging: as time goes by, prio++

HRRN

highest response ratio next

\[RR=1+\frac {wait} {Erun} \]

relax assumption 3: preemptive (modern)

Preemptive SJF

also called STCF, SRTF

good for turnaround time, not good for response time

Round-Robin

time-slicing

good for response time, not good for turnaround time

relax 4, consider I/O, then... break job into subjobs

relax 5, can only estimate length, use exp averaging \(T_{n+1}=\alpha t_n + (1-\alpha) T_n\)

MLQ

ready queue separate (e.g. fore interactive, back batch)

proc permanently in a given queue

each queue has own algorithm (e.g. fore RR, back FCFS)

cross-queue schedule: fixed priority, time slice

MLFQ

relax all assumptions

goal: optimize turnaround time, minimize response time

idea: learn the feature (first assumes a short, if not, move down)

Original Version

  1. A>B, A run
  2. A=B, RR
  3. new, highest
  4. uses up entire time slice, prio reduce
  5. give up before slice end, prio keep

Limitations: starvation (too many short), game (hack), changeable

Priority Boost

New Rule: After some period S, move all jobs in the topmost queue

Improvement: no starvation, prio adjust

Better Accouting

how to prevent the game (hack)?

New Rule: Once use up (acc), prio reduced

note: vary length across different queues

etc

Thread Scheduling

it is kernel-level threads(not processes) that are being scheduled

M:1/M:M: thread lib schedules uer-level threads to run on LWP

Multiple-Processor Scheduling

Cache Affinity

Asymmetric MP: single-queue mp scheduling, all job in a single queue

Symmetric MP: one queue per CPU, each queue a particular discipline,

Real-Time

Soft: no guarantee

Hard: must by deadline

Interrupt/Dispatch latency

Operation System Concepts Ch.5 Process Scheduling

原文:https://www.cnblogs.com/mollnn/p/14704272.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!