实验三-设备管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三存储管理
专业:计算机系班级:软件工程学号:姓名:
实验地点:实验时间:指导教师:
【实验目的】
1)加深对设备管理概念及设备管理中虚拟设备的理解。
2)熟悉设备管理中技术的主要数据结构和井管理程序,通过一个简单的系统来模拟实际的输入/输出过程,以掌握这种有用的技术。
【实验要求】
调试并运行一个简单的模拟系统,了解系统的输入/输出处
理程序是如何与其它请求输入/输出的进程并发运行;进程是如何把从输入设备读入的信息送到外存输入井中,或把外存输出井中的信息送到打印机等输出设备上输出。理解模拟系统在运行过程中显示的状态和有关参数变化情况的意义。
【实验环境】
具备或操作系统、带有C 集成环境的机。
【实验重点及难点】
重点:理解技术的概念,系统中主要数据结构的设计和信息的
流向、井的管理与控制。
难点:实验程序的问题描述、实现算法、数据结构。
【实验内容】
一.阅读实验程序
程序代码见【实验例程】。
二.编译实验例程
用C 编译实验例程。
三.运行程序并对照实验源程序阅读理解实验输出结果的意义。
四.【程序运行结果】
4、程序运行结果
**** ****
1's ?2
2's ?1
3's ?3
2 !
1 !
3 !
126,
: 459541499562585
29,
:335638744
1: 238,
: 6986999379568698617686528823
315,
: 3173
322,
: 95
332,
:3
!
* * * * * * *
【问题与讨论】
实验报告中说明用何种方法可以保存实验结果?说明实现具体步骤。本系统利用内存来模拟输出过程。管理系统包括一个输出进程模块和一个输出请求服务程序。负责接收并处理用户进程的输出请求;完成实际的输出。另外,系统中设计了3个请求输出的用户进程。他们共享用户进程模块。
2、数据结构
(1)进程控制快,内容含有:
进程标识数;
进程运行状态,可为“e“(执行)或“e“(完成);
输出缓冲区空闲标志,为空闲;
输出文件计数。
本系统赋予进程和3用户进程的标识数分别为0,1,2,3。
(2) 输出请求块,内容含有:
请求进程标识数;
输出文件长度;
输出文件在输出井中的首地址。
(3) 输出井,用数组[ ]表示。
(4) 用户输出缓冲区,用二维数组[ 3 ] [ ] 表示。每个用户进程分别使用各自
的输出缓冲区。
此外,系统中还安排了下列管理数据(均属全程量);
空闲计数,初值为10;
当前空闲指针,初值为0;
当前非空指针,初值为0;
输出井当前可用空间的大小;
输出井环形指针,指出当前空闲区首地址;
n 用户的输出请求总数,用以控制系统的运行结束。
3、算法
进程调度采用随机调度法。3个用户进程的调度概率各为30%,进程为10%。
这由产生随机数来模拟。
用户进程在各自的输出缓冲区中形成输出信息序列,而后调用服务程序请求输出。
接受输出请求,从相应输出缓冲区中取出信息序列送输出井,并构造一个,提交进程使用,然后返回用户进程继续执行。进程执行时,根据取出的某的内容将输出井中的相应输出文件送实际输出设备,如打印机或,随之释放相应井区。
1、
2、描述输出主控程序的算法(流程图或图)。
3、描述用户进程模块的算法(流程图或图)。
4、描述输出服务模块的算法(流程图或图)。
图5
图6 输出服务程序流程
图7 输出进程流程