《计算机操作系统设备管理.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统设备管理.ppt(54页珍藏版)》请在装配图网上搜索。

1、计算机操作系统,制作者:张晓艳 2010年5月,第四章 设备管理 设备管理程序的功能: (1)提供和进程管理系统的接口。 (2)进行设备分类。按照设备类型和相应的分配算法把设备和其他有关的硬件分别给请求该设备的进程,并把未分配到所请求设备或其他有关硬件的进程放入等待队列。 (3)实现设备和设备、设备和CPU等之间的并行操作。 (4)进行缓冲管理,解决低速I/O设备与高速CPU之间传送数据不匹配问题。,4.3 缓冲管理 引入缓冲技术的目的 改善中央处理器与外围设备之间速度不配的矛盾,凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。 减少对CPU的中断频率,放宽对CPU中断响应时间的限制, 提。

2、高CPU和I/O设备的并行性。,缓冲技术实现的基本思想: 进程执行写操作输出数据时,向系统申请一个缓冲区,若为顺序写请求,则不断把数据填到缓冲区,直到被装满。此后,进程继续它的计算,系统将缓冲区内容写到I/O设备上。 进程执行读操作输入数据时,向系统申请一个缓冲区,系统将一个物理记录的内容读到缓冲区,根据进程要求,把当前需要的逻辑记录从缓冲区中选出并传送给进程。,在输出数据时,只有在系统还来不及腾空 缓冲而进程又要写数据时,它才需要等待; 在输入数据时,仅当缓冲区空而进程又要从 中读取数据时,它才被迫等待。 根据系统对缓冲区的不同设置,可把缓冲技 术分为以下几类: 单缓冲 双缓冲 循环缓冲 缓。

3、冲池,单缓冲 单缓冲是操作系统提供的最简单的一种缓冲形式。每当一个进程发出一个I/O请求时,操作系统便在主存中为之分配一缓冲区,该缓冲区用来临时存放输入/输出数据。 对于块设备,单缓冲机制如下工作: OS为进程分配一缓冲区,块设备输入时从磁盘把一块数据输入缓冲区的时间为T,OS将缓冲区的数据传送给用户区的时间为M,计算时间为C,则T和C时可以并行的。数据处理时间约为 maxC,T+M。,对于字符设备,缓冲区用于暂存用户输入的一行数据,输入时,进程挂起等待输入完毕;输出时进程将一行数据输入到缓冲区,继续执行处理。如果前面的数据尚未提取完毕,则进程应阻塞。,工作区,用户进程,处理机,单缓冲,输入(。

4、T),传送(M),I/O设备,缓冲区属于临界资源,不允许多个进程同时对一个缓冲区操作,读、写在单缓冲上互斥发生,因此单缓冲无法实现CPU与设备的并行操作。,?,缓冲区属于临界资源,不允许多个进程同时对一个缓冲区操作,读、写在单缓冲上互斥发生,因此单缓冲无法实现CPU与设备的并行操作。,一次仅允许一个进程访问的资源称为临界资源。 硬件资源 如打印机、磁带机等。 软件资源 如共享变量、表格、队列、栈等。,?,双缓冲提高设备并行操作 输入数据时,首先填满缓冲区A,操作系统可从缓冲区A把数据送到用户进程区,用户进程便可对数据进行加工计算;与此同时,输入设备填充缓冲区B。 当缓冲区A空出后,输入设备再次。

5、向缓冲区1输入。操作系统又可把缓冲区B的数据传送到用户进程区,用户进程开始加工缓冲B的数据。,双缓冲,工作区,用户进程,处理机,缓冲区A,缓冲区B,I/O设备,写,读,双缓冲,工作区,用户进程,处理机,缓冲区A,缓冲区B,I/O设备,写,读,如果CT,当上一块数据计算完毕后,需把一个缓冲区中的数据传送到用户区,花费时间为M,再对这块数据进行计算,花费时间为C,所以,一块数据的传输和处理时间为C+M、即max(C,T)+M,这种情况下进程不必要等待I/O。,?,计算机系统中的外围设备较多,读/写 数据速度有很大的差异,在向缓冲区读/写 数据的过程中,高速设备等待的情况仍然 比较严重,设备利用率比。

