2019独角兽企业重金招聘Python工程师标准>>>

1. 设备的分类

(1) 按用途分

输入设备
输出设备 
输入输出设备 如:磁盘、磁带

(2) 按数据传输格式分

字符设备 如:终端键盘、显示器、打印机、绘图仪,传输速度低

块设备 如:磁盘、磁盘,其传输速度快,一般不与人交互作用

(3) 按设备分配方式分

独享设备 在任何时刻只能为一个用户使用,一般都是低速或中速设备,如:终端、打印机、绘图仪

共享设备 允许多个作业或进程同时使用,即交替或分时地向多个作业提供服务,在宏观上呈现共享,这类设备都是高速设备,且容量大,可直接存取。如硬盘、软盘。

虚拟设备 通过模拟设备技术,把原来只能独享的设备改造成若干个可以共享的设备。

2. 设备管理的目标与功能

目标:

为用户提供方便的用户接口
尽可能提高外部设备的使用效率

功能:

设备的分配和回收
缓冲区管理
控制设备的I/O操作

3. 设备的控制方式

(1) 循环测试方式(查询方式)

CPU每当执行I/O操作之前,都必须对外设的状态进行测试,若外设准备就绪,就进行I/O操作,否则反复测试,直到外设处于就绪状态,再进行I/O操作。此方式CPU利用率极低,不适合多道程序系统。

(2) 中断控制方式

CPU 在外设工作期间不需对其状态进行测试而转向执行其它程序,只在外设完成其工作并通过中断方式通知CPU时,CPU才转去执行中断服务程序,为设备传送数据并启动设备工作。从宏观上看,CPU与外设是并行工作的,提高了CPU的利用率。

(3) DMA方式

DMA方式即直接存取存储器方式,它能在DMA接口的控制下直接进行内存与外设之间的大批数据的传送,CPU不参与传送。此方式功能较简单,只能进行取数、送数操作,不能满足较为复杂的I/O要求。DMA方式只相当于执行一条通道指令。

(4) 通道方式

通道是一个独立于CPU的专门负责输入输出控制的比较简单的处理机,它有自己的通道指令,可以执行通道程序,并通过通道程序控制内存与外设之间的数据传送。它可以控制多台设备并行工作。

(5) I/O处理机

比通道具有更强更灵活的功能,其工作过程与通道大体相同。

4. 缓冲区管理

缓冲技术:是在内存中设置一块具有n个单元的区域作为缓冲区,用以存放内存和外设之间传输的数据。

缓冲区管理:指设备管理程序对和缓冲区施加的管理,主要是缓冲区的分配和回收。

缓冲区结构

循环队列形式 :将数据写入缓冲区时,相当于在循环队列中加入一个元素;当从缓冲区取走一个数据时,相当于在循环队列中删除一个元素。

单缓冲区或多缓冲区形式: 输入时外设先将数据送入缓冲区,CPU则从缓冲区中成批取走数据进行处理;输出时CPU先将数据写入缓冲区,外设再慢慢从缓冲区取出数据。

缓冲池形式:其中存在三种类型的缓冲区:输入数据缓冲区、输出数据缓冲区、空白缓冲区。对它们用链接指针分别链成三个队列:输入队列输出队列空白队列

输入数据时,从空白队列中取出一个缓冲区,收容输入数据并将其挂在输入队列末尾;

输出数据时,从空白队列中取出一个缓冲区,收容输出数据并将其挂在输出队列末尾;

当进程用完输入数据或外设处理完输出数据后,再将这部分缓冲区挂到空白队列末尾。

5. 设备分配

设备分配的任务是按照一定的策略或算法为请求设备的进程分配合适的设备及相关的硬件(如通道、控制器等)。设备分配的策略随设备类型的不同而不同。

为了对设备进行有效管理,系统对每台设备的情况进行登记,放在各设备的设备控制块DCB中,设备调度程序依据UCB来实施调度。

