spooling技术课程设计 linux环境,《SPOOLING技术模拟实现 操作系统原理课程设计》.doc...
《SPOOLING技术模拟实现 操作系统原理课程设计》
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2010年秋季学期
操作系统原理课程设计
题 目: SPOOLING技术模拟
专业班级: 08级计算机(5)班
姓 名: 赵永丽
学 号:
指导教师: 庞淑侠
成 绩:
目 录
摘 要 …………………………………………………1
正 文 ………………………………………………… 2
1.设计思想……………………………………………2
2.各模块的伪码算法…………………………………3
3.函数的调用关系图…………………………………5
4.测试…………………………………………………6
总结 ……………………………………………………14
参考文献 ………………………………………………15
致 谢 …………………………………………………16
附件I 源程序代码 …………………………………17
摘 要
SPOOLING假脱机输入\输出技术广泛应用于各种计算机的I/O。该技术通过采用预输入和缓输出的方法,使用共享设备的一部分空间来模拟独占设备,以提供独占设备的利用率。
本设计程序就是一个能实现spooling技术的进程,并采用随机调度算法模拟spooling进程的调度过程。在设计过程中,我们不仅要理解spooling技术原理,学会利用数据结构算法,学会利用调用函数的方法,还要巧妙地利用随机函数,才能更好地设计出本程序SPOOLING假脱机输入\输出技术广泛应用于各种计算机的I/O。该技术通过采用预输入和缓输出的方法,使用共享设备的一部分空间来模拟独占设备,以提供独占设备的利用率。
关键字: SPOOLING假脱机 共享设备 模拟独占设备 随机函数
正 文
设计思想
本课题是设计了一个SPOOLING输出进程和两个请求输出的用户进程,以及一个SPOOLING输出服务程序。SPOOLING输出进程工作时,根据请求块记录的各进程要输出的信息,将其实际输出到打印机或显示器。这里,SPOOLING进程与请求输出的用户进程可并发运行。
进程调度采用随机算法,这与进程输出信息的随机性相一致。两个请求输出的用户进程的调度概率各为45%,SPOOLING输出进程为10%,这由随机数发生器产生的随机数模拟决定。进程基本状态有3种,分别为可执行,等待和结束。可执行态就是进程正在运行或等待调度的状态;等待状态又分为等待状态1,等待状态2,等待状态3。
状态变化的条件为:
1>进程执行完成时,置为“结束”态。
2>服务程序在将输出信息送输出井时,如发现输出井已满,将调用进程置为“等待状态1”。
3>SPOOLING进程在进行输出时,若输出井空,则进入“等待状态2”。
4>SPOOLING进程输出一个信息快后,应立即释放该信息快所占的输出井空间,并将正在等待输出的进程置为“可执行状态”。
5>服务程序在输出信息到输出井并形成输出请求信息快后,若SPOOLING进程处于等待态则将其置为“可执行状态”。
6>当用户进程声请请求输出快时,若没有可用请求快时,调用进程进入“等待状态3”。程序为两个请求输出的用户进程设计两个输出井。每个可存放10个信息,即buffer[2][10]。 当用户进程将其所有文件输出完时,终止运行。为简单起见,用户进程简单地设计成:每运行一次,随机输出数字0~9之间的一个数,当输入10个数时形成一个请求信息块,填入请求输出信息块reblock结构中。
各模块的伪码算法
1.包含几个函数的头文件
#include/*调用随机函数的头文件*/
#include/*调用时间函数的头文件*/
#include/*标准输入输出的头文件*/
2.定义结构体
struct pcb{/*进程状态*/
int status;
int length;
}*PCB[3];
struct req{/*定义请求输出快结构体*/
int reqname;
int length;
int addr;
}reqblock[10];/*申请10个输出请求块*/
3.定义指针
pcb *tmpPcb=(struct pcb*)malloc(sizeof(struct pcb)); /*为pcb申请空间*/
tmpPcb->status=0;
tmpPcb->length=0;
PCB[n]=tmpPcb;/*初始化pcb*/
req*run;/*给req定义一个指针ru
spooling技术课程设计 linux环境,《SPOOLING技术模拟实现 操作系统原理课程设计》.doc...相关推荐
- spooling技术课程设计 linux环境,SPOOLING技术模拟实现 操作系统原理课程设计.doc
SPOOLING技术模拟实现 操作系统原理课程设计 ******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2010年秋季学期 操作系 ...
- linux文件管理课程设计,操作系统原理课程设计-Linux文件管理系统的仿真.doc
操作系统原理课程设计 实践报告 全套设计加扣 3012250582 题 目: Linux文件管理系统的仿真 姓 名: 学 院: 信息科学技术学院 专 业: 计算机科学技术系 班 级: 计科121 是否 ...
- Linux安全增强技术,采用MAC技术的嵌入式Linux安全增强技术研究.pdf
采用MAC技术的嵌入式Linux安全增强技术研究.pdf Practical Method .实践方法 采用 MAC 技术的 嵌入式 Linux 安全增强技术研究 吴新勇 1 杨霞2 (1.四川九於1 ...
- Linux环境下EDA软件的使用——数字IC设计DC综合篇
Linux环境下EDA软件的使用--数字IC设计DC综合篇 目前,绝大部分集成电路设计所用到EDA软件都是Linux版本,对于芯片工程师,熟悉一款EDA软件是入门的必修课,当然要真正的掌握会是十分 ...
- 操作系统原理课程设计任务书
操作系统原理课程设计任务书 设计目的: 操作系统原理是计算机专业的核心课程,本课程设计旨在让学生学习完理论课程后进行一次全面的综合训练.通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操 ...
- linux环境c语言课程设计,linux环境下c语言编程课程设计
linux环境下c语言编程课程设计 (14页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 1/14LINUX操作系统教程课程设计题目算术 ...
- 基于linux的软plc设计,Linux环境下软PLC开发系统的设计与实现
文章主要介绍了在Linux操作系统环境下,软PLC梯形图的编辑技术.采用基于面向对象的方法,在分析了梯形图组成元素的基础上,阐述了设计过程中使用的类层次结构,并根据梯形图动态存储的特点,描述了存储梯形 ...
- linux简单命令解释器设计,Linux环境下模拟实现命令解释器
在Linux环境下模拟实现命令解释器 一.程序概述 1.进入系统概述 本次课程设计是在红帽Linux发行版(Red Hat Enterprise Linux AS release 4 (Nahant ...
- 在linux中 要删除abc目录,操作系统原理与应用(linux)A卷
福州外语外贸职业技术学院 2010-2011学年第一学期(期末)试卷 09 级网络系统管理专业操作系统原理与应用(linux)科目(A )卷课程代码考试形式闭卷考试时量 120 分钟姓名__ ____ ...
最新文章
- 怎么用python判断数据是否已经存在于表里_数据基本操作(二)
- Picasa——万能图片查看
- 为什么TCP是三次握手
- linux内核阅读感悟,读Kernel感悟-Linux内核启动-从hello world说起
- Linux系统与网络服务管理技术大全(第2版)
- Ext.js入门:TabPanel组件(八)
- SLAM学习------Sophus模板类的安装和使用
- could not load hsdis-mips64el:hsdis-mips64el library not loadable PrintAssembly is disabled
- tplink迷你路由器中继模式_tplink迷你型无线路由器怎么中继模式
- AHRS姿态解算说明(加速度+陀螺仪+磁力计原理及原始数据分析)
- 2023年浙江交安安全员考试题库及答案
- 嵌入式面试(笔试)笔记1
- 最新版本maven引发的血案
- ansible 配置使用大全资料
- 局域网电脑打印机显示未连接到服务器,win7局域网连接打印机显示本地打印后台处理程序服务没有运行...
- 《Scikit-Learn与TensorFlow机器学习实用指南》第13章 卷积神经网络
- STM32入门开发: 制作红外线遥控器(智能居家-万能遥控器)
- 解读 “中国品牌全球信任指数”发布,中国品牌出海迎来大好时机
- 啊哈 算法 Java_《啊哈!算法》.啊哈磊.高清版.pdf
- 233网校题库计算机二级c语言,计算机二级真题(233网校计算机二级题库)