操作系统只spooling系统课程设计报告简单.doc

上传人:仙人指路1688 文档编号:2399376 上传时间:2023-02-17 格式:DOC 页数:43 大小:532.50KB
返回 下载 相关 举报
操作系统只spooling系统课程设计报告简单.doc_第1页
第1页 / 共43页
操作系统只spooling系统课程设计报告简单.doc_第2页
第2页 / 共43页
操作系统只spooling系统课程设计报告简单.doc_第3页
第3页 / 共43页
操作系统只spooling系统课程设计报告简单.doc_第4页
第4页 / 共43页
操作系统只spooling系统课程设计报告简单.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《操作系统只spooling系统课程设计报告简单.doc》由会员分享,可在线阅读,更多相关《操作系统只spooling系统课程设计报告简单.doc(43页珍藏版)》请在三一办公上搜索。

1、沈 阳 工 程 学 院课 程 设 计设计题目: Spooling系统 系 别 信息工程系 班级 学生姓名 学号 指导教师 职称 副教授 副教授 起止日期: 2010年 1月4 日起至 2010年1 月8日止沈 阳 工 程 学 院课程设计任务书课程设计题目: Spooling系统 系 别 信息工程系 班级 学生姓名 学号 29 04 05 14 指导教师 职称 副教授 副教授 课程设计进行地点: 任 务 下 达 时 间: 2009 年 12 月 25 日 起止日期:2010 年1 月4 日起至2010年1 月8 日止 教研室主任 2009年12月20日批准一、课程设计的原始资料及依据查阅有关计算

2、机操作系统的教材、实验指导书等资料,进一步熟悉操作系统的基本原理。本设计的目的是通过设计一个简单的Spooling系统来摸拟实际的Spooling输入/输出过程,以掌握这种有用的技术。二、课程设计主要内容及要求1认真阅读资料,掌握作业管理的原理和思想。2要求在设计的过程中,建立清晰的层次结构。3画出主要的功能结构图和主要算法的流程图。4要求将Spooling输入/输出处理程序编成一个独立的进程模块并与其它请求输入/输出的进程并发运行。Spooling进程负责把从输入设备读入的信息送到外存输入井中,或把外存输出井中的信息送到打印机等输出设备上输出。其余进程只要求编写输入/输出部分的程序。5输入模

3、块(负责作业的输入) 1)首先查看是否有待输入的作业,若无则结束。 2)查看输入井是否满,若满,则保留待输入作业现场,结束。 3)将作业读入输入井,直到输入井满。 设有10道作业待输入,每道作业是一个字符串。长度不超过20,并以“#”作为结束符号。6处理模块(负责加工处理输入井中的作业) 1)首先查看是否还有已加工但未送到输出井的信息。若有,转向3)。 2)从输入井中读出一道作业,在作业中的每个字符间插入“”。 3)查看输出井是否满,若满,则保留现场,结束;否则将处理过的作业送到输出井中。若作业全部送入,则结束;否则说明作业还未送完而输出井满了,则保留现场,结束。 7输出模块 查看输出井是否空

4、,若空,则结束;否则从输出井中依次读出字符送到计算机屏幕显示,遇到“#”需换行。 8提示用字符数组JOB1020存储10道作业,并预先将作业全部存入数组;用数值数组SJ2保留输入作业的信息,其中SJ0记录待输入作业的编号,SJ1 记录待输入作业中要输入的字符位置。 数值变量JT为计数器,初值为10,每输完一道作业,JT的值减1,当JT的值为0时,表示作业已全部输入完毕。用字符数组BUF40存放从输入井读出并处理过的作业。用两个循环队列分别表示输入井和输出井,长度分别为30、20。相应于编写函数,并在主函数中根据某种调度算法调度三个函数,直到10个作业全部输出完为止。9运行程序,检查结果是否和理

5、论值一致。10环境可以使用Windows,Turbo C环境或Linux。三、对课程设计说明书撰写内容、格式、字数的要求1课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、参考文献等。一般不应少于3000字。2在适当位置配合相应的实验原理图、功能模块图、算法流程图等图表进行说明。应做到文理通顺,内容正确完整,书写工整,装订整齐。3设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。4课程设计说明书手写或打印均可。手写要用学校统