DCB的内容:设备标识符、设备状态、与设备相连的控制器表、等待此设备的进程表。

(1) 独享设备的分配

· 静态分配:在作业运行之前就对作业申请的设备进行分配,直到作业结束后才收回。由于作业在运行期间往往不是连续、充分地使用设备,故设备利用率低。

· 动态分配:在作业运行过程中,当进程提出设备申请时才进行分配,一旦停止使用立即回收,而不管整个作业是否已运行结束。可采用先请求先服务优先数法的分配算法,要注意防止系统产生“死锁”。

(2) 共享设备的分配

在多道程序系统,各进程对共享设备的访问极其频繁,要根据设备的特点采用不同分配策略。如对磁盘的分配策略就包括:查找优化策略和旋转优化策略。

(3) 虚拟设备

即采用虚拟设备技术使独享设备成为逻辑上的共享设备。实现虚拟设备的硬件和软件系统称为SPOOLing(联机外围操作)系统,也称假脱机系统。其工作过程大致为:利用共享的外存中的某些区域作为输入缓冲区(输入井)和输出缓冲区(输出井)。输入设备先把数据送到并存放在输入井中,当进程运行需要这些数据时,直接从输入井中获得,而不是直接从输入设备获得,输出时反之。

6. 设备驱动和中断处理

设备驱动程序:负责接收和分析从设备分配程序转来的信息以及设备控制块中的信息,结合设备特性,对要输入输出的信息进行格式转换,使之变成设备能够执行的形式,完成实际的I/O操作。

中断处理程序:负责处理设备或通道的中断请求,判断输入输出是否结束,若未结束,则转入设备驱动程序继续启动设备,否则,结束对该设备的控制,并将其释放。如果是设备故障或其它错误造成的中断,则负责进一步查明原因并进行相应的处理。

设备驱动程序和中断处理程序有时统称为设备处理程序。

转载于:https://my.oschina.net/starmier/blog/173337

设备管理(最近考试有考到,就转一下)相关推荐

  1. 职称考试还要考计算机 英语,强烈建议取消所谓的英语职称和计算机考试

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 强烈要求取消职称计算机`英语考试 职称计算机`英语考试坑苦了广大相关受害者,其实质是某个别部门单位敛财的冠冕堂皇的项目.那些政策制定者美其名曰是通过考试激 ...

  2. 电大计算机应用,(2016年电大)电大全国计算机应用考试网考.doc

    (2016年电大)电大全国计算机应用考试网考 计算机基础知识一般认为,世界上第一台电子数字计算机诞生于-------.(1946年)计算机当前已应用于各种行业,各种领域,而计算机最早的设计是针对--- ...

  3. 计算机没考好检讨,考试没考好检讨书范文(精选6篇)

    考试没考好检讨书范文(精选6篇) 在学习.工作.生活中出现了失误后,为了避免再犯,就需要写一份自我检讨书好好进行自我检讨,写检讨书是为了能够不断提醒自己.那么问题来了,到底应如何写检讨书呢?以下是小编 ...

  4. 云痕大数据考试中途可以退出吗_2020CPA考试出考率,创新低?

    2020年注册会计师第一场考试已经告一段落,高顿CPA老师已经迫不及待想了解今年的出考率情况了. 关于出考率,也是每年热度非常高的一个话题.今年的出考率情况如何?已有省份公布了相关数据. 缺考率吓人, ...

  5. 广西计算机一级考试是机考吗,广西计算机一级考试机考模式探索及应用.doc

    广西计算机一级考试机考模式探索及应用 广西计算机一级考试机考模式探索及应用[摘 要]我们学校是一所中等卫生学校,每年都承办广西区计算机一级考试,考生将近1600人,如何在利用现有的设备和资源,而不增加 ...

  6. 计算机专业湖南土建中级职称考试,湖南土建专业中级职称考试,考什么内容方面...

    原标题:湖南土建专业中级职称考试,考什么内容方面 湖南土建中级职称.土建专业资格考哪些容? 湖南土建中级职称江老师 一.考试目的 建筑工程专业技术资格考试是以专业技术为基础,考核和评定工程技术人员能力 ...

  7. 湖北农商行计算机类笔试,2018湖北农商行招聘考试面试考多少分,才能进笔试?...

    原标题:2018湖北农商行招聘考试面试考多少分,才能进笔试? 昨天,湖北农商行各地农商行面试分数线陆续出来了,恭喜过线的小伙伴,你们顺利的进入了笔试阶段,接下来小编给大家说一下各地的进笔试的分数线~ ...

  8. 计算机应用与基础实践怎么考,自考计算机基础应用科目笔试和实践性考试怎么考...

    自考计算机基础应用科目笔试和实践性考试怎么考? 报考自考的考生有些专业的考生会在自己的课程科目中发现计算机基础应用不仅有理论知识考试还有实践性考试,那么自考计算机基础应用科目的笔试和实践性考试怎么考? ...

  9. 2020江苏省计算机等级考试题库,2020年江苏省计算机等级考试易考套餐:三级数据库技术题库+教材...

    &nbsp&nbsp[导读]:2020年江苏省计算机等级考试易考套餐:三级数据库技术题库+教材,更多江苏等级考试易考套餐,请访问易考吧江苏等级考试栏目 2020年江苏省计算机等级考试易 ...

  10. 计算机科学与技术考英语一还是英语二,​在职研究生考试是考英语一还是英语二?区别是什么?...

    在职研究生考试中,英语是必考且十分重要的科目之一,但是有一些刚刚接触在职研究生的在职人士不知道在职研究生考试中考的是哪类英语.因此,有在职人士咨询,在职研究生考试是考英语一还是英语二?区别是什么? 一 ...

