《操作系统原理》
实 验 指 导 书
吴微 编
前 言
1.实验总体目标
通过学生自己动手设计实验验证理论知识,使学生掌握操作系统特征和功能,掌握不同调度算法下进程的调度、进程控制、进程调度与死锁,并必须掌握作业管理、存储器管理、设备管理和文件管理的主要原理。加深对操作系统基本原理理解。 ⒉ 适用专业
计算机科学与技术
⒊ 先修课程
C语言程序设计、计算机组成原理、数据结构
⒋ 实验课时分配 实验项目 实验一 单处理器系统的进程调度 实验二设计一个有N个进程共行的进程调度程序。 实验三批处理系统中作业调度 实验四 银行家算法 实验五LRU页面置换调度算法 实验六 独占设备的分配和回收模拟 学时 2 4 2 4 4 4 ⒌ 实验环境 有40台中等配置的计算机组成的小型局域网的实验室环境。计算机的具体要求:⒈Pentium 133Hz以上的CPU;⒉建议至少256MB的内存;⒊建议硬盘至少2GB,并有1GB空闲空间。4.安装Windows操作系统及C语言编译程序。 ⒍ 实验总体要求
培养计算机专业的学生的系统程序设计能力,是操作系统课程的一个非常重要的环节。通过操作系统上机实验,可以培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对操作系统课程的理解。使学生更好地掌
握操作系统的基本概念、基本原理、及基本功能,具有分析实际操作系统、设计、构造和开发现代操作系统的基本能力。 ⒎ 本实验的重点、难点及教案方法建议
重点:理解进程调度中PCB的设计,以实现对进程的调度。 难点:进程调度程序的设计,设备管理程序的设计。
教案方法建议:力争在本指导书的帮助下,独立设计程序以加深理解。
目 录 实验一、 单处理器系统的进程调度
实验二 设计一个有 N个进程共行的进程调度程序。实验三 批处理系统中作业调度 实验四 银行家算法
实验五 LRU页面置换调度算法 实验六 独占设备的分配和回收模拟
5
10 15 18 25 29
实验一 单处理器系统的进程调度
一、实验目的
模拟单处理器系统的进程调度,采用动态优先权的进程调度算法作为进程设计算法,以加深对进程的概念及进程调度算法的理解. 二、实验类型<含验证型、设计型或综合型)
设计型
三、实验仪器
一台安装Windows操作系统及C语言编译程序的pc机。
四、实验原理 五、实验方法与步骤
<一)内容:
<1)用C语言实现对N个进程使用动态优先权算法的进程调度。 <2)描述用来标识进程的进程控制块PCB结构。
? 进程标识数ID
? 进程优先数PRIORITY,并规定优先数越大的进程,其优先权越高<人为指定或随机数)。
? 进程已占用的CPU时间CPUTIME。
? 进程还需占用的CPU时间ALLTIME,当进程运行完毕ALLTIME是为0。 ? 进程的阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,进程将进入阻塞状态。 ? 进程被阻塞的时间BLOCKTIME,表示已阻塞的进程再等待BLOCKTIME个时间片后将转换成就绪状态。 ? 进程状态STATE。
? 队列指针NEXT,用来将PCB排成队列。
<3)手工输入建立几个进程,建立一个就绪队列,按优先数由高到低排列。 <4)进行进程调度
<5)每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。 <二)参考程序:
#include \
#define running 1 /*用running 表示进程处于运行态*/
#define aready 2 /*用aready表示进程处于就绪态*/
#define blocking 3 /*用blocking表示进程处于等待态*/