6、一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。5课程设计说明书装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。四、设计完成后应提交成果的种类、数量、质量等方面的要求1完成“任务书”中指定的功能,运行结果正确。2课程设计说明书。五、时间进度安排顺序阶段日期计 划 完 成 内 容备注12010.1.04阅读资料及系统分析设计22010.1.05程序编制32010.1.0607程序编制、调试及运行42010.1.

7、08成绩评定52010.1.09书写课程设计报告六、主要参考资料(文献)1凤羽.操作系统.北京:电子工业出版社,20042马季兰、冯秀芳等.操作系统原理与Linux. 北京:人民邮电出版社,2000 3孟静.操作系统原理教程.北京:清华大学出版社,20004周苏、金海溶. 操作系统原理实验.北京: 科学出版社,2000沈 阳 工 程 学 院 操作系统原理及应用 课程设计成绩评定表系(部):信息工程系 班级: 学生姓名: 指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守

8、纪律,出勤情况是否良好,能够独立完成设计工作, 0.25432工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜。0.25432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以8) 分加权分合计指 导 教 师 签 名: 年 月 日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确

9、,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以4)分加权分合计评 阅 教 师 签 名: 年 月 日答 辩 小 组 评 审 意 见评价内容具 体 要 求权重评 分加权分学生汇报汇报准备充分,思路清晰;语言表达准确,概念清楚,论点正确,有层次,有重点,基本上反映了所完成任务的全部内容;时间符合要求。0.55432答 辩思路清晰;回答问题有理论依据,基本概念清楚;主要问题回答准确,深入,有说服力。0.55432答辩小组评审成绩(加权分合计乘以8)分加权分合计答辩小组教师签名: 年 月 日课 程 设 计 总 评 成 绩分沈 阳 工 程 学 院 操作系统原理

10、及应用 课程设计成绩评定表系(部):信息工程系 班级: 学生姓名: 指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作, 0.25432工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜。0.25432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以8) 分加权分合计指 导 教 师 签 名: 年 月 日评

11、阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以4)分加权分合计评 阅 教 师 签 名: 年 月 日答 辩 小 组 评 审 意 见评价内容具 体 要 求权重评 分加权分学生汇报汇报准备充分,思路清晰;语言表达准确,概念清楚,论点正确,有层次,有重点,基本上反映了所完成任务的全部内容;时间符合要求。0.55432

12、答 辩思路清晰;回答问题有理论依据,基本概念清楚;主要问题回答准确,深入,有说服力。0.55432答辩小组评审成绩(加权分合计乘以8)分加权分合计答辩小组教师签名: 年 月 日课 程 设 计 总 评 成 绩分沈 阳 工 程 学 院 操作系统原理及应用 课程设计成绩评定表系(部):信息工程系 班级: 学生姓名: 指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作, 0.25432工作量按期圆满完成规定的设计任务,工作量饱满,难度

13、适宜。0.25432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以8) 分加权分合计指 导 教 师 签 名: 年 月 日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以4)分加权分合计评

14、阅 教 师 签 名: 年 月 日答 辩 小 组 评 审 意 见评价内容具 体 要 求权重评 分加权分学生汇报汇报准备充分,思路清晰;语言表达准确,概念清楚,论点正确,有层次,有重点,基本上反映了所完成任务的全部内容;时间符合要求。0.55432答 辩思路清晰;回答问题有理论依据,基本概念清楚;主要问题回答准确,深入,有说服力。0.55432答辩小组评审成绩(加权分合计乘以8)分加权分合计答辩小组教师签名: 年 月 日课 程 设 计 总 评 成 绩分沈 阳 工 程 学 院 操作系统原理及应用 课程设计成绩评定表系(部):信息工程系 班级: 学生姓名: 指 导 教 师 评 审 意 见评价内容具 体

15、 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作, 0.25432工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜。0.25432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以8) 分加权分合计指 导 教 师 签 名: 年 月 日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能

16、力0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以4)分加权分合计评 阅 教 师 签 名: 年 月 日答 辩 小 组 评 审 意 见评价内容具 体 要 求权重评 分加权分学生汇报汇报准备充分,思路清晰;语言表达准确,概念清楚,论点正确,有层次,有重点,基本上反映了所完成任务的全部内容;时间符合要求。0.55432答 辩思路清晰;回答问题有理论依据,基本概念清楚;主要问题回答准确,深入,有说服力。0.55432答辩小组评审成

