




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学号P1514032 专业 计算机科学与技术 姓名 实验日期2017.12.21教师签字 成绩 实验报告【实验名称】Spooling系统模拟【实验目的】体会操作系统中spooling假脱机输入输出的过程,以及缓冲区,输入井,输出井,输出缓冲区间的关系,井管理程序的作用。【实验原理】Spooling技术实质上是利用一个共享设备的一个存储区,并不是真正占有这一设备,用户进程把要完成的任务以及文件的形式存入存储区,在存储区中排队并等待SPOOLING系统调度,只有被SPOOLING系统调度并输入,此项任务才真正完成,通过SPOOLING技术可以使独占设备成为共享设备,由此大大提高了设备的使用率,节约了硬件资源。Spooling系统主要有以下三部分组成: (1)输入井和输出井。这是在磁盘上开辟的两个大存储空间。输入井是模拟脱机输入时的磁盘设备,用于暂存IO设备输入的数据;输出井是模拟脱机输出时磁盘,用于暂存用户程序的输出数据。 (2)输入缓冲区和输出缓冲区。为了缓和CPU和磁盘之间速度不匹配的矛盾,在内存中要开辟两个缓冲区:输入缓冲区和输出缓冲区。输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井。输出缓冲区用于暂存从输出井送来的数据,以后在传送给输出设备。 (3)输入进程SPi和输出进程SP0。这里利用两个进程来模拟脱机IO时的外围控制机。其中,进程SPi模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井,当CPU需要输入数据时,直接从输入井读入内存;进程SP0模拟脱机输出时的外围控制机,把用户要求输出的数据先从内存送到输出井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备上【实验内容】数据结构:#define N 1000/设置缓冲区最大为100int buffer_num ; /缓冲区实际大小int input_numsN;/设置输入数组int input_num; /io设备输入大小double time=0; /需求时间int read_time; /每个字符读取到缓冲区的时间int read_time2; /缓冲区输入到管理主要函数:void init()/初始化缓冲区,初始化输入void set_time()/设置时间void input_process()/Spooling模拟void output_runtime()/输出时间函数流程图:实验源代码:#include#include#define N 1000/设置缓冲区最大为100int buffer_num ; /缓冲区实际大小int wellN;int pos=0;int input_numsN;int input_num; /io设备输入大小double time=0;int read_time;int read_time2;void set_time()/设置时间printf(输入读取一个字符的时间n); scanf(%d,&read_time); printf(输入缓冲区到管理的时间n); scanf(%d,&read_time2);void init()/初始化缓冲区,初始化输入 printf(输入缓冲区大小n); scanf(%d,&buffer_num); printf(输入io设备要输入的数字量n); scanf(%d,&input_num); for(int i=1; i=input_num; i+) input_numsi=i;void input_process()/输入进程 int i,j=0; printf(缓冲区的内容为:n); if( input_num=buffer_num) j=0; for(i=0; i input_num; i+) Sleep(read_time*20);/模拟I/O到 缓冲区的时间 printf(%dt, input_numsi); j+; printf(缓冲区未满,缓冲区将数据写入输入 ); for(int k=0; k6; k+) Sleep(read_time2*20);/模拟缓冲区到输入时间 printf(.); printf(n); Sleep(read_time2*20);/模拟缓冲区到输入时间 time+=read_time*j+(j*1.0/buffer_num)*read_time2; return; for(i=0; i input_num; i+) Sleep(read_time*20); j+; printf(%dt, input_numsi);/输出到屏幕 if(j= buffer_num) j=0; printf(缓冲区满,缓冲区将数据写入输入 ); for(int k=0; k6; k+) Sleep(read_time2*20); printf(.); printf(n); time+=read_time*buffer_num+read_time2; printf(当前时间为%.2fnn,time); printf(缓冲区的内容为:n); if(j!= buffer_num) printf(nn); time+=read_time*j+(j*1.0/buffer_num)*read_time2;void output_runtime()/输出时间函数 printf(所用的时间为%.2fn,time);int main() int choose; printf(nn*Spooling系统模拟程序*n); init();/初始化 set_time();/设置时间 input_process();/模拟输入 output_runtime();/输出运行时间实验截图:分三种情况:当要I/O要输入的字符数小于等于缓冲区时,如图,设置缓冲区数量为8,I/O中字符数为4,此时缓冲区不会满,所用的时间为(4*4)+(4/8)*6=19,验证正确。二、当要I/O要输入的字符数恰好等于等于缓冲区的整数倍时。如图,设置缓冲区数量为4,I/O中字符数为52,此时会有13个满缓冲区,输出每一步缓冲区到的当前时间,所用的总时间为(4*52)+13*8=312,验证正确。三、当要I/O要输入的字符数恰好等于等于缓冲区的整数倍并有余数时时。如图,设置缓冲区数量为4,I/O中字符数为54,此时会有13个满缓冲区,和一个半缓冲区输出每一步缓冲区到的当前时间,所用的总时间为(4*54)+13*8+4/8*8=324,验证正确。【小结或讨论】1、Spooling技术实质上是利用一个共享设备的一个存储区,并不是真正占有这一设备,用户进程把要完成的任务以及文件的形式存入存储区,在存储区中排队并等待SPOOLING系统调度,只有被SPOOLING系统调度并输入,此项任务才真正完成,通过SPOOLING技术可以使独占设备成为共享设备,由此大大提高了设备的使用率,节约了硬件资源。2、在编写实验的过程中,分成了三种情况即输入量小于缓冲区数量,输入量等于缓冲区数量的整倍数,输入量等于缓冲区数量的整倍数加余数,需要注意的是,读取结束时,当缓冲区未满时,所需要的时间并不是整个缓冲区移植到管理的时间,而是n/num*time,其中n为缓冲区中的数据量,num为缓冲区大小,time为缓冲区到的时间。3、在对Spooling技术的理解中,由于I/O的速度远远小于内存到硬盘的速度,所以并不能实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建泉州市石狮市部分公办学校专项招聘编制内新任教师61人(二)模拟试卷及答案详解(名师系列)
- 2025成都银行总行金融科技岗(第三批次)招聘考前自测高频考点模拟试题及答案详解(夺冠系列)
- 2025年江苏常州经济开发区社会保障和卫生健康局下属事业单位公开招聘卫技人员14人考前自测高频考点模拟试题带答案详解
- 2025广东阳江市阳春市高校毕业生就业见习招募8人(第四期)模拟试卷及答案详解(易错题)
- 2025年甘肃省兰州大学科学与工程学院聘用制人员B岗招聘模拟试卷附答案详解(突破训练)
- 2025年甘肃康盛慈民医院4月招聘35人模拟试卷及答案详解(考点梳理)
- 2025届春季中建八局总承包公司校园招聘正式启动模拟试卷及一套答案详解
- 2025广州银行经营机构人才招聘考前自测高频考点模拟试题及答案详解参考
- 2025江苏苏州工业园区青剑湖小学后勤辅助人员招聘1人考前自测高频考点模拟试题及答案详解(网校专用)
- 2025湖南湘潭科技职业学院招聘12人模拟试卷带答案详解
- 2021海康威视DS-AT1000S超容量系列网络存储设备用户手册
- 临床医学循环系统试题及答案2025年版
- 户外鱼池用电安全知识培训课件
- 钢筋工程拆除专项方案(3篇)
- 复退军人就业创业课件
- 汾酒白酒招商手册
- 甜米酒创业计划书
- 塔吊租赁服务技术实施方案技术标
- 员工组织承诺的形成过程内部机制和外部影响基于社会交换理论的实证研究
- 优质课件:几代中国人的美好夙愿
- 2023年真空镀膜机行业市场分析报告及未来发展趋势
评论
0/150
提交评论