目录

1、设备管理基础知识

(1)、外部设备分类

(2)、注意事项

2、I/O硬件原理

(1)、不同方式对I/O设备分类

(2)、I/O控制方式

(3)、设备控制器

3、I/O软件原理

(1)、I/O软件设计目标和原则

(2)、设备驱动程序的

(3)、用户空间的I/O软件

4、缓冲技术

5、设备独立性的好处?

6、虚拟设备

(1)、SPOOLing为什么又叫假脱机技术?

(2)、什么是虚拟设备?实现虚拟设备的主要条件是什么?


1、设备管理基础知识

(1)、外部设备分类

  • 存储型设备:磁带机、磁盘机等,以存储大量信息为主和快速检索为目标,在系统中存储持久性信息,它是作为内存的扩充,因此叫外存
  • I/O设备:显示器、打印机、通信设备等,他们把外界信息输入到计算机中,把计算结果从计算机输出,完成计算机之间的交互或者人机交互

(2)、注意事项

  • 设备管理系统是计算机中最为复杂的一部分,通常使用I/O中断、缓冲区管理等多种技术,这些措施能够很好地克服由于I/O设备和CPU速度不匹配的问题,使主机和设备能够并行工作,提高设备使用效率
  • 另一方面,操作系统将所有设备抽象为文件,将其统一在文件系统之下,赋予文件属性,对设备的操作就类似于对文件的操作,其优点是:尽可能统一文件和设备的I/O处理;尽可能把设备文件和普通文件纳入同一保护机制下

2、I/O硬件原理

(1)、不同方式对I/O设备分类

  • 按照I/O操作特性可以分为:输入型设备、输出设备、存储型设备
  • 按照I/O信息交换为单位分为:字符设备、块设备
  • 其中输入型和输出型设备通常是字符设备,它与内存进行交换的单位是字节,即一次交换1个或者多个字节,存储型设备通常是块设备
  • 存储型设备又可以分为顺序存储设备和直接存储设备

(2)、I/O控制方式

CPU 和并行工作具有重大意义,能大幅度提高计算机系统的效率和资源利用率。从早期的采用轮询方式,CPU 全程参加I/O操作,到使用中断方式,以减少CPU 参与I/O操作的工作量,直到引入DMA和通道方式,可以完全在没有CPU 的情况下实现I/O操作,消除系统性能瓶颈

  • 轮询查找:又称程序直接控制方式,使用查询指令测试设备控制器的忙闲状态位,确定内存和设备是否能交换数据
  1. 轮询方式使用三条指令:查询指令,查询设备是否就绪;读写指令,当设备就绪时执行数据交换;转移指令:当设备未就绪时执行转移指令转向查询指令继续查询
  2. 一方面CPU 轮询设备的当前状态会终止原程序的执行,浪费宝贵的时间;另一方面,I/O准备就绪后,需要CPU参与当前的数据传输工作。所以可见CPU和设备只能串行工作,而不能并行执行,不能充分发挥主机功效,设备也不能得到合理的利用,整个系统的效率很低
  • 中断方式:设备与CPU之间必须要有中断请求线,设备控制器的状态存储器中有相应的中断允许位
  1. 程序中断方式I/O由于不必忙式轮询设备,所以 CPU 和设备可以实现部分并行操作,所以与程序查询方式相比使得整个 CPU 的资源得到更加充分的利用
  2. 在I/O中断的方式中数据缓冲区很小,当缓冲区装满数据之后便会发生中断,那么在数据传输过程中发生中断的次数就会过多,这样就会大量耗费 CPU  的时间。若是系统配置多种设备,这些设备都是通过中断处理方式实现并行工作,会使得中断次数急剧增加,造成 CPU 来不及响应或者丢失数据
  • DMA方式
  1. DMA不仅设有中断机制而且还有DMA传输控制器,若是出现DMA和CPU同时经总线访问内存的情况,cpu总是把总线占有权让给DMA,称为“周期窃用”。窃取时间通常是一个存取周期,让设备和内存之间实现数据交换,而不再需要CPU 的干预,这样可以减轻CPU 的负担。每次传输数据的数据的时候,不必进入到中断系统,进一步提高了 cpu 资源利用率
  2. 但是DMA传输需要窃取时钟周期,会降低 CPU 的处理效率,DMA的功能不强,不能满足I/O 操作的复杂功能,所以在大型计算机中一般使用通道技术
  • 通道方式
  1. 通道方式是DMA方式的发展,能够再次减少cpu对I/O操作的干预。它能够充分发挥CPU 和设备之间并行工作的能力,也可以使种类繁多且物理特性各异的设备能够以标准的接口连接到计算机系统中
  2. 通过通道来管理和控制I/O操作,把CPU 从I/O 操作中彻底解放出来,实现设备和CPU 并行操作,通道之间并行操作,设备之间并行操作,设备之间并行操作,使整个系统效率高效