17、绩(加权分合计乘以8)分加权分合计答辩小组教师签名: 年 月 日课 程 设 计 总 评 成 绩分摘 要在信息高速发展的当今社会,各个领域的突飞猛进,计算机也有它卓越的进步,学习都是由浅入深,我们学习计算机也是一样,都是要从简单学起。“操作系统”是信息学科各专业学生必修的一门重要的基础课,因此,我们必须将之学好。在操作系统中,字符设备与主机的信息交换可以有两种基本方式:联机方式和脱机方式。而Spooling系统既不同于脱机方式,也不同于直接藕合方式,它实际上是一种外围设备同时联机操作技术,又称为排队转储技术。它是低速输入输出设备与主机交换的一种技术,通常也称为“假脱机真联机”。我们所设计的Spo

18、oling系统主要分为三个模块:输入模块,处理模块和输出模块。输入模块主要是把从输入设备读入的信息送到外存输入井中,这时要判断是否有输入的作业,如果输入井满了,要输出提示,如果未满,继续输入字符。当遇到0时,表示输完了一道作业。这时控制作业的变量要自动减1,若输入井未满就继续输入下一道作业。若输入井已满系统自动转到下一个进程继续执行直到处理完毕输入井再在有空闲时,重复执行进程。处理模块主要是负责加工处理输入井中的作业,先查看是否还有已加工但未送到输出井的信息。需要查看输出井是否已满,若满,就要求保留现场。若有空间,就要把处理过的作业送到输出井中。若输入井空,发出提示。若输入井中还存有未处理的作

19、业,进行处理操作。然后再重复查询输出井。当处理完输入井中的作业后,要及时将输入井中已处理的字符删除,以备输入作业使用。输出模块主要是负责把输出井中的作业输出到屏幕上,首先要判断输出井是否为空,若为空,则输出相应的提示语句。如果输出井中有作业则从输出井中依次读出字符送到计算机屏幕上显示,当遇到“#”字符时需换行。表明输出完了一道作业。输出后要清空输出井,以备继续执行。在Spooling系统中,实际上并没有为任何进程分配,而只是在输入井和输出井中,为进程分配一存储区和建立一章I/O请求表。这样,便把独占设备改造为共享设备。关键词 输入井,输出井,缓冲区,虚拟设备目 录摘 要I第1章 概 述11.1

20、设计题目11.2设计目的11.3设计主要内容及要求11.3.1设计内容11.3.2设计要求21.4 使用环境及语言21.5 设计实验器材41.6设计思想4第2章 系统原理62.1系统设计原理62.2系统设计模块说明62.3组内任务分工7第3章 系统原理83.1系统功能分析83.1.1总体分析83.1.2 Spooling系统组成93.1.3 Spooling技术的特点93.2功能模块图103.3系统流程图113.3.1总体设计功能流程图113.3.2 输入模块流程图123.3.3 处理模块流程图133.3.4 输出模块流程图14第4章 系统实现154.1系统功能实现154.1.1 主函数154

21、.1.2 输入模块184.1.3 处理模块214.1.4 输出模块274.2遇到的问题及解决方法294.3 Spooling学习实例30结 论31致 谢32参考文献33 第1章 概 述1.1设计题目Spooling系统1.2设计目的将Spooling输入/输出处理程序编成一个独立的进程模块并与其它请求输入/输出的进程则并发运行。Spooling进程负责把从输入设备读入的消息信息送到外存输入井中,或者把外存输出井中的信息送到打印机等输出设备上输出。其余进程只要求编写输入/输出部分的程序。1.3设计主要内容及要求1.3.1设计内容低速设备经通道和设在主机内存的缓冲存储器与高速设备相联,该高速设备通

22、常是辅存。为了存放从低速设备上输入的信息,或存放将要输出到低速设备上的信息(来自内存),在辅存分别开辟一固定区域,叫“输出井”(对输出),或者“输入井”(对输入)。简单来说就是在内存中形成缓冲区,在高级设备形成输出井和输入井,传递的时候,从低速设备传入缓冲区,在传到高速设备的输入井,在从高速设备的输出井,传到缓冲区,在传到低速设备。Spooling系统主要分为三个模块:输入模块,处理模块和输出模块。1.输入模块(负责作业的输入):1)首先查看是否有待输入的作业,若无则结束。2)查看输入井是否满,若满,则保留待输入作业现场,结束。3)将作业读入输入井,直到输入井满。设有10道作业待输入,每道作业

