第五章I/O管理

I/O章节

  • 5.1.1I/O分类
    • (1)按使用特性分
    • (2)I/O设备按传输速率分类
    • (3)I/O设备按信息交换的单位分
  • 5.1.2I/O控制器
  • 5.1.3I/O控制方式
    • (1)程序直接控制方式(轮询)
    • (2)中断驱动方式
    • (3)DMA方式
    • (4)通道控制方式
  • 5.1.4I/O软件层次结构
  • 5.1.6假脱机技术
    • (1)脱机技术
    • (2)假脱机和脱机的关系
    • (3)应用
  • 5.1.7设备的分配与回收
    • (1)设备分配时应考虑的因素
    • (2)设备分配管理中的数据结构
      • 缺点:
  • 5.1.8缓冲区管理
    • (1)单缓冲
    • (2)双缓冲区
    • (3)缓冲池

5.1.1I/O分类

(1)按使用特性分

人机交互类外部设备存、存储设备、网络通信设备

(2)I/O设备按传输速率分类

低速设备、中速设备、高速设备

(3)I/O设备按信息交换的单位分

块设备、字符设备

5.1.2I/O控制器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.1.3I/O控制方式

在这里插入图片描述

(1)程序直接控制方式(轮询)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)中断驱动方式

在这里插入图片描述

(3)DMA方式

主要改进方面:
①数据的传送单位是“块”。不再是一个字、一个字的传送;
②数据的流向是从设备直接放入内存,或者从内存直接到设备。不再需要CPU作为“快递小哥”。
③仅在传送一个或多个数据块的开始和结束时,才需要CPU干预。
在这里插入图片描述
DMA控制器
在这里插入图片描述

(4)通道控制方式

通道:小型CPU
原理:增加一个小型CPU让他专门管理I/O操作

在这里插入图片描述

5.1.4I/O软件层次结构

在这里插入图片描述
设备独立性软件作用:
①向上层提供统一的调用接口 ( 如read/write系统调用)
②设备的保护
③差错处理
④设备的分配与回收
⑤数据缓冲区管理
⑥建立逻辑设备名到物理设备名的映射关系;根据设备类型选择调用相应的驱动程序
设备驱动程序软件的作用:
主要负责对硬件设备的具体控制,将上层发出的一系列命令(如read/write)转化成特定设备“能听得懂”的一系列操作。 包括设置设备寄存器;检查设备状态等
中断处理程序的作用:
在这里插入图片描述

5.1.6假脱机技术

在这里插入图片描述

(1)脱机技术

在这里插入图片描述

(2)假脱机和脱机的关系

在这里插入图片描述
①输入井、输出井模拟磁带
在这里插入图片描述
②输入进程、输出技术模拟外围控制机
在这里插入图片描述

(3)应用

独占式设备:只允许各个进程串行使用的设备。一段时间内只能满足一个进程的请求。
共享设备:允许多个进程“同时”使用的设备(宏观上同时使用,微观上可能是交替使
用)。可以同时满足多个进程的使用请求。
例如:打印机本来是一种独占式设备,但是可以用Spooling技术改造成共享设备
在这里插入图片描述

5.1.7设备的分配与回收

在这里插入图片描述

(1)设备分配时应考虑的因素

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)设备分配管理中的数据结构

设备控制表(DCT)、控制器控制表(COCT)、通道控制表(CHCT)都有状态位、标识位、进程等待队列
简单来说设备、控制器、通道的关系就是:进程等设备、设备等控制器、控制器等通道
在这里插入图片描述
①设备控制表(DCT)
在这里插入图片描述
②控制器控制表(COCT)
在这里插入图片描述
③通道控制表(CHCT)
在这里插入图片描述
④系统设备表(SDT)
在这里插入图片描述

缺点:

在这里插入图片描述

5.1.8缓冲区管理

在这里插入图片描述
在这里插入图片描述

(1)单缓冲

在这里插入图片描述
在这里插入图片描述
**处理一块数据耗时时间:采用单缓冲策略,处理- - 块数据平均耗时Max(C,T)+M
**
在这里插入图片描述

(2)双缓冲区

在这里插入图片描述
处理一块数据耗时时间:采用双缓冲策略,处理一个数据块的平均耗时为Max (T, C+M)

(3)缓冲池

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/545515.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

列表使用与内部实现原理

列表类型 (List) 是一个使用链表结构存储的有序结构,它的元素插入会按照先后顺序存储到链表结构中,因此它的元素操作 (插入\删除) 时间复杂度为 O(1),所以相对来说速度还是比较快的,但它的查询时间复杂度为 O(n),因此查询可能会比较慢。 1 基础使用 列表类型的使用相对来…

操作系统习题

操作系统习题习题一一、选择习题二一、选择二、综合题习题三一、选择题?二、简答题进程互斥遵循的四个原则:空闲让进、忙则等待、有限等待、让权等待重点习题四一、选择??二、综合题死锁产生的 4 个必要条件是: &#…

WCF trace、log

