操作系统实验报告(共9页).docx
《操作系统实验报告(共9页).docx》由会员分享,可在线阅读,更多相关《操作系统实验报告(共9页).docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上操作系统实验报告实验名称: I/O管理 评分: 班级: 计科1602班 学号: 姓名: 王岩 一实验目的: 通过设计并运行一个简单的SPOOLing系统来模拟SPOOLing输入/出过程,以掌握这种有用的技术,从而熟悉基本的;加深对输入输出管理的了解;二实验要求:要求将SPOOLing输入/出处理程序编成一个独立的进程模块并与其他请求输入/出的进程并发运行;SPOOLing进程负责把从输入设备读入的信息送到外存输入井中,或把外存输入井中的信息送到打印机等输出设备上输出。其余进程只要求编写输入出部分程序。三实验题目和内容:1问题描述本系统利用内存来模拟SPOOLing输
2、出过程。管理系统包括一个SPOOLing输出进程模块spoolout和一个SPOOLing输出请求服务程序spoolserver。Spoolserver负责接收并处理用户进程的输出请求;spoolout完成实际的输出。另外,系统中设计了3个请求SPOOLing输出的用户进程。它们共享用户进程模块userpro。2数据结构进程控制块PCB,内容含有:id 进程标识数;status 进程运行状态,可为“e”(执行)或“c”(完成);bufflag 输出缓冲区空闲标志,FALSE为空闲;filec 输出文件计数。本系统赋予spoolout进程和3个用户进程的标识数分别为0,1,2,3。程序启动后,在
3、完成必要的初始化工作后便显示命令选择菜单,根据输入命令调用相应的功能模块。系统每完成一次请求即输出执行结果,直至键入“Quit”命令(命令码“4”)。系统退出运行为止。输出请求块reqblock,内容含有:reqid 请求进程标识数;size 输出文件长度;addr 输出文件在输出井中的首地址。输出井,用数组well 表示。输出缓冲区,用二维数组userbuf3 表示。每个用户进程分别使用各自的输出缓冲区。此外,系统中还安排了下列管理数据(均属全程量):ebc 空闲reqblock计数,初值为10;ebp 当前空闲reqblock指针,初值为0;cbp 当前非空reqblock指针,初值为0;
4、wellsize 输出井当前可用空间的大小;wellptr 输出井环形指针,指初当前空区首地址;n 用户的输出请求总数,用以控制系统的运行结束。算法进程调度采用随机调度法。3个用户进程的调度概率各为30%,spoolout进程为10%。这由产生随机数来模拟。用户进程在各自的缓冲区中形成输出信息序列,而后调用服务程序spoolserver请求输出。Spoolserver接受输出请求,从相应输出缓冲区中取出信息序列送输出井,并构造一个reqblock,提交spoolout进程使用,然后返回用户进程继续执行。Spoolout进程执行时,根据取出的某reqblock的内容将输出井中的相应输出文件送实际
5、输出设备,如打印机或CRT,随之释放相应井区。四实验程序 #include#include#include#includestruct info_PCBlong ID; /进程标识 long status; /状态 long po; /输出指针 long head;/信息块首地址 long count;/输出长度 long wait1000;/输出缓冲 PCB4;struct info_blocklong ID; /要求输出的进程 long len;/输出长度 long head;/输出首地址 block128;struct info_walllong num10000;/输出内容 long
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 实验 报告
限制150内