23、是一个字符串。长度不超过20,并以“#”作为结束符号。2.处理模块(负责加工处理输入井中的作业):1)首先查看是否还有已加工但未送到输出井的信息。若有,转向3)。2)从输入井中读出一道作业,在作业中的每个字符间插入“.”。3)查看输出井是否满,若满,则保留现场,结束;否则将处理过的作业送到输出井中。若作业全部送入,则结束;否则说明作业还未送完而输出井满了,则保留现场,结束。3.输出模块(负责作业的输出):查看输出井是否空,若空,则结束;否则从输出井中依次读出字符送到计算机屏幕显示,遇到“#”需换行。1.3.2设计要求1.用字符数组JOB1020存储10道作业,并预先将作业全部存入数组。2.用数

24、值数组SJ2保留输入作业的信息,其中SJ0记录待输入作业的编号,SJ1 记录待输入作业中要输入的字符位置。3.数值变量JT为计数器,初值为10,每输完一道作业,JT的值减1,当JT的值为0时,表示作业已全部输入完毕。4.用字符数组BUF40存放从输入井读出并处理过的作业。5.用两个循环队列分别表示输入井和输出井,长度分别为30、20。1.4 使用环境及语言编程环境选择我们选择的Microsoft Visual C+6.0,编程语言选择我们选择的是C+。C+这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。 它是一种使用非常广泛的计

25、算机编程语言。C+是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。Visual C+是Microsoft公司于1993年推出的一个可视化集成开发环境(integrated development,IDE)。自1998年Microsoft公司推出功能完善的Visual C+6.0后,越来越多的程序员选用Visual C+作为软件开发工具。一开始C+是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtual function)、运算符重载(operator o

26、verloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、命名空间(name space)逐渐被加入标准。1998年国际标准组织(ISO)颁布了C+程序设计语言的国际标准ISO/IEC 1488-1998。C+是具有国际标准的编程语言,通常称作ANSI/ISO C+。1998年是C+标准委员会成立的第一年,以后每5年视实际需要更新一次标准,下一次标准更新将是在2009年,目前我们一般称该标准C+0x。遗憾的是,由于C+语言过于复杂,以及他经历了长年的演变,直到现在(2009年)只有Visual C+ 2010

27、CTP开发环境的编译器完全符合这个标准。使用Visual C+6.0后,越来越多的程序员选用Visual C+6.0 集成开发环境,Visual C+6.0集成开发环境由很多工具和向导组成,要真正掌握它们的使用方法必须结合具体的编程内容。Visual C+是一个功能强大的可视化软件开发工具,它不仅是一个C+编译器,还是一个基于Windows操作系统的集成开发环境。Visual C+由许多组件组成,包括编辑器、编译器、调试器以及程序向导AppWizard、类向导ClassWizard等。C+设计原则如下所示:C+设计成静态类型、和C同样高效且可移植的多用途程序设计语言。 C+设计成直接的和广泛的

28、支援多种程序设计风格(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计)。 C+设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误。 C+设计成尽可能与C兼容,籍此提供一个从C到C+的平滑过渡。 C+避免平台限定或没有普遍用途的特性。 C+不使用会带来额外开销的特性。 C+设计成无需复杂的程序设计环境。出于保证语言的简洁和运行高效等方面的考虑,C+的很多特性都是以库(如STL)或其他的形式提供的,而没有直接添加到语言本身里。关于此类话题,C+之父的C+语言的设计和演化 里做了详尽的陈述。 使用new和delete进行动态内存分配和释放,算符和delete是C+新增的运算符,

29、提供了存储的动态分配和释放功能。它的作用相当于C语言的函数malloc()和free(),但是性能更为优越。使用inline内联函数替代宏调用,繁使用的函数,C语言建议使用宏调用代替函数调用以加快代码执行,减少调用开销。但是宏调用有许多的弊端,可能引起不期望的副作用。 所以在C+中应该使用inline内联函数替代宏调用,这样既可达到宏调用的目的,又避免了宏调用的弊端。 使用内联函数只须把inline关键字放在函数返回类型的前面。这样编译器在遇到Add()函数时,就不再进行函数调用,而是直接嵌入函数代码以加快程序的执行。在C语言中,两个函数的名称不能相同,否则会导致编译错误。而在C+中,函数名相

30、同而参数数据类型不同的两个函数被解释为重载。 使用函数重载可以帮助程序员处理更多的复杂问题,避免了使用诸如intabs()、fabs()、dabs()等繁杂的函数名称;同时在大型程序中,使函数名易于管理和使用,而不必绞尽脑汁地去处理函数名。同时必须注意,参数数据类型相同,但是函数返回类型不同的两个函数不能重载。使用引用(reference)代替指针进行参数传递,语言中,如果一个函数需要修改用作参数的变量值的时候 ,参数应该声明为指针类型。使用缺省参数,C+中函数可以使用缺省参数,常的情况下,一个函数应该具有尽可能大的灵活性。使用缺省参数为程序员处理更大的复杂性和灵活性问题提供了有效的方法,所以

31、在C+的代码中都大量地使用了缺省参数。 需要说明的是,所有的缺省参数必须出现在不缺省参数的右边。亦即,一旦开始定义缺省参数,就不可再说明非缺省的参数。STL(Standard Template Library,标准模板库),STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),并包括一些工具类如auto_ptr。几乎所有的代码都采用了模板类和模版函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。1.5 设计实验器材计算机一台、相关编程软件1.6设计思想Spooling技术主要是用来解决CPU的高速性和I/O设