6、较低。,双缓冲,循环缓冲 环形缓冲技术是在主存中分配一组大小相等的存储区作为缓冲区,并将这些缓冲区链接起来,每个缓冲区中有一个指向下一个缓冲的指针,最后一个缓冲区的指针指向第一个缓冲区,这样n个缓冲区就成了一个环形。 三种类型的缓冲区:用于装输入数据的空缓冲区R、已经装满数据的缓冲区G、以及计算进程正在访问的工作缓冲区C。 设置了四个指针。,循环缓冲,Nexti :指示写进程下次可用的空缓冲区R,循环缓冲,Nextg :指示读进程下一个可用的缓冲区G,循环缓冲,Current_R: 指示读进程正在使用的缓冲区,循环缓冲,Current_W: 指示写进程正在使用的缓冲区,进程同步问题,(1)Ne。

7、xti指针追赶上Nextg指针。 这意味着进程输入数据的速度大于进程取数据的速度,已把全部缓冲区装满。此时,写进程应阻塞,直到读进程把某个缓冲区的数据全部提取完,使之成为空缓冲区R,并调用Releasebuf过程将它释放时,才将写进程唤醒。 (2)Nextg指针追赶上Nexti指针 这意味着读进程取数据的速度高于写进程输入数据的速度,使全部缓冲区都被抽空,读进程只能阻塞,直到写进程装满某个缓冲区,调用Releasebuf过程将它释放时,才去唤醒计算进程。,循环缓冲,循环缓冲,?,循环缓冲区仅适用于某特定的I/O进程和 计算进程,属于专用缓冲,共享程度低。 当系统较大时,将会有许多这样的缓冲区,。

8、这不仅要消耗大量的内存空间,而且其利用率不高。,缓冲池 从自由主存中分配一组缓冲区即可构成缓池。 1缓冲池的组成 缓冲池中的缓冲区一般有以下三种类型:空闲缓冲区、装满输入数据的缓冲区和装满输出数据的缓冲区。 为了管理将相同类型的缓冲区链成三个队列: 空缓冲队列emq 输入队列inq 输出队列outq,除了上述三种队列外,还应具有四种工作缓区: 用于收容输入数据的工作缓冲区hin; 用于提取输入数据的工作缓冲区sin; 用于收容输出数据的工作缓冲区hout; 用于提取输出数据的工作缓冲区sout;,缓冲池,2. Getbuf过程和Putbuf过程,队列是临界资源互斥且同步 信号量 为使诸进程能互。

9、斥地和同步地访问缓冲池队列, 可分别为每一队列设置一个互斥访问信号量S1(type), 初值为1。 另外一个是资源同步信号量S2(type), 初值为n,表示该类缓冲区的数目。,Getbuf与Putbuf流程图,3.缓冲区的工作方式,3.缓冲区的工作方式,1)收容输入工作方式 调用Getbuf(emp) emp队列的队首摘下一个空缓冲区 hin 输入数据 调用Putbuf(inq,hin) 将hin挂到inq队列的队尾 2)提取输入工作方式 调用Getbuf(inq) 输入队列的队首摘下一个缓冲区 sin 提取数据 调用Putbuf(emp,sin) 将sin挂到emp队列的队尾 3)收容输出。

10、工作方式 调用Getbuf(emp) emp队列的队首摘下一个空缓冲区 hout 输出数据 调用Putbuf(outq,hout) 将hout挂到outq队列的队尾 4)提取输出工作方式 调用Getbuf(outp) 输出队列的队首摘下一个缓冲区 hin 提取数据 调用Putbuf(emp,sout) 将sout挂到emp队列的队尾,设备分配的总原则 (1)既要充分发挥设备的使用效率,又要避免由于不合理的分配方法而造成进程死锁 (2)实现设备的独立性,即把用户程序和具体物理设备隔离开来。,4.4设备分配, 系统分配时要考虑的因素 1.设备分配方式 静态分配方式 不会出现死锁 设备利用率低,一般。

