操作系统中的处理机调度是管理计算机资源的关键部分,其目的是有效地分配CPU时间,以满足不同类型的用户需求和系统目标。在zxj-3操作系统中,处理机调度分为三个级别:高级调度、中级调度和低级调度。
1. 高级调度(作业调度):主要负责将外部存储上的作业调入内存,并创建进程控制块(PCB),然后将其插入就绪队列。高级调度通常用于批处理系统,而在分时或实时系统中,作业通常直接进入内存,跳过这个步骤。调度策略包括FCFS(先来先服务)和短作业优先等,这些策略影响着作业的接纳数量和周转时间。
2. 低级调度(进程调度):也称为短程调度,由分派程序执行,决定哪个进程获得CPU。低级调度有两种方式:非抢占式和抢占式。非抢占式简单但实时性较差,如早期的Windows 3.1;抢占式根据时间片、优先级或短作业优先原则来决定进程的切换。低级调度的频繁程度高于中级调度,低于高级调度。
3. 中级调度(中程调度):为了提高系统吞吐量和内存利用率,中级调度负责进程在内存和外存之间的交换。当进程被换出时,它可能处于挂起或就绪状态。中级调度的运行频率低于高级和低级调度。
处理机调度的触发事件包括进程完成、时间片耗尽、等待I/O事件等。调度模型有多种,包括只有一个进程调度的队列模型,高/低级调度模型,以及包含三级调度的模型。不同的模型适应不同的系统需求和用户交互情况。
选择调度方式和算法的标准通常分为面向用户和面向系统两方面:
面向用户:
1. 周转时间短:周转时间是从作业提交到完成的时间,包括等待调度、执行和服务时间。
2. 响应时间快:对于交互式作业,用户希望从提交请求到收到响应的时间尽可能短。
3. 截止时间的保证:实时系统需要确保任务能在预定时间内完成。
4. 优先权准则:某些任务可能需要更高的优先级,以便能够抢占CPU。
面向系统:
1. 吞吐量高:单位时间内完成的作业数量,这对于批处理系统至关重要。
2. 处理机利用率:提高CPU的使用效率,特别是在大型多用户系统中。
3. 资源平衡:确保系统中各种资源得到均衡利用。
调度算法如FCFS和短作业(进程)优先(SJF)各有优缺点。FCFS简单,有利于长作业,但可能导致短作业等待时间过长;SJF能提高平均周转时间和带权周转时间,但可能会导致长作业饿死。在实际应用中,往往需要综合考虑这些因素,设计适合特定环境的调度策略。
此外,死锁是操作系统中的另一个重要主题,涉及多个进程在等待对方释放资源时形成的一种无法继续执行的状态。处理机调度与死锁的关系在于,合适的调度策略可以预防或解决死锁问题,例如通过避免循环等待条件或设置资源预分配策略。
操作系统zxj-3中的处理机调度涉及到作业和进程的管理和资源分配,通过不同的调度层次和策略,兼顾用户需求和系统效率,同时防范死锁的发生。