(3)、设备控制器

  • 接受或者识别 CPU 或通道发来的消息。例如,磁盘控制器能接受读、写、查找等各种命令
  • 实现数据交换。包括设备和控制器之间的数据传输,且通过数据总线或通道,控制器和内存之间数据传输
  • 发现或和记录设备及自身的状态信息,供CPU 处理使用
  • 设备地址识别

3、I/O软件原理

(1)、I/O软件设计目标和原则

  • I/O软件设计的总体目标是高效性和通用性

(2)、设备驱动程序的

  • 设备驱动程序主要包含三部分功能
  • 设备驱动程序的功能是从独立于设备的软件中接受并且执行I/O请求
  1. 设备初始化。在系统初次启动的时候或者进行数据传输时,预置设备和控制器以及通道的状态
  2. 执行设备驱动例程。负责启动设备,进行数据传输,对于具有通道的I/O设系统,此例程还负责生成通道命令和通道程序,启动通道工作
  3. 调用和执行中断处理程序。负责处理设备和控制器以及通道所发出的各种中断

(3)、用户空间的I/O软件

  • SPOOLing软件
  1. SPOOLing就是在内核外运行的系统I/O软件,它采用预输入、缓输出、和井管理技术,是多道程序设计系统中处理独占资型设备的一种方法,创建守护进程和特殊目录解决独占型设备额空占问题

4、缓冲技术

  • 目的:为了解决 cpu 与设备之间速度不匹配的矛盾以及协调逻辑记录大小和物理记录大小不一致的问题,提高 CPU 和设备的并行性,减少I/O操作对 CPU 的中断次数,放宽对 CPU 响应时间的要求,操作系统普遍采用缓冲技术
  • 实现缓冲区技术的基本思想是:当进程执行写操作输出数据时,先向系统申请一个输出缓冲区,然后将数据送至缓冲区,若是顺序写请求,则不断地将数据填入缓冲区,直到装满为止,此后进程可以继续计算,同时系统将缓冲区中内容写到设备上。当进程执行读操作输入数据时,先向系统申请一个缓冲区,系统将设备上的一条物理记录读至缓冲区,根据要求把当前所需要的逻辑记录从缓冲区中选出并传送给进程
  • 常用的缓冲技术:单缓冲、双缓冲和多缓冲

5、设备独立性的好处?

  • 应用程序与具体的物理设备无关,系统增减或者变更设备时对源程序不加以任何修改
  • 容易应对I/O设备故障
  • 提高系统可靠性,增加设备分配的灵活性
  • 更有效地利用设备资源,实现多道程序设计

6、虚拟设备

(1)、SPOOLing为什么又叫假脱机技术?

SPOOLing 技术就是利用多道程序中的一道程序来模拟脱机输入时的外围控制机的功能,把低速 I/O 设备上的数据传送到高速磁盘上;用另一道程序来模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。这样,便在主机的直接控制下,实现脱机输入、输出功能。此时的外围操作与 CPU 对数据的处理同时进行,这种在联机情况下实现的同时外围操作称为 SPOOLing ,或称假脱机操作。

(2)、什么是虚拟设备?实现虚拟设备的主要条件是什么?

虚拟设备:为了提高独占设备的利用率,采用SPOOLING技术,用可共享的设备模拟独占设备,使独占设备成为共享设备,使每个作业感到自己分到了速度极高的独占设备。这种模拟的独占设备称为虚拟设备。
       实现条件:预输入程序; (2) 井管理程序; (3) 缓输出程序。