11、不使用 动态分配方式 提高了设备利用率,但可能造成死锁 1)先请求先分配 2)优先级高者先分配,系统分配时要考虑的因素 2.设备特性 独占设备 独享分配策略(静态分配) 设备利用率低 共享设备 虚拟设备 同时分配给多个进程使用(动态分配) 合理调度访问次序,系统分配时要考虑的因素 3.设备分配中的安全性 安全分配方式 摒弃了“请求和保持”条件 CPU与I/O设备串行工作,进程进展缓慢 不安全分配方式 一个进程可同时操作多个设备,进程推进迅速 可能造成死锁,应进行安全性计算, 设备分配中的数据结构 1.设备控制表DCT, 设备分配中的数据结构 2.系统设备表SDT, 设备分配中的数据结构 3.控。

12、制器控制表COCT, 设备分配中的数据结构 4.通道控制表CHCT, 设备分配算法, 设备分配算法,单通路I/O,多通路I/O,设备独立性 应用程序独立于具体使用的物理设备 设备分配时的灵活性 易于实现I/O重定向,逻辑设备表(LUT),用于单用户系统,用于多用户系统,4.5 设备虚拟性,脱机输入输出 增加不与主机相连而专门用于 输入/输出的外围计算机 SPOOLing(Simultaneous Peripheral Operations On-line 外围设备同时联机操作) 假脱机操作,SPOOLing系统的组成,(1)提高了I/O的速度 (2)将独占设备改造成了共享设备 (3)实现了虚拟。

13、设备功能,SPOOLing系统的特点,SPOOLing系统的应用 共享打印机,设备处理是通过设备处理程序来实现的,通常又称为设备驱动程序。它是I/O进程和设备控制器之间的通信程序,常以进程的形式被CPU调度。,4.6 设备处理过程,设备驱动程序的特点 (1) 驱动程序主要是在请求I/O的进程与设备控制器之间的一个通信程序。它将进程的I/O请求传送给控制器,而把设备控制器中所记录的设备状态、I/O操作完成情况,反映给请求I/O的进程。 (2) 驱动程序与I/O设备的特性紧密相关。一般情况下,各类设备包括不同厂家生产的同一类设备都采用不同的驱动程序。目前有很多驱动程序,其基本部分已经固化,放在RO。

14、M中。 (3) 根据不同的I/O控制方式,驱动程序驱动设备完成相应的I/O工作。,设备驱动程序的主要功能 (1) 将接收到的抽象要求转换为具体要求。 (2) 检查用户I/O请求的合法性,了解I/O设备的状态,传递有 关参数,设置设备的工作方式。 (3) 发出I/O命令,启动分配到的I/O设备,完成指定的I/O操作。 (4) 及时响应由控制器或通道发来的中断请求,并根据其中断 类型调用相应的中断处理程序进行处理。 (5) 对于设置有通道的计算机系统,驱动程序还应能够根据 用户的I/O请求,自动地构成通道程序。,设备处理流程,每类(个)设备设置一个专门的I/O进程,且该进程只能在系统态下执行。 整个系统设置一个I/O进程,全面复杂系统的数据传送工作。 每类(个)设备设置一个专门的I/O进程,但该进程既可以用在用户态也可以在系统态下执行。,设备处理方式,谢谢大家。

