《windows操作系统课件-第3章调度.pptx》由会员分享,可在线阅读,更多相关《windows操作系统课件-第3章调度.pptx(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Windows操作系统课件-第3章调度目录调度概述进程调度线程调度I/O调度实时调度死锁与饥饿CONTENTS01调度概述CHAPTER进程是程序的一次执行,具有独立的内存空间和系统资源。线程是进程内的一条执行路径,共享进程的内存空间和系统资源。进程和线程是操作系统进行资源分配和调度的基本单位。进程与线程通过合理调度,使处理器始终保持忙碌状态,提高系统资源的利用率。提高系统吞吐量保证公平性提高响应时间为每个进程或线程提供公平的执行机会,避免某些进程或线程长时间等待。通过优先调度重要或紧急的任务,减少用户等待时间。030201调度的重要性调度器的组件和功能负责维护待处理任务的队列,按照一定的顺序
2、排列任务。负责保存和恢复进程或线程的上下文信息,包括寄存器状态、内存信息等。负责确定任务的优先级,根据任务的特性、资源需求等因素进行调度。负责记录任务的执行时间,进行时间片轮转等调度策略的管理。队列管理上下文管理优先级管理时间管理02进程调度CHAPTER就绪状态运行状态阻塞状态终止状态进程状态01020304进程已获得除CPU之外所需的所有资源,等待CPU调度。进程正在占用CPU执行。进程因等待某个条件成立而无法继续执行,如等待I/O操作完成。进程正常结束或异常终止。静态优先级在进程创建时确定,不会改变。动态优先级根据进程的行为和系统负载动态调整。进程优先级按照进程到达的先后顺序进行调度。先
3、来先服务(FCFS)优先调度执行时间最短的进程。最短作业优先(SJF)根据进程优先级进行调度。优先级调度将进程按照优先级放入不同的队列,再从最高优先级队列中选取进程执行。多级反馈队列调度进程调度算法保存和恢复运行进程的上下文(包括CPU寄存器和内存中的信息),以便在需要时可以恢复执行。上下文切换上下文切换过程中需要保存和恢复的上下文信息较多,有一定的时间开销。切换开销进程切换03线程调度CHAPTER线程已经准备好运行,但因为其他线程占用CPU,所以暂时不能执行。就绪状态线程因等待某个资源或事件而暂时不能执行。阻塞状态线程被暂停执行,需要手动恢复。挂起状态线程执行完毕或被中止。终止状态线程状态
4、线程具有高优先级,可以优先获得CPU时间。高优先级线程具有低优先级,可能需要等待较长时间才能获得CPU时间。低优先级线程具有默认优先级,通常介于高优先级和低优先级之间。默认优先级线程优先级010204线程调度算法先到先服务(FCFS):按照线程到达的顺序进行调度。最短进程优先(SPN):优先调度最短的进程。优先级调度:按照线程优先级进行调度。多级队列调度:将线程分成多个队列,按照队列的优先级进行调度。03 线程切换上下文切换保存当前线程的执行环境,恢复新线程的执行环境,并开始执行新线程。用户模式到内核模式切换当线程需要访问内核资源时,从用户模式切换到内核模式。内核模式到用户模式切换当线程完成内
5、核访问时,从内核模式切换回用户模式。04I/O调度CHAPTERI/O请求队列定义01I/O请求队列是用于存储等待的I/O请求的列表。当一个应用程序发出一个I/O请求时,该请求会被添加到相应的I/O请求队列中。多队列处理02为了提高I/O处理的效率,Windows操作系统可能会为不同类型的I/O请求创建多个队列,例如读请求队列和写请求队列。优先级队列03根据I/O请求的优先级,操作系统可以将它们分配到不同的队列中,以便优先处理紧急或重要的请求。I/O请求队列按照I/O请求到达的顺序进行调度,先到达的请求先被处理。先来先服务算法最短作业优先算法循环轮转算法扫描算法优先处理等待时间最短的I/O请求
6、。按照固定的顺序循环处理每个I/O请求,确保每个请求都得到处理。从前往后扫描I/O请求队列,遇到满足条件的请求就进行处理,直到队列末尾或满足一定条件为止。I/O调度算法电梯算法是一种I/O调度算法,模拟了电梯的运行方式,从一端移动到另一端处理I/O请求。电梯算法定义电梯算法通过移动臂在磁盘上移动,依次处理每个柱面上的I/O请求,直到达到另一端或满足一定条件为止。移动臂原理为了提高I/O调度的效率,电梯算法可以采取一些优化策略,例如预取、合并和重排等。优化策略电梯算法05实时调度CHAPTER实时任务必须在确定的时间内完成,否则会影响系统的实时性。确定性的执行时间实时任务通常具有较高的优先级,以
7、确保其及时完成。优先级要求实时任务可能需要独占某些资源,以确保其不受其他任务干扰。资源需求实时任务要求系统具有高可靠性,以避免任务失败或数据丢失。可靠性要求实时任务的特点静态调度算法在任务执行前,预先确定任务的执行顺序和时间片分配。动态调度算法根据系统状态和任务需求,动态地调整任务的执行顺序和时间片分配。最短剩余时间优先算法选择剩余时间最短的任务优先执行。优先级调度算法根据任务的优先级进行调度,优先级高的任务先执行。实时调度算法要求任务必须在确定的时间内完成,否则会导致严重的后果,如系统崩溃或数据丢失。允许任务在规定的时间内完成,但延迟时间较长也不会导致严重后果。硬实时与软实时软实时系统硬实时系统06死锁与饥饿CHAPTER死锁定义在多进程环境中,两个或多个进程无限期地等待对方释放资源的现象。死锁条件互斥、占有并等待、非抢占、环路等待。死锁的定义与条件死锁的预防与检测预防策略避免死锁的常用方法有设置资源分级、采用银行家算法等。检测策略定期检测系统是否存在死锁,一旦发现立即解除。进程因长时间得不到所需资源而无法继续执行的现象。饥饿定义采用公平调度策略,如时间片轮转法,确保每个进程都能获得一定量的资源。解决方案饥饿及其解决方案 感谢观看 THANKS
限制150内