实验三-设备管理6页

上传人:文库****9 文档编号:175463836 上传时间:2021-03-24 格式:DOC 页数:6 大小:55KB
返回 下载 相关 举报
实验三-设备管理6页_第1页
第1页 / 共6页
实验三-设备管理6页_第2页
第2页 / 共6页
实验三-设备管理6页_第3页
第3页 / 共6页
实验三-设备管理6页_第4页
第4页 / 共6页
实验三-设备管理6页_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《实验三-设备管理6页》由会员分享,可在线阅读,更多相关《实验三-设备管理6页(6页珍藏版)》请在金锄头文库上搜索。

1、实验三 存储管理专业:计算机系班级:xx软件工程 学号:xxx姓名:xxx实验地点: xxx 实验时间: xxx 指导教师:xxx 【实验目的】1) 加深对设备管理概念及设备管理中虚拟设备的理解。2) 熟悉设备管理中Spooling技术的主要数据结构和井管理程序,通过一个简单的 SPOOLing 系统来模拟实际的 SPOOLing输入/输出过程,以掌握这种有用的技术。【实验要求】 调试并运行一个简单的 SPOOLing模拟系统,了解 SPOOLing 系统的输入/输出处理程序是如何与其它请求输入/输出的进程并发运行;SPOOLing 进程是如何把从输入设备读入的信息送到外存输入井中,或把外存输

2、出井中的信息送到打印机等输出设备上输出。理解模拟系统在运行过程中显示的状态和有关参数变化情况的意义。【实验环境】具备Windows或MS-DOS操作系统、带有Turbo C 集成环境的PC机。【实验重点及难点】 重点:理解SPOOLing技术的概念,SPOOLing系统中主要数据结构的设计和信息的流向、井的管理与控制。 难点:实验程序的问题描述、实现算法、数据结构。【实验内容】一阅读实验程序程序代码见【实验例程】。二编译实验例程用Turbo C 编译实验例程。三 运行程序并对照实验源程序阅读理解实验输出结果的意义。四 【程序运行结果】4、 程序运行结果* spooling system *th

3、e number oj user1s output files?2tbe number of user2s output files?1the number of user3s output files?3user2 program is completed!user1 program is completed!user3 program is completed!User1:filel,file-size=26,text: 45954149956213814378735585user2:filel,file-size=9,text:335638744user1: file2.file-siz

4、e=38,text: 698699937956861563118161998617686528823user3:filel,file-size=15,text: 311575512683573user3:file2.file_size=2,text: 95user3:file3,file_size=2,text:3all files have hbeen outputed!* * * * end * * * 【问题与讨论】实验报告中说明用何种方法可以保存实验结果?说明实现具体步骤。本系统利用内存来模拟SPOOLing输出过程。管理系统包括一个SPOOLing输出进程模块spoolout 和一个

5、spooling输出请求服务程序spoolserver。Spoolserver负责接收并处理用户进程的输出请求;spoolout完成实际的输出。另外,系统中设计了3个请求spooling输出的用户进程。他们共享用户进程模块 userpro。2、数据结构(1) 进程控制快 pcb,内容含有: id 进程标识数; status 进程运行状态,可为“e“(执行)或“e“(完成); bufflag 输出缓冲区空闲标志,false为空闲; filec 输出文件计数。 本系统赋予spoolout进程和3用户进程的标识数分别为0,1,2,3。(2) 输出请求块reqblock,内容含有: reqid 请求进

6、程标识数; size 输出文件长度; addr 输出文件在输出井中的首地址。(3) 输出井,用数组well 表示。(4) 用户输出缓冲区,用二维数组 userbuf 3 表示。每个用户进程分别使用各自的输出缓冲区。 此外,系统中还安排了下列管理数据(均属全程量);abc 空闲reqblock 计数,初值为10;ebp 当前空闲 reqblock 指针,初值为0;ebp 当前非空reqblock 指针,初值为 0;wellsize 输出井当前可用空间的大小;wellptr 输出井环形指针,指出当前空闲区首地址;n 用户的输出请求总数,用以控制系统的运行结束。3、算法 进程调度采用随机调度法。3个

7、用户进程的调度概率各为30%,spoolout 进程为10%。这由产生随机数来模拟。 用户进程在各自的输出缓冲区中形成输出信息序列,而后调用服务程序spoolserver请求输出。spoolserver接受输出请求,从相应输出缓冲区中取出信息序列送输出井,并构造一个reqblock,提交spoolout进程使用,然后返回用户进程继续执行。spoolout进程执行时,根据取出的某reqblock的内容将输出井中的相应输出文件送实际输出设备,如打印机或CRT,随之释放相应井区。1、2、 描述SPOOLing输出主控程序的算法(流程图或N-S图)。3、 描述用户进程模块的算法(流程图或N-S图)。4

8、、 描述输出服务模块的算法(流程图或N-S图)。 userpro(i) N Y 输出成功? N 保留本次请求 本进程的输出全部完成 Y N Y Y 置本进程为“完成”态调用spoolserver,请求输出本次/上次信息生成信息序列,送输出缓冲userbuf(i)输入缓冲userbuf(i)空 return图5 用户进程模块流程spoolserver(p.s) Y N Nreturn(false) Yreturn(true)输出信息长度s 井当前空区大小有无空闲请求块reqblock?构造一个reqblock将进程p的输出缓冲中的内容送出井修改井管理数据 图6 SPOOLing输出服务程序流程spoolout有无输出请求取当前第一个非空reqblock 根据该reqblock,将井区中指定的输出文件送实际的输出设备return修改有关管理数据 图7 SPOOLing输出进程流程

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号