1. 打开wcf配置: 2. enable trace , log 可以改变log路径: 3. 用 SvcTraceViewer.exe (直接在c盘下搜索) 查看 4. 如果想自定义trace: catch(Exception ex) { Trace.Writ…

字典使用与内部实现原理

字典类型 (Hash) 又被成为散列类型或者是哈希表类型,它是将一个键值 (key) 和一个特殊的“哈希表”关联起来,这个“哈希表”表包含两列数据:字段和值。例如我们使用字典类型来存储一篇文章的详情信息,存储结构如下图所示: 同理我们也可以使用字典类型来存储用户信息,并且…

算法设计与分析复习第一二章(时间复杂度和蛮力法)

算法复习一二章第一章时间复杂度第二章蛮力法(1)查找问题顺序查找(2)排序问题选择排序起泡排序(3)组合问题0-1bag问题概述(略)(4)图问题哈密顿回路TSP问题&am…

有序集合使用与内部实现原理

有序集合类型 (Sorted Set) 相比于集合类型多了一个排序属性 score(分值),对于有序集合 ZSet 来说,每个存储元素相当于有两个值组成的,一个是有序结合的元素值,一个是排序值。有序集合的存储元素值也是不能重复的,但分值是可以重复的。 当我们把学生的成绩存储在有序集…

Android 友盟SDK 终极解决报错:SocialSDK_QQZone_2.jar contains native libraries that

转自:http://bbs.umeng.com/thread-6552-1-2.html 报错信息:The library SocialSDK_QQZone_2.jar contains native libraries that will not run on the device.解决方案:此问题和Eclipse环境有关,按照如下步骤操作即可Eclipse-&g…

Redis 持久化——AOF

使用 RDB 持久化有一个风险,它可能会造成最新数据丢失的风险。因为 RDB 的持久化有一定的时间间隔,在这个时间段内如果 Redis 服务意外终止的话,就会造成最新的数据全部丢失。 可能会操作 Redis 服务意外终止的条件: 安装 Redis 的机器停止运行,蓝屏或者系统崩溃;安装 R…

第四章文件管理

第四章文件管理4.1_2初识文件4.1_2文件的逻辑结构无结构文件有结构文件(1)顺序文件(2)索引文件索引顺序文件多级索引顺序文件4.1_3文件目录文件控制块FCB(2)单级目录(3)两级目录结构…

免费的管理页面模板

2019独角兽企业重金招聘Python工程师标准>>> Free Bootstrap Admin Templates for Designers 1. Admin Lite AdminLTE - 是一个完全响应式管理模板。基于Bootstrap3的框架。高度可定制的,易于使用。支持很多的屏幕分辨率适合从小型移动设备到大型台式机。…

Redis 持久化——RDB

Redis 的读写都是在内存中,所以它的性能较高,但在内存中的数据会随着服务器的重启而丢失,为了保证数据不丢失,我们需要将内存中的数据存储到磁盘,以便 Redis 重启时能够从磁盘中恢复原有的数据,而整个过程就叫做 Redis 持久化。 Redis 持久化也是 Redis 和 Memcached 的主…

MATLAB使用教程

MATLAB使用教程2.1.1 MATLAB系统环境(1)命令行窗口(2)工作区窗口2.2.1MATLAB数值数据(1)强制转换如转换为int整形(2)判断变量类型(3)复型(4&#…

解决myeclipse中新导入的工程旁出现红色感叹号的问题

2019独角兽企业重金招聘Python工程师标准>>> 或许很多像我这样的java初学者在使用myeclipse时出现新导入的工程旁边有红色的感叹号。 1.问题一般就是java build path 设置不正确的问题。解决步骤如下: 右击工程找到Build Path——>Configure Build Pa…

层次分析法

层次分析法一、层次分析法原理二、解题步骤(1)层次结构模型(2)成对比较矩阵①成对比较矩阵(有现成代码进行一致性检验和求权重)②成对比较阵标度表及举例③一致性检验三、旅游性问题举例(1&…

Redis 持久化——混合持久化

RDB 和 AOF 持久化各有利弊,RDB 可能会导致一定时间内的数据丢失,而 AOF 由于文件较大则会影响 Redis 的启动速度,为了能同时使用 RDB 和 AOF 各种的优点,Redis 4.0 之后新增了混合持久化的方式。 在开启混合持久化的情况下,AOF 重写时会把 Redis 的持久化数据,以 RDB 的…

多属性决策模型

多属性决策模型一、多属性决策模型(1)特点(2)属性值的归一化①效益型②成本型③固定型④偏离型⑤区间型⑥偏离区间型二、例题及步骤①建立数学模型②属性值归一化③对不同的属性构建成对比较矩阵并计算属性权重④计算每个公司的WA…

Redis 管道技术——Pipeline

管道技术(Pipeline)是客户端提供的一种批处理技术,用于一次处理多个 Redis 命令,从而提高整个交互的性能。 通常情况下 Redis 是单行执行的,客户端先向服务器发送请求,服务端接收并处理请求后再把结果返回给客户端,这种处理模式在非频繁请求时不会有任何问题。 但如果…

灰色预测

灰色预测一、灰色预测理论简介(1)灰色系统(2)灰色系统的特点(3)灰色生成(4)GM(1,1)模型(5)GM(1,1)模型精度检验…

Redis 过期策略与源码分析

在 Redis 中我们可以给一些元素设置过期时间,那当它过期之后 Redis 是如何处理这些过期键呢? 过期键执行流程 Redis 之所以能知道那些键值过期,是因为在 Redis 中维护了一个字典,存储了所有设置了过期时间的键值,我们称之为过期字典。 过期键判断流程如下图所示: 过期…

SVN分支与合并

SVN分支与合并1 分支与合并的概念:分支:版本控制系统的一个特性是能够把各种修改分离出来放在开发品的一个分割线上。这条线被称为分支。分支经常被用来试验新的特性,而不会对开发有编译错误的干扰。当新的特性足够稳定之后,开发…