➢低级调度(进程调度):将处理机分配 给进程。 ➢主要任务:按照给定的某种策略和方法 决定就绪队列中哪个进程应先获得处理 机,并将处理机分配给选中的进程。 ➢是最基本的一种调度。 第1-8页 . 8 青岛科技大学信息科学技术学院 低级调度的功能 ➢ (1) 保存当前进程的处理机现场信息。 ➢ (2) 按某种算法选取投入执行的新进程。 ➢ (3)恢复新进程的处理机现场把处理器分配 . 第1-13页 < 13 青岛科技大学信息科学技术学院 3. Preemptive Scheduling ➢CPU scheduling decisions may take place when a process: • Switches from running to waiting state. • Switches from running to ready state. • Switches from waiting to ready. • Terminates. 第三章 处理机调度与死锁 教学目的与要求 ➢熟悉处理机调度的层次 ➢掌握作业调度策略和算法 ➢掌握进程调度策略和算法 ➢了解实时调度系统 ➢理解死锁的基本概念 ➢掌握产生死锁的必要条件 ➢理解并掌握处理死锁的基本方法 第1-2页 . 2 青岛科技大学信息科学技术学院 重点和难点 ➢作业调度策略和算法 ➢进程调度策略和算法 ➢用于死锁避免的银行家算法 . 第1-17页 第1-3页 . 3 青岛科技大学信息科学技术学院 主要外语词汇 ➢Job ➢Scheduling Algorithm ➢FCFS(first come first serve) ➢SJF (short job first) ➢Deadlock 第1-4页 . 4 青岛科技大学信息科学技术学院 第三章 处理机调度与死锁 3.1 处理机调度的层次 3.2 调度算法 3.3 产生死锁的原因和必要条件 3.4 预防死锁的方法 3.5 死锁的检测与解除 第1-5页 . 5 青岛科技大学信息科学技术学院 3.1 处理机调度的层次 ➢3.1.1高级调度(作业调度) ➢3.1.2低级调度(进程调度) ➢3.1.3中级调度(交换调度) 第1-6页 分派程序是一个模块,用来将CPU的控制交给 短期调度程序所选择的进程, switching context 切换上下文 switching to user mode 切换到用户模式 jumping to the proper location in the user program to restart that program 跳转 到用户程序的合适位置以重新启动这个程序。 给进程。 第1-9页 . 9 青岛科技大学信息科学技术学院 3.1.3中级调度 ➢交换调度(中级调度):决定允许哪些进程 竞争处理机。 ➢主要任务: 按一定的算法,将外存中已具备运行条 件的进程换入内存,而将内存中处于阻 塞状态的某些进程交换到外存。 ➢引入中级调度的目的:为了提高内存的利用率 和系统吞吐量。 . 第1-10页 ➢Scheduling under 1 and 4 is nonpreemptive非抢占方式调度. ➢All other scheduling is preemptive. 抢占方式调度 ➢ nonpreemptive scheduling非抢占方式调度 • once the CPU has been allocated to a process, the process keeps the CPU until it releases the CPU either by terminating or by switching to the waiting state. ➢ When we consider the various scheduling algorithms, a ready queue may be implemented as a FIFO queue, a priority queue, a tree, or simply an unordered linked list. 10 青岛科技大学信息科学技术学院 Basic Concepts基本概念 1. CPU-I/O Burst Cycle CPU-I/O 区间周 期 2. CPU Scheduler CPU调度程序 3. Preemptive Scheduling 抢占式调度 4. Dispatcher 分派程序 . 11 第1-11页 . 第1-16页 16 青岛科技大学信息科学技术学院 4. Dispatcher (分派程序) ➢Dispatcher module gives control of the CPU to the process selected by the short-term scheduler; this involves: . 6 青岛科技大学信息科学技术学院 ቤተ መጻሕፍቲ ባይዱ 3.1.1高级调度 ➢高级调度(作业调度):按一定算法,把 外存中处于后备队列中的作业调入内存, 为其分配必要的资源,并创建进程。 ➢调度对象为作业。决定允许哪些作业竞争 系统资源。 ➢在分时和实时系统中,一般不配置作业调 度。 第1-7页 . 7 青岛科技大学信息科学技术学院 3.1.2低级调度 • 实现简单,系统开销小,适用于大多数的批处理系 统环境。 ➢ preemptive scheduling抢占方式调度incurs a cost. • 防止一个长进程长时间占用处理机,提供更公平的 服务。 抢占调度方式遵循的原则 ➢(1) 优先权原则。对重要和紧急的作业或进 程赋予较高的优先权。 ➢ (2) 短作业(进程)优先原则 ➢ (3) 时间片原则 青岛科技大学信息科学技术学院 1. CPU-I/O Burst Cycle CPU-I/O 区间周期 2. CPU Scheduler ➢ Selects from among the processes in memory that are ready to execute, and allocates the CPU to one of them.