32、备低速性间的矛盾,是一种脱机的输入输出技术。主要依赖于外围控制机的控制。Spooling系统必须建立在具有多道程序功能的操作系统上,而且还应有高速随机外存的支持,这通常是采用磁盘存储技术。为了使Spooling输入/输出处理程序编成一个独立的进程模块并与其它请求输入/输出的进程并发运行。我们利用数组来暂存输入输出的数据和处理过的数据。Spooling系统主要分为三个模块:输入模块,处理模块和输出模块。输入模块的设计首先把从输入设备读入的信息送到外存输入井中,这时要判断是否有要输入的作业,还要判断输入井是否已满,如果输入井满了,要输出等待提示,如果未满,继续输入字符,用length变量进行控制。

33、当遇到“0”时,表示一道作业输入结束。这时控制作业的变量要自动减1,如果输入井还有空间就继续输入下一道作业。如果输入井已满系统自动转到下一个进程继续执行直到处理完毕输入井再在有空闲时,重复执行进程。处理模块主要是负责加工处理输入井中的作业(从输入井中读出一道作业,在作业中的每个字符间插入“.”),先查看是否还有已加工但未送到输出井的信息。如果有查看输出井是否已满,若满,就要求保留现场。若有空间,就要把处理过的作业送到输出井中。如果输入井为空,发出提示语句。若如果输入井中还存有未处理的作业,进行处理操作。然后再重复查询输出井。当遇到“#”时,表示该作业处理完毕,进入下一道作业处理。当处理完输入井

34、中的作业后,要及时将输入井中已处理的字符删除,以备输入作业使用。同样也要及时将“BUF”(存处理、字符的数组)中已输送到输出井中的的字符删除。保证进程的顺序执行。输出模块主要是负责把输出井中的作业输出到屏幕上,首先要判断输出井是否为空,若为空,则输出相应的提示语句。如果输出井中有作业则从输出井中依次读出字符送到计算机屏幕上显示,当遇到“#”字符时需换行。表明输出完了一道作业。输出后要清空输出井,以备继续执行。利用变量“JT”控制作业执行的道数,利用数组定义了10道作业。输入井的数组长度定义为30,输出井的数组长度定义为20,定义length变量来控制字符串的输出。“Buf”数组用于存放从输入井

35、读出并处理过的作业,长度为40。遇到“#”时就表明已完成了一道作业的输入或输出。“0”表示字符串结束。Spooling系统既不同于脱机方式,也不同于直接藕合方式, Spooling技术实际上是一种外围设备同时联机操作技术,又称为排队转储技术。它在输入和输出之间增加了“输入井”和“输出井”的排队转储环节,以消除用户的“联机”等待时间。在系统输入模块收到作业输入请求信号后,输入管理模块中的读过程负责将信息从输入装置中读入输入井缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存的输入井中,读过程和写过程反复循环,直到一个作业输入完毕。当读过程读到一个硬件结束标志之后,系统再次驱动写过程把最后一批信

36、息写入外存输入井并调用中断处理程序结束该次输入。然后,系统为该作业建立作业控制块,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存运行。系统在管理输入井过程中可以“不断”读入输入的作业,直到输入结束或输入井满而暂停。Spooling技术实质上是用户进程利用一共享设备的一个存储区,并不是真正占有这一设备,用户进程把要完成的任务以文件的形式存入存储区,在存储区中排队并等待Spooling系统调度,只有被Spooling系统调度并输出,此项任务才真正完成,通过这一技术可以大大提高了共享设备的使用率,节约了硬件资源。第2章 系统原理 2.1系统设计原理Spooling是关于慢速字符

