实验三 设备管理

上传人:正** 文档编号:35243377 上传时间:2018-03-12 格式:DOC 页数:6 大小:71KB
返回 下载 相关 举报
实验三 设备管理_第1页
第1页 / 共6页
实验三 设备管理_第2页
第2页 / 共6页
实验三 设备管理_第3页
第3页 / 共6页
实验三 设备管理_第4页
第4页 / 共6页
实验三 设备管理_第5页
第5页 / 共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 编译实验例程。 三 运行程序并对照实验源程序阅读理解实验输出结果的意义。 四 【程序运行结果

3、】 4、程序运行结果 * spooling system * the number oj user1s output files?2 tbe number of user2s output files?1 the number of user3s output files?3 user2 program is completed! user1 program is completed! user3 program is completed! User1:filel,file-size=26, text: 45954149956213814378735585 user2:filel,file-s

4、ize=9,text:335638744 user1: file2.file-size=38, text: 698699937956861563118161998617686528823 user3:filel,file-size=15, text: 311575512683573 user3:file2.file_size=2, text: 95 user3:file3,file_size=2, text:3 all files have hbeen outputed! * * * * end * * * 【问题与讨论】 实验报告中说明用何种方法可以保存实验结果?说明实现具体步骤。本系统 利

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

6、赋予 spoolout 进程和 3用户进程的标识数分别为 0,1,2,3。 (2) 输出请求块 reqblock,内容含有:reqid 请求进程标识数;size 输出文件长度;addr 输出文件在输出井中的首地址。 (3) 输出井,用数组 well 表示。 (4) 用户输出缓冲区,用二维数组 userbuf 3 表示。每个用户进程分别使 用各自的输出缓冲区。此外,系统中还安排了下列管理数据(均属全程量) ; abc 空闲 reqblock 计数,初值为 10; ebp 当前空闲 reqblock 指针,初值为 0; ebp 当前非空 reqblock 指针,初值为 0; wellsize 输出

7、井当前可用空间的大小; wellptr 输出井环形指针,指出当前空闲区首地址; n 用户的输出请求总数,用以控制系统的运行结束。 3、算法 进程调度采用随机调度法。3个用户进程的调度概率各为 30%,spoolout 进程 为 10%。这由产生随机数来模拟。用户进程在各自的输出缓冲区中形成输出信息序列,而后调用服务程序 spoolserver 请求输出。spoolserver 接受输出请求,从相应输出缓冲区中取出信息序列 送输出井,并构造一个 reqblock,提交 spoolout 进程使用,然后返回用户进程继续执 行。spoolout 进程执行时,根据取出的某 reqblock 的内容将输

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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

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