最新文章

  1. Entity Framework 6 Recipes 2nd Edition(10-6)译 - TPT继承模型中使用存储过程
  2. 聊一聊:我退钱了!你呢?
  3. module 'yaml' has no attribute 'FullLoader'
  4. [转载]安装Oracle11gR2先决条件检查失败的详细解决处理过程
  5. top20万_主播收入榜(12.10)| 快手小伊伊收入150万;薇娅抖音快手开账号
  6. linux内核修改工程环境,linux2.6.33内核移植s3c2410以和交叉环境编译搭建最终修改版.pdf...
  7. Git 仓库代码迁移步骤记录
  8. [转载]Bluetooth协议栈学习之SDP
  9. 人设崩塌?万茜被盗号甩锅程序员,却两次被官方打脸,网友:作死
  10. MyBatis防止SQL注入的方法
  11. 东芝Q300 PS3110主控 开卡教程+软件(技术篇)
  12. C++ : 热血格斗场
  13. 帆软FineBI试用
  14. 腾讯官网生成qq在线客服代码
  15. Java中的String长度限制
  16. GPS北斗授时服务,NTP让网络时钟同步更精确
  17. Mysql数据库报错:Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DY
  18. 华为H3C配置单臂路由、静态默认浮动路由的配置方法
  19. android sqlite 分词,SQLite 之FTS5全文检索
  20. pcie转sata3硬盘不启动_【聚评测】第2期 名单公示【阿卡西斯 NVMe M.2 固态硬盘盒】...

热门文章

  1. datetime与timestamp的区别
  2. Flutter实战之Image和FadeInImage
  3. Android AlertDialog创建过程详解
  4. 监控系统哪家强?eBay 在监控系统上的实践应用!
  5. MQTT服务器Mosquitto安装及使用
  6. 能解决 80% 故障的排查思路
  7. php 单位食堂订餐,单位饭堂订餐系统(手机订餐)
  8. html中src中的url,HTML 中的 href\src\url
  9. java案例代码21-电影院购票系统[重要]
  10. go语言--正则表达式过滤数据--通过文件获取数据