"操作系统(第4版)第3章:调度类型、准则和算法"

需积分: 0 1 下载量 15 浏览量 更新于2024-01-26 收藏 800KB PDF 举报
调度是操作系统中一个重要的概念,它涉及到选出待分派的作业或进程,对于多道系统来说,处理机调度决定了吞吐量、周转时间、响应时间等运行性能,因此处理机调度是操作系统设计中的一个核心问题。 调度分为三个级别:作业调度(高级调度)、进程挂起与对换(中级调度)和进程调度(低级调度)。作业调度是指从外存后备队列中选取作业调入内存,创建进程,并分配资源到就绪队列中,这主要存在于批处理系统中,对于分时和实时系统来说是不需要的。进程挂起与对换是指将一些处于就绪状态但未被调度的进程挂起,并将其他需要运行的进程从外存调入内存中,这是为了更好地利用内存资源。进程调度是指选择就绪队列中的进程分配给处理机运行,这是操作系统中最频繁的调度类型。 调度的类型可按照调度层次分类,一般来说,作业从进入系统到最后完成,可能要经历这三个级别的调度。另外,根据操作系统的类型不同,还可将调度分为批处理调度、分时调度、实时调度和多处理机调度。 高级调度也被称为作业调度、长程调度或接纳调度,它主要负责从外存后备队列中选取作业调入内存,然后创建进程并分配资源到就绪队列中。高级调度的两个主要内容是确定接纳多少个作业和接纳哪些作业。多道程序度决定了接纳的作业数量,而系统规模和运行速度则决定了具体接纳哪些作业。 作业调度主要存在于批处理系统中,对于分时和实时系统来说则不需要,因为分时系统是为了提供给用户交互的环境,实时系统则需要在规定时间内完成特定任务。 除了作业调度外,还有进程调度和进程挂起与对换。进程调度是选择就绪队列中的进程分配给处理机运行,进程挂起与对换则是将一些处于就绪状态但未被调度的进程挂起,并将其他需要运行的进程从外存调入内存中。这样可以更好地利用内存资源,提高系统的运行效率。 调度准则和调度算法也是调度过程中需要考虑的问题。调度准则是指根据一定的评估标准来选择合适的进程进行调度,例如优先级调度、时间片轮转调度等。调度算法则是具体实现这些调度准则的方法,例如先来先服务算法、最短作业优先算法、最高响应比优先算法等。 实时调度是指针对实时系统的特殊需求进行的调度,实时系统要求任务能够在规定的时间内完成,因此对于实时任务的调度需要特别关注任务的截止时间,并根据任务的优先级进行调度。 线程调度是指选择合适的线程进行调度,线程是进程中的一个执行单元,因此线程调度就是在进程内选择合适的线程进行运行。 多处理器调度是指在多个处理器上进行任务的调度,为了充分利用多个处理器的性能,需要将任务合理地分配到各个处理器上。 UNIX/LINUX进程调度是指针对UNIX/LINUX操作系统中的进程调度进行的研究,UNIX/LINUX操作系统中采用了时间片轮转调度算法和优先级调度算法来进行进程调度。 综上所述,调度是操作系统中一个重要的问题,不同类型的操作系统以及不同的场景下都需要进行相应的调度策略来保证系统的运行效率和性能。