37、设备如何与计算机主机交换信息的一种技术,通常称为假脱机技术。他的核心思想是以联机的方式得到脱机的效果。Spooling输入/输出处理程序编成一个独立的进程模块并与其它请求输入/输出的进程并发运行。Spooling进程负责把从输入设备读入的信息送到外存输入井中,或把外存输出井中的信息送到打印机等输出设备上输出。其余进程只要求编写输入/输出部分的程序。低速设备经通道和设在主机内存的缓冲存储器与高速设备相联,该高速设备通常是辅存。为了存放从低速设备上输入的信息,或者存放将要输出到低速设备上的信息(来自内存),在辅存分别开辟一固定区域。简单来说就是在内存中形成缓冲区,在高级设备形成输出井和输入井,传递

38、的时候,从低速设备传入缓冲区,在传到高速设备的输入井,在从高速设备的输出井,传到缓冲区,在传到低速设备。宏观上,虽然是多个进程在同时使用一台独立设备,而对每一个进程而言,它们都认为自己是独占了一个设备。当然,该设备只是逻辑上的设备。Spooling系统实现了将独占设备变换为若干台对应的逻辑设备的功能。2.2系统设计模块说明Spooling系统主要分为三个模块:输入模块,处理模块和输出模块。输入模块主要是把从输入设备读入的信息送到外存输入井中,这时要判断是否有要输入的作业,还要判断输入井是否已满,如果输入井满了,要输出等待提示,如果未满,继续输入字符。当遇到0时,表示一道作业输入结束。如果输入井

39、还有空间就继续输入下一道作业。如果输入井已满系统自动转到下一个进程继续执行直到处理完毕输入井再在有空闲时,重复执行进程。处理模块主要用来加工处理输入井中的作业(从输入井中读出一道作业,在作业中的每个字符间插入“.”),先查看是否还有已加工但未送到输出井的信息。如果有查看输出井是否已满,若满,就要求保留现场。若有空间,就要把处理过的作业送到输出井中。若如果输入井中还存有未处理的作业,进行处理操作。然后再重复查询输出井。输出模块得设计主要是为了输出井中的作业,首先要判断输出井是否为空,如果若为空,则输出相应的提示语句。如果输出井中有作业则从输出井中依次读出字符送到计算机屏幕上显示,当遇到“#”字符

40、时需换行。表明输出完了一道作业。输出后要清空输出井,以备继续执行。Spooling系统由专门负责I/O的常驻内存的进程以及输入井、输出井组成;它将独占设备改造为共享设备,实现了虚拟设备功能。2.3组内任务分工小组分工如表2-1所示。表2-1 小组分工 组员任务组 长简单 组 员简单 组 员简单 组 员简单 查阅文献、收集资料总体策划输入模块处理模块输出模块主函数调用 第3章 系统原理3.1系统功能分析3.1.1总体分析Spooling系统是为了缓和CPU的高速性与IO设备低速性间的矛盾而引入了脱机输入、脱机输出技术。该技术是利用专门的外围控制机,将低速IO设备上的数据传送到磁盘上,或者相反。本

41、系统Spooling技术是对脱机输入、脱机输出系统的模拟。该系统必须建立在具有多道程序功能的操作系统上,而且还应有告诉随机外存的支持。因此,为了模拟本系统,我们必须了解Spooling系统的组成。它是有输入井和输出井、输入缓冲区和输出缓冲区、输入进程SPi和输出进程SP0组成。Spooling技术是低速输入输出设备与主机交换的一种技术,通常也称为“假脱机真联机”,他的核心思想是以联机的方式得到脱机的效果。低速设备经通道和设在主机内存的缓冲存储器与高速设备相联,该高速设备通常是辅存。为了存放从低速设备上输入的信息,或者存放将要输出到低速设备上的信息(来自内存),在辅存分别开辟一固定区域,叫“输出井”(对输出),或者“输入井”(对输入)。简单来说就是在内存中形成缓冲区,在高级设备形成输出井和输入井,传递的时候,从低速设备传入缓冲区,在传到高速设备的输入井,在从高速设备的输出井,传到缓冲区,在传到低速设备,如图3.1所示。图3.1 Spooling系统执行过程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号