操作系统实验6设备管理spooling.doc

操作系统实验6设备管理spooling.doc

ID:28538087

大小:28.50 KB

页数:7页

时间:2018-12-11

操作系统实验6设备管理spooling.doc_第1页
操作系统实验6设备管理spooling.doc_第2页
操作系统实验6设备管理spooling.doc_第3页
操作系统实验6设备管理spooling.doc_第4页
操作系统实验6设备管理spooling.doc_第5页
资源描述:

《操作系统实验6设备管理spooling.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验五设备管理(spooling技术) 实验题目:编写一个Spooling程序来模拟假脱机输入输出过程2一、实验目的假脱机(Spooling)技术是广泛用于各种系统的一种行之有效的输入输出手段,这种技术使用比较简单的方法,缓和了处理机与低速输入输出设备速度不匹配的矛盾,提高设备的利用率。为了更好地掌握这种技术,本实习要求学生独立地用高级语言编写一个Spooling程序来模拟假脱机输入输出过程。二、实验要求及实验环境可将Spooling输入输出程序编制成一个独立的进程与其它要求输入输出的进程并发工作。Spooling进程负责从卡片机或光电读带机等设备读入信息送到磁盘或磁鼓的输入

2、井中,或是把磁盘、磁鼓输出井的信息块送到打印机或CRT等设备输出。其余进程只要求编写输入输出部分的程序,可不考虑其它操作。本实验编制一个Spooling输出进程与另外二个要求输出的进程并发运行。要求输出进程每运行一次只输出一项信息到输出井,待输出到一个结束标志时,表示一批信息输出完成,在输出井中形成一输出信息块,再由Spooling进程把整个信息块实际输出到打印机或CRT。因此,进程的运行必须考虑同步问题。采用进程的随机调度法模拟Spooling输出是合适的,因为各进程的输出应是随机的。(1)进程调度采用随机调度法,二个要求输出进程的调度概率各为45%,Spooling进程为

3、10%。(2)可为进程设置三种工作状态:可运行状态,不可运行状态和结束状态。为了区分要求输出进程和Spooling进程处于不可运行状态的不同原因,又把不可运行状态分成不可运行状态1和2。分别叙述如下:①进程执行完毕后应置成“结束状态”。②要求输出进程在输出信息时,如发现输出井已满,应置成“不可运行状态1”。③Spooling进程在输出井空时应置成“不可运行状态2”。④Spooling进程输出一个信息块后,应释放该信息块所占的输出井位置,并将正在等待输出的进程置成“可运行状态”。⑤要求输出进程在输出信息到输出井并形成信息块后,应将Spooling进程置成“可运行状态”。三、设计

4、思想(本程序中的用到的所有数据类型的定义,主程序的流程图及各程序模块之间的调用关系)1.流程图4图假脱机输出系统框图5图请求输出进程程序框图6图Spooling进程程序框图2.逻辑设计①进程控制块(PCB)对于输出进程和spooling进程两种不同的进程,采用相同的结构处理,包括进程标识,进程状态,输出缓冲,输出指针,信息块首地址,输出长度等内容。需要支持在不同状态之间的转换,输出缓冲晴空等操作。②输出请求块包括要求输出的进程标识,输出长度,输出首地址等内容。7③输出井使用队列结构模拟。需要支持队列重整,取队首元素,删除队首元素,在队尾插入等操作,需要使用closed,ope

5、n两个指针协助操作。3、物理设计①进程控制块(PCB)structinfo_PCB{longID;//进程标识longstatus;//状态longpo;//输出指针longhead;//信息块首地址longcount;//输出长度longwait[1000];//输出缓冲}PCB[4];②输出请求块structinfo_block{longID;//要求输出的进程longlen;//输出长度longhead;//输出首地址}block[128];③输出井structinfo_wall{longnum[10000];//输出内容longopen,closed;//队列指针}w

6、all[3];四、测试结果实际运行的结果如下:Inputthetimesofuser1'soutputfile:4Inputthetimesofuser2'soutputfile:7Process2producesablock1!Process1producesablock2!Outputblock1:(ID=2)11489371832862808Process2producesablock3!Process2producesablock4!Outputblock2:(ID=1)2459598549480Outputblock3:(ID=2)762830Process2pro

7、ducesablock5!Process2producesablock6!Outputblock4:(ID=2)60Process1producesablock7!Process1producesablock8!Outputblock5:(ID=2)651940Outputblock6:(ID=2)940Outputblock7:(ID=1)287554292111570Process2producesablock9!Process2producesablock10!Outputblock8:(ID=1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。