操作系统调度策略:抢占式与非抢占式,长程、中程、短程调度

需积分: 0 0 下载量 18 浏览量 更新于2024-08-05 收藏 486KB PDF 举报
"本章主要讨论了处理器调度的五个关键事件以及三种调度层次,包括时钟中断、I/O中断、操作系统调用、信号和抢占情况下的调度。同时,介绍了CPU利用率、吞吐量、周转时间、响应时间、等待时间等性能指标。文中还提到了抢占式调度与非抢占式调度的区别,并深入讲解了长程、中程和短程调度的特征、决策因素以及执行频率。此外,列出了几种常见的调度算法,如先来先服务(FCFS)等。" 处理器调度是操作系统核心功能之一,它涉及到多个方面。首先,调度触发事件包括时钟中断,通常发生在时间片用完时,此时正在运行的进程会被强制暂停,进入就绪队列;I/O中断是当进程执行I/O操作时发生,I/O完成后,进程会从阻塞状态转变为就绪状态;操作系统调用是用户通过系统调用请求服务,可能导致进程状态变化;信号,如在信号量上的wait操作,会使等待资源的进程变为阻塞状态;最后,抢占式调度下,如果就绪队列中有优先级更高的进程,当前运行的进程会被抢占。 调度的目的是有效地分配处理器资源,提高系统的整体性能。CPU利用率是衡量CPU空闲时间比例的指标,吞吐量表示单位时间内系统完成的进程数量,周转时间是从进程提交到完成的总时间,而平均带权周转时间则反映了用户满意度,它是周转时间与实际执行时间的比值。响应时间是用户交互关注的关键指标,从进程到达到开始执行的时间,等待时间则是所有进程等待的总时间。 调度层次包括长程调度、中程调度和短程调度。长程调度负责作业的创建和选择,依据先来先服务、优先级等策略。中程调度涉及内存管理和进程的换入换出,以优化内存使用和系统吞吐量。短程调度是最频繁执行的,它快速地从就绪队列中选择进程,进行上下文切换。 常见的调度算法有先来先服务(FCFS)、短作业优先(SJF)、优先级调度、轮转法(RR)等。FCFS按照进程到达的顺序进行调度,简单但可能导致长进程等待时间过长。SJF优先执行计算密集型且执行时间短的进程,但可能忽视了长进程。优先级调度允许设置进程优先级,抢占式优先级调度可以解决饥饿问题。轮转法为每个进程分配固定时间片,保证了交互性。 理解这些调度机制和算法对于优化操作系统性能、提升用户体验至关重要,尤其是在多任务和并发环境下。