进程调度机制
进程调度是操作系统中最重要的组件之一,负责管理系统中的进程资源,决定哪个进程可以获得CPU的控制权。进程调度的目标是确保系统的公平性、效率和响应速度。下面将详细介绍进程调度的机制和时机。
一、进程调度的功能
进程调度的功能是决定哪个进程可以获得CPU的控制权,并且记录进程的状态、选择投入运行的进程和进行进程的上下文切换。进程调度需要考虑的问题是如何分配CPU的资源,何时分配处理机和如何分配CPU。
二、进程调度的目标
进程调度的目标是确保系统的公平性、效率和响应速度。具体来说,进程调度需要达到以下目标:
* 公平:确保每个进程获得合理的CPU份额
* CPU利用率高:尽可能使CPU100%忙碌
* 响应时间短:交互式用户从输入到有结果输出之间的时间
* 周转时间短:作业完成时间–作业提交时间
* 吞吐量大:单位时间内完成的作业数
* 调度算法不宜太复杂,以免占用太多的CPU时间
三、进程调度的方式
进程调度的方式可以分为非抢占方式和抢占方式两种。非抢占方式是一旦某进程被调度,直到其完成或等待某事件而阻塞,才会切换到其他进程。抢占方式允许暂停正在运行的进程,切换到其他进程。抢占的原则有时间片原则和优先级原则。
四、进程调度的时机
进程调度的时机可以分为硬件中断、进程异常和请求OS服务三种情况。硬件中断包括时钟中断和I/O中断。时钟中断是OS检查时间片是否到,如果时间片到,则转入Ready,否则当前进程继续运行。I/O中断是若是某个进程等待的事件,则将其由阻塞->就绪,然后决定是否继续运行当前进程还是让更高优先级的就绪进程剥夺之。进程异常是由OS处理,决定是否终止之(若是致命错误),还是继续运行或切换。请求OS服务是OS靠中断获得CPU的控制权。
五、进程切换
进程切换是进程调度的重要组成部分。进程切换的时机包括当前进程终止、当前进程阻塞和请求OS服务等情况。在进程切换时,需要保存当前进程的状态,并恢复新的进程的状态。进程切换的方式可以分为非抢占方式和抢占方式两种。
进程调度是操作系统中最重要的组件之一,负责管理系统中的进程资源,决定哪个进程可以获得CPU的控制权。进程调度的目标是确保系统的公平性、效率和响应速度。