操作系统课件chapter2-scheduling.pptVIP

  • 17
  • 0
  • 约2.56万字
  • 约 100页
  • 2016-12-26 发布于贵州
  • 举报
Scheduling in Unix Two-level scheduling Low level (CPU) scheduler uses multiple queues to select the next process, out of the processes in memory, to get a time quantum. High level (memory) scheduler moves processes from memory to disk and back, to enable all processes their share of CPU time Low-level scheduler keeps queues for each priority Processes in user mode have positive priorities Processes in kernel mode have negative priorities (lower is higher) Unix Priority Queues Unix Low-Level Scheduling Algorithm Pick process from highest (non-empty) priority queue Run for 1 quantum (usually 100 ms.), or until it blocks Increment CPU usage count every clock tick Every second, recalculate priorities: Divide cpu usage by 2 New priority = base + cpu_usage + nice Base is negative if the process is released from waiting in kernel mode Use round robin for each queue (separately) Unix Low-Level scheduling Algorithm - I/O Blocked processes are removed from queue, but when the blocking event occurs, are placed in a high priority queue The negative priorities are meant to release processes quickly from the kernel Negative priorities are hardwired in the system, for example, -5 for Disk I/O is meant to give high priority to a process released from disk I/O Interactive processes get good service, CPU bound processes get whatever service is left... Summary What is scheduling Scheduling Algorithm Goals Batch System FCFS Shortest job first (SJF) Shortest Remaining Time Next (SRTN) Interactive System Round-robin Priority MLQMLFQ Interactive System Shortest Process Next Guaranteed Scheduling Lottery Scheduling Fair Sharing Scheduling Scheduling for Real-time systems Threads Homework P173 37 * Most processes have a large number of short CPU bursts. 假定就绪队列中有n个进程、时间量为q, 则每个进程每次得到1/n的、不超过q单位的成块CPU时间,没有任何一个进程的等待时间会超过(n-1) q单位 进程在用户态和核心态的优先级是不同的,这里说的是用户态进程的优先级。它是基于执行时间的动态优先级,进程优先级可为0~127之间的任一整数。 优先数越大,优先级越低。0~49之间的优先级为系统内核保留,用户态下的进程优先级为50~127之间。 系统设置部分: PUSER和NZERO是基本用户优先数的阈值,分别为

文档评论(0)

1亿VIP精品文档

相关文档