多级调度:作业与进程在UNIX/Linux系统中的关键策略

需积分: 16 1 下载量 15 浏览量 更新于2024-07-18 收藏 732KB PDF 举报
处理机调度是操作系统管理核心资源的重要环节,它涉及处理机的分配和作业/进程的调度。在计算机系统中,为了高效利用硬件资源,通常采用多级调度机制,即作业调度和进程调度相结合。 首先,处理机的多级调度是指操作系统根据任务的层次和粒度,将调度划分为两个主要阶段:作业调度和进程调度。作业调度是宏观层面的决策,它负责管理和调度存放在外存的大量作业,这些作业可能由多个进程组成。作业调度的目标是选择合适时机将作业调入内存,并为其分配必要的资源,如内存空间和I/O设备,然后建立相应的进程并启动执行。 进程调度,也称为微观调度,发生在作业被调度到内存后,针对的是内存中的每一个独立可执行的进程。它的任务是在就绪的进程集合中选择一个进程,分配处理机时间片,确保资源的有效利用。在多任务操作系统中,这包括分时系统和个人计算机操作系统,进程可以创建子进程并发执行;而在支持多线程的系统中,线程成为基本调度单元,线程调度程序负责选择就绪线程分配处理机时间。 作业在执行过程中可能经历不同的状态,包括后备(等待调度)、执行、完成和退出系统。作业状态变迁通过作业控制块(JCB)进行管理,这个数据结构记录了作业的详细信息,如状态、资源需求和分配情况。作业调度过程中,除了决定哪个作业运行,还需进行资源分配和回收,以及处理作业完成后的善后工作,比如撤销作业控制块和相关进程资源。 确定调度策略和算法是处理机调度的关键部分,这决定了调度的公平性、效率和响应时间。不同的操作系统可能会采用不同的调度算法,如先来先服务(FCFS)、短进程优先(SPN)、最短剩余时间优先(SJF)等,每种算法都有其适用场景和优缺点。 处理机调度是操作系统的核心功能之一,它通过多级调度和细致的数据结构管理,保证了系统资源的合理分配和高效利用,对于现代计算机系统性能的优化至关重要。理解并掌握处理机调度的原理和策略,对于操作系统开发者和系统管理员来说是必不可少的知识。
2020-06-19 上传
一、实验目的 多道系统中,进程与进程之间存在同步与互斥关系。当就绪进程数大于处理机数时,需按照某种策略决定哪些进程先占用处理机。在可变分区管理方式下,采用首次适应算法实现主存空间的分配和回收。 本实验模拟实现处理机调度及内存分配及回收机制,以对处理机调度的工作原理以及内存管理的工作过程进行更深入的了解。 二、实验内容及要求 1.实验内容 (1)选择一个调度算法,实现处理机调度; (2)结合(1)实现主存储器空间的分配和回收。 2.实验具体要求 (1)设计一个抢占式优先权调度算法实现多处理机调度的程序,并且实现在可变分区管理方式下,采用首次适应算法实现主存空间的分配和回收。 (2)PCB内容包括:进程名/PID;要求运行时间(单位时间);优先权;状态;进程属性:独立进程、同步进程(前趋、后继)。 (3)可以随机输入若干进程,可随时添加进程,并按优先权排序; (4)从就绪队首选进程运行:优先权-1;要求运行时间-1;要求运行时间为0时,撤销该进程;一个时间片结束后重新排序,进行下轮调度; (5)考虑两个处理机,考虑同步进程的处理机分配问题,每次调度后,显示各进程状态,运行进程要显示在哪个处理机上执行。 (6)规定道数,设置后备队列和挂起状态。若内存中进程少于规定道数,可自动从后备队列调度一作业进入。被挂起进程入挂起队列,设置解挂功能用于将制定挂起进程解挂入就绪队列。 (7)结合实验一pcb增加所需主存大小,主存起始位置;采用首次适应算法分配主存空间。 (8)自行假设主存空间大小,预设操作系统所占大小并构造未分分区表。表目内容:起址、长度、状态(未分/空表目)。 (9)进程完成后,回收主存,并与相邻空闲分区合并。 (10)最好采用图形界面;