计算机操作系统设备管理ppt,计算机操作系统设备管理.ppt相关推荐

  1. 大学计算机基础简明教程第二版答案,操作系统基础 大学计算机基础简明教程.ppt...

    操作系统基础大学计算机基础简明教程ppt课件 第四章 操作系统 操作系统在计算机软件系统中的地位 操作系统分类 常用操作系统 常用操作系统 常用操作系统 4.2 Windows基础 4.2.1 Win ...

  2. 认识计算机操作系统ppt,使用操作系统,认识计算机.ppt

    <使用操作系统,认识计算机.ppt>由会员分享,可在线阅读,更多相关<使用操作系统,认识计算机.ppt(18页珍藏版)>请在人人文库网上搜索. 1.第一台计算机的诞生,世界上第 ...

  3. 广西大学计算机类开设课程,操作系统教学大纲-广西大学计算机与电子信息学院.DOC...

    操作系统教学大纲-广西大学计算机与电子信息学院 <操作系统实验>实验教学大纲 课程名称:操作系统实验 课程编号: 总学时: 30 适用对象:计算机专业本.专科学生 一.教学目的与任务 学会 ...

  4. 计算机组成原理主存储器知识点,计算机组成原理(存储器).ppt

    计算机组成原理(存储器).ppt 计算机组成原理,主讲颜俊华 存储子系统,存储子系统,主要知识点 掌握存储器的分类.存储系统的层次结构 掌握存储单元.存储容量.地址线.数据线的关系3. 掌握用半导体存 ...

  5. 操作系统 第一章 计算机系统概述

    1.1 操作系统的基本概念 计算机系统自上而下可以分为四部分:硬件.操作系统.应用程序和用户.操作系统管理各种计算机硬件,为应用程序提供基础,并充当计算机硬件与用户之间的中介. 操作系统是指控制和管理 ...

  6. 【操作系统】《计算机的心智:操作系统之哲学管理》读书笔记

    本书从生活哲学的视角对操作系统进行了独到的阐述.从人类自然的行为规范推演到操作系统的设计与实现,以一条逻辑轴线将整个操作系统的各种原理精彩呈现到读者眼前. 这本书的语言风格比较独特,作者以风趣形象的语 ...

  7. 计算机操作系统相关论文,计算机操作系统的基本功能及应用论文

    计算机操作系统的基本功能及应用论文 在平时的学习.工作中,大家都接触过论文吧,论文是讨论某种问题或研究某种问题的文章.那么问题来了,到底应如何写一篇优秀的论文呢?以下是小编收集整理的计算机操作系统的基 ...

  8. 计算机操作系统--网络操作系统和嵌入式操作系统

    网络操作系统 1. 网络操作系统的基本概念 计算机网络系统除了硬件,还需要有系统软件,两者结合构成计算机网络的基础平台.操作系统是最重要的软件.网络操作系统是网络用户和计算机网络之间的一个接口,它除了 ...

  9. 计算机基础(04)操作系统基础

    4 操作系统基础 4.1 操作系统基础知识 4.1.1 操作系统基本概念 操作系统:是管理计算机软硬件资源的程序,同时它又是用户与计算机硬件的接口:操作系统是配置在计算机硬件上的第一层软件,是控制计算 ...

  10. 信息处理工具计算机.ppt,计算机信息处理工具之一.ppt

    文档介绍: 第二课 计算机--信息处理工具(之一) 电子计算机的发展 1 可编辑ppt 回顾概念: 信息 : 就是指以声音.语言.文字.图像.动画.气味等方式所表达的实际内容. 信息处理: 本质就是指 ...

最新文章

  1. 图像几何变换C++实现--镜像,平移,旋转,错切,缩放
  2. 暗夜ト星ノ冥土馆~ぷにゅぷりXX 汉化补丁
  3. 如何使用jQuery按名称选择元素?
  4. 抽象类、抽象方法与代码块
  5. STL 之fill和fill_n
  6. 51NOD 2072 装箱问题 背包问题 01 背包 DP 动态规划
  7. java简单文本编译器_java -简易文本编辑器
  8. 经典面试题(11):关于变量提升,以下代码将输出什么?
  9. Flutter文本标签TextTagWidget,搜索记录流式布局显示文本标签
  10. 视觉SLAM——D435i运行ORB-SLAM2-RGB-D(依赖ros版)
  11. 50 招教你防止黑客入侵,适用于入门小白到专业人员
  12. 推荐系统算法工程师培养计划
  13. HC蓝牙模块测试AT指令搭建外部电路遇到的问题
  14. C++中Lambda函数(匿名函数)
  15. php完整系统由哪几部分,一个完整的物联网系统由哪些部分组成,各有什么功能?...
  16. Server2016系统关闭windows自动更新
  17. 国际贸易13种术语你都了解吗?
  18. 高德地图插件的简单使用
  19. RabbitMQ介绍和安装以及当下发展现状
  20. java控制订单过期时间_订单自动过期实现方案

热门文章

  1. 如何查看chrome浏览器插件位置
  2. 你可能不知道的 ZooKeeper 知识点
  3. 版权中心改革之后,软著办理需要多少钱?
  4. 设计透明背景的ICON(网页小图标)
  5. 活码裂变工具对比(2019年最新版)
  6. 我的新伙伴,微点主动防御
  7. C语言2009年慈溪最大的数,2009年慈溪市初二数学竞赛试题+答案
  8. Latex中WinEdt 引用bib文件的方法
  9. 九阳真经: 明摆着就是的事情. 一帮人VS另一帮人,
  10. Day25-软件工程基础实验作业