操作系统Android技术知识Linux

操作系统之设备管理

2017-12-29  本文已影响24人  紫霞等了至尊宝五百年

一、I/O管理概述

1.1 计算机I/O系统结构

1.2 I/O管理示意图

1.3 I/O的特点

1.4 设备的分类:按数据组织分

1.5 设备的分类:从资源分配角度

1.6 I/O管理的目标和任务

二、I/O硬件组成

2.1 I/O设备组成

2.2 设备接口:控制器的作用

2.3 I/O端口地址

2.4 I/O独立编址

2.5 内存映像编址

2.6 内存映射I/O的优点

2.7 内存映射I/O的缺点

三、I/O控制方式(重点)

3.1 I/O控制方式

主要差别在于:
中央处理器和外围设备并行工作的方式不同,
并行工作的程度不同。

3.2 轮询方式的工作过程

使用轮询的可编程I/O方式

称为忙—等待方式。

当处理机向控制器发出一条I/O指令启动输入设备时

b. 处理机循环测试busy标志,直至busy=0。

c. 处理机将数据寄存器中的数据取出,送入内存指定单元中,这样便完成了一个字(符)的I/O。

对CPU的极大浪费

在CPU中无中断机构


说明:应用程序发出了一个读数据的请求,设备驱动程序检查设备状态,没问题则给设备发出控制命令,然后不断测试设备是否完成了这次过程,完成之后将数据发送给应用程序。

3.3 中断驱动的工作过程


说明:首先还是应用程序提出请求,设备驱动程序检查状态,如果没问题则发出控制命令,之后将设备状态记录在设备状态表中,此时CPU可以做别的事情,当设备完成之后会给CPU发出信号,转入中断处理程序,中断处理程序将结果交给设备处理程序,而设备处理程序将数据发送给应用程序。

3.4 直接存储访问(DMA)方式的工作过程

中断驱动I/O方式的CPU是以字(节)为单位进行干预

DMA控制器需如下四类寄存器:
(1)命令/状态寄存器(CR)。
(2)内存地址寄存器MAR
(3)数据寄存器DR
(4)数据计数器DC

DMA与中断方式的主要区别

3.5 I/O通道控制方式

I/O通道方式是DMA方式的发展,是一种I/O专用处理器
它把对一个数据块的读(写)为单位的干预减少为对一组数据块的读(写)及有关的控制和管理为单位的干预
实现CPU、通道和I/O设备三者的并行操作
更有效地提高整个系统的资源利用率。

通道程序

通道程序由一系列通道指令构成。
通道指令中都包含下列诸信息



通道程序结束位 P=1表示结束
记录结束标志

3.6 I/O部件的演化

四、I/O软件组成

4.1 I/O软件设计

分层设计思想:

4.2 I/O软件层次(重点)

设备独立性(无关性)

即用户编写的程序可以访问任意I/O设备,无需事先指定设备。这样做的好处是设备分配时的灵活性,易于实现I/O重定向。

五、I/O相关技术

我们知道,缓冲技术是操作系统中最早引入的技术,最初是为了解决cpuI/O设备之间速度不匹配的问题。
而今天,凡是数据到达和离去的速度不匹配的地方均可采用缓冲技术,提高cpuI/O设备的并行性,减少I/O设备对cpu的中断请求次数,放宽cpu对中断响应时间的要求。

5.1 缓冲技术的实现

5.2 UNIX SYSTEM V缓冲技术

这个版本的UNIX系统采用缓冲技术可以达到下面目标:

5.2.1 实现

5.2.2 说明

5.2.3 分析各类场景

每个缓冲区同时在av链和b链:

5.2.4 缓冲区的使用过程

六、I/O设备的管理

6.1 设备管理有关的数据结构

设备分配的数据结构图

6.2 独占设备的分配

6.3 设备驱动程序

6.4 一种典型的实现方案:I/O进程

6.5 I/O进程特性

七、I/O性能问题

解决IO性能问题有两个方法:

7.1 异步I/O

7.2 同步I/O流程

7.3 异步I/O的基本思想

上一篇 下一篇

猜你喜欢

热点阅读