本实验旨在通过模拟操作系统中的多道作业调度机制,帮助学生理解并掌握不同调度算法(如先来先服务、短任务优先等)的工作原理及其性能评价。参与者将亲手设计和实现一个简单的调度器,并分析其在多种场景下的表现。
一、实验目的
本实验要求学生模拟作业调度的实现,并用高级语言编写及调试一个或多个作业调度的模拟程序,以加深对操作系统中作业调度作用的理解以及对其算法的认识。
二、实验内容与要求
1. 编写并执行一个多道程序系统的作业调度模拟程序。采用先来先服务(FCFS)作为作业调度算法。设计时可以参考课本中的相关方法。
对于多道程序系统,需假设系统中各种资源及其数量,并在进行作业调度安排时考虑每个作业的资源需求。
三、实验所需设备与材料
硬件环境:IBM-PC或兼容机
软件环境:C语言编程平台
四、实验原理及设计方案
采用多道程序设计方法的操作系统通常会在其运行过程中保留多个可执行任务,以提升系统的整体效率。作业调度负责从已接纳并暂存于输入井的一系列待处理作业中挑选出若干个可以被执行的作业,并为这些被选中的作业分配所需的资源。对于每项被选择的任务,则需根据它们各自的说明书规定的步骤进行控制和管理。
在本实验设计中,我们采用先来先服务(FCFS)算法模拟作业调度程序。
- 该作业调度程序负责从输入井选取若干个任务进入主存,并为这些选定的任务分配必要的资源。只有当系统现有的未被占用的资源能够满足某个特定任务的要求时,才会将这个任务选入运行队列中。若现有资源既能满足一个作业的需求也能同时支持其他一些作业,则需依据一定的算法从这些候选作业中做出选择。
- 先来先服务(FCFS)调度策略遵循先进入输入井的任务优先被挑选的原则;当系统中的未分配资源不足以满足最先进入的某个任务时,将依次考虑后续进入的任务。
假设该系统的主存空间总计为100k,并配备有5台磁带机。