《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...相关推荐

  1. spooling技术课程设计 linux环境,SPOOLING技术模拟实现 操作系统原理课程设计.doc

    SPOOLING技术模拟实现 操作系统原理课程设计 ******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2010年秋季学期 操作系 ...

  2. linux文件管理课程设计,操作系统原理课程设计-Linux文件管理系统的仿真.doc

    操作系统原理课程设计 实践报告 全套设计加扣 3012250582 题 目: Linux文件管理系统的仿真 姓 名: 学 院: 信息科学技术学院 专 业: 计算机科学技术系 班 级: 计科121 是否 ...

  3. Linux安全增强技术,采用MAC技术的嵌入式Linux安全增强技术研究.pdf

    采用MAC技术的嵌入式Linux安全增强技术研究.pdf Practical Method .实践方法 采用 MAC 技术的 嵌入式 Linux 安全增强技术研究 吴新勇 1 杨霞2 (1.四川九於1 ...

  4. Linux环境下EDA软件的使用——数字IC设计DC综合篇

    Linux环境下EDA软件的使用--数字IC设计DC综合篇   目前,绝大部分集成电路设计所用到EDA软件都是Linux版本,对于芯片工程师,熟悉一款EDA软件是入门的必修课,当然要真正的掌握会是十分 ...

  5. 操作系统原理课程设计任务书

    操作系统原理课程设计任务书 设计目的: 操作系统原理是计算机专业的核心课程,本课程设计旨在让学生学习完理论课程后进行一次全面的综合训练.通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操 ...

  6. linux环境c语言课程设计,linux环境下c语言编程课程设计

    linux环境下c语言编程课程设计 (14页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 1/14LINUX操作系统教程课程设计题目算术 ...

  7. 基于linux的软plc设计,Linux环境下软PLC开发系统的设计与实现

    文章主要介绍了在Linux操作系统环境下,软PLC梯形图的编辑技术.采用基于面向对象的方法,在分析了梯形图组成元素的基础上,阐述了设计过程中使用的类层次结构,并根据梯形图动态存储的特点,描述了存储梯形 ...

  8. linux简单命令解释器设计,Linux环境下模拟实现命令解释器

    在Linux环境下模拟实现命令解释器 一.程序概述 1.进入系统概述 本次课程设计是在红帽Linux发行版(Red Hat Enterprise Linux AS release 4 (Nahant ...

  9. 在linux中 要删除abc目录,操作系统原理与应用(linux)A卷

    福州外语外贸职业技术学院 2010-2011学年第一学期(期末)试卷 09 级网络系统管理专业操作系统原理与应用(linux)科目(A )卷课程代码考试形式闭卷考试时量 120 分钟姓名__ ____ ...

最新文章

  1. 怎么用python判断数据是否已经存在于表里_数据基本操作(二)
  2. Picasa——万能图片查看
  3. 为什么TCP是三次握手
  4. linux内核阅读感悟,读Kernel感悟-Linux内核启动-从hello world说起
  5. Linux系统与网络服务管理技术大全(第2版)
  6. Ext.js入门:TabPanel组件(八)
  7. SLAM学习------Sophus模板类的安装和使用
  8. could not load hsdis-mips64el:hsdis-mips64el library not loadable PrintAssembly is disabled
  9. tplink迷你路由器中继模式_tplink迷你型无线路由器怎么中继模式
  10. AHRS姿态解算说明(加速度+陀螺仪+磁力计原理及原始数据分析)
  11. 2023年浙江交安安全员考试题库及答案
  12. 嵌入式面试(笔试)笔记1
  13. 最新版本maven引发的血案
  14. ansible 配置使用大全资料
  15. 局域网电脑打印机显示未连接到服务器,win7局域网连接打印机显示本地打印后台处理程序服务没有运行...
  16. 《Scikit-Learn与TensorFlow机器学习实用指南》第13章 卷积神经网络
  17. STM32入门开发: 制作红外线遥控器(智能居家-万能遥控器)
  18. 解读 “中国品牌全球信任指数”发布,中国品牌出海迎来大好时机
  19. 啊哈 算法 Java_《啊哈!算法》.啊哈磊.高清版.pdf
  20. 233网校题库计算机二级c语言,计算机二级真题(233网校计算机二级题库)

热门文章

  1. 修改Windows中文用户名为英文(更全面的方法)
  2. python自动答题软件_直播答题?Python助你自动搜题之新手篇!
  3. 动手学深度学习-12 循环神经网络基础
  4. error:dereferencing pointer to incomplete type
  5. 节后返京,太太太南了
  6. 岭回归——线性回归算法
  7. 仿腾讯新闻频道定制界面效果
  8. Flink环境搭建(standalone模式)
  9. 视觉大模型调研(Survey of Visual Foundation Model)
  10. 高等数学笔记-苏德矿-第十章 曲线积分和曲面积分-第五节-格林公式