review设备管理相关推荐

  1. 如何在团队中做好Code Review

    一.Code Review的好处 想要做好Code Review,必须让参与的工程师充分认识到Code Review的好处 1.互相学习,彼此成就 无论是高手云集的架构师团队,还是以CURD为主的业务 ...

  2. 操作系统学习笔记 第六章:设备管理(王道考研)

    本文章基于网课: 2019 王道考研 操作系统 考试复习推荐资料:操作系统复习总结 - 百度文库 (baidu.com) 需要相关电子书的可以关注我的公众号BaretH后台回复操作系统 第一章:操作系 ...

  3. 计算机的网络端口管理器,Win7设备管理器没有端口选项的三大原因及解决措施...

    最近有朋友反应Win7系统中的设备管理器中没有端口选项,也就是COM和LPT都没有,导致一些设备无法连接,这时候该怎么办呢?如何解决Win7没有端口选项的问题?下面小编告诉大家三种导致设备管理器没有端 ...

  4. git review devops过程

    自己搭建的devops环境是gitlab/gerrit/jenkins 1. 首先自己checkout一个自己的代码分支,一般不要在master上做直接修改 2. 修改后git add file,   ...

  5. 计算机设备管理器不显示com,台式机设备管理器打开是空白怎么办_win10设备管理无法显示解决方法...

    2015-06-15 14:08:22 浏览量:2252 win7设备管理器空白怎么办?最近有用户反馈打开设备管理器的时候,发现win7设备管理器显示空白,该怎么处理这个问题?下面跟随小编脚步一起看看 ...

  6. Google是如何做Code Review的?| CSDN原力计划

    作者 | 帅昕 xindoo 编辑 | 屠敏 出品 | CSDN 博客 我和几个小伙伴一起翻译了Google前一段时间放出来的Google's Engineering Practices docume ...

  7. 刚进美团,就被各种Code Review,真的有必要吗?

    点击关注公众号,Java干货及时送达 众所周知,Code Review是开发过程中一个非常重要的环节,但是很多公司或者团队是没有这一环节的,今天笔者结合自己所在团队,浅谈Code Review的价值及 ...

  8. 刚入职,就被各种 Code Review,真的有必要吗?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:juejin.cn/post/ 6882333635 ...

  9. 有必要做 Code Review 吗???

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料!作者:梨香 链接:https://juejin.im/pos ...

最新文章

  1. arraylist 后往前遍历_面试官:谈谈常用的Arraylist和Linkedlist的区别
  2. fatal error LNK1561: 必须定义入口点问题的我是这样解决的
  3. 《C++ Primer》8.3.1节练习
  4. Linux获得命令帮助
  5. Linux守护进程的创建(结合nginx框架)
  6. 自动产生fsm代码的工具_代码自动生成工具
  7. LeetCode 698. 划分为k个相等的子集(回溯)
  8. 一台服务器创建多个ssh_如何创建可用于生产的第一台安全服务器
  9. 用matlab绘制P三曲线,知道曲线方程 怎么用matlab绘制三维图 一定要给出程序 , matlab怎样画三维曲线...
  10. Strut2开发经验总结
  11. tomcat 错误页面html,Nginx整合Tomcat后配置友好错误界面
  12. 牙龈出血试试四个食疗方_新闻中心_新浪网
  13. python三本经典书籍-关于 Python 的经典入门书籍有哪些?
  14. Linux运维养成记-磁盘管理LVM 逻辑卷
  15. gxf------阿里云学生机部署Django项目2020
  16. Nebula Graph介绍和SpringBoot环境连接和查询
  17. java 加密并打包_java实现将多个文件打包成zip压缩文件以及对压缩文件的加密
  18. WPF之NPOIE导出xcel
  19. 计算机临时保存信息,Windows临时文件夹是什么,Windows临时文件夹保存位置在哪里?...
  20. python代替云打码的超级鹰验证码识别第三方工具使用分享

热门文章

  1. 电脑dhcp服务器修改,更改电脑dhcp服务器地址
  2. 数据结构-C语言-严蔚敏
  3. [翻译练习] Node interview of ElemeFE OS
  4. (2.0版本)企业微信可信域名,个人添加企业微信可信IP方法
  5. 初步使用计算机教学设计,【教资笔试——科目三】信息技术教学设计范例
  6. linux route 刷新_linux route命令反应很慢是什么原因?
  7. 思维导图的分类 利用思维导图绘制学习知识方法介绍
  8. 三维表面的降噪处理 (surface denoising)
  9. PostgreSQL 插入数据报错:column “xxx“ does not exist 解决方法
  10. php-fpm彻底解决502(php-fpm多开、nginx限制并发、定时重启)解决网站卡顿的终极奥义