操作系统之输入输出

I/O控制方式

  • 程序IO方式

    采用busy-waiting的方式,即CPU会采用轮询的方式来询问数据,效果最差

  • 中断驱动I/O控制方式

    设备控制器当取出一个数据之后向CPU发送一个中断,然后CPU将数据从控制器中取到CPU寄存器,再然后转移到内存中。CPU是以字节的方式来响应数据的。

  • 直接存储器访问DMA控制方式

    CPU通过向DMA控制器设定若干参数,然后DMA打开了一条内存到设备的通道,这样,设备(内存)中的数据可以不通过CPU来进行数据交互。

    缺点是,DMA是多少,设备就需要多少DMA,而且,DMA方式下,CPU的访问设备是以数据块为周期的。

    利用通道实现了(内存和外设)之间数据的快速传输。

  • IO通道控制方式

    IO通道相当于一个简单的处理机,有自己的指令,也可以执行指令。指令存储在内存。

    IO通道相当于一条PCI总线,一条IO通道可以连接所有的设备控制器。然后CPU向IO通道发出指令,IO通道将会自动进行获取数据。

    另外,IO通道是以一组块为单位进行获取的。

IO通道方式需要最少的CPU干预,I/O通道控制方式只有在开始和结束的时候CPU才会对其进行干预,在其处理I/O指令的过程中CPU不会对其进行干预,这样才能实现通道控制方式解放CPU的作用


IO重定向

指将命令的执行结果重新导出到其他的设备或者文件。主要包括输入重定向和输出重定向。‘’


缓冲技术

为了 缓和 CPU与I/O设备间 速度不匹配 的矛盾;
减少对CPU的中断频率,放宽对中断响应时间的限制;
提高 CPU和I/O设备之间的 并行性
减少访问主存


缓冲区

在现代操作系统中,几乎所有的I/O设备在与处理机交换数据时都用了缓冲区。
缓冲区是一个存储区域,在 一般情况下 ,更多的是利用 内存 作为缓冲区 ,如单缓冲区、双缓冲区、环形缓冲区和缓冲池。
缓冲区有两块:高速缓存区(物理存在)和磁盘缓存区(逻辑存在,实际是内存一块),都不在外存(硬盘)

  • 假定从磁盘把一块数据输入到缓冲区的时间为T,操作系统将该缓冲区中的数据传送到用户区的时间为M,而CPU对这一块数据处理的时间为 C。

  • 对于单缓冲:

    缓冲区数据传输到用户区后,才能再从磁盘读取数据。
    系统处理一块数据的时间是Max(C, T)+M

  • 对于双缓冲:

    缓冲区数据传输到用户区的同时,也能从磁盘读取数据。(理解为两个缓存工作)
    系统处理一块数据的时间是MAC(C, T)

  • 例:

1、单缓冲区
设从磁盘将一块数据传送到缓冲区所用实际为80μs,将缓冲区中数据传送到用户区所用时间为40μs,CPU处理数据所用的时间为30μs。则处理该数据,采用单缓冲传送磁盘数据,系统所用总时间为(120μs)。
max(磁盘到缓冲区,CPU处理) + 缓冲区到用户区 = max(80, 30) + 40 = 120

2、双缓冲区
假定把磁盘上的一个数据块中的信息输入到一个双缓冲区的时间为T=0.1ms,将缓冲区中的数据传送到用户区的时间M=0.05ms,而CPU对数据的处理时间C=0.05ms,这样系统对每个数据块的处理时间为(0.1ms)。


磁盘设备

允许一段时间内,多个进程交叉访问,对于每一时刻而言,只允许一个进程访问。
传输速率较高,以数据块为传输单位
I/O控制方式常采用DMA方式
可以寻址,随即地读/写任意数据块


通道设备

I/O通道的目的是为了建立独立的I/O通道,使得原来一些由CPU处理的I/O任务由通道来承担,从而解脱cpu。
通道是一种特殊的处理机,具有(执行I/O指令集)能力。

通道作为一个独立于CPU的处理器,负责数据共享和传输处理的工作单元。

为了实现CPU与外部设备间最大的并行性,应采用通道设备

通道、设备、设备控制器三者间关系
通道控制设备控制器,设备控制器控制设备

I/O系统硬件结构分为四级:1。设备控制器,2。I/O设备,3。处理机(CPU),4。I/O通道,按级别由高到低的顺序是3-4-1-2


spooling技术

“假脱机IO技术”,为了提高(I/O设备)的使用效率,是一种把独占设备改造成逻辑上共享的设备,实现了虚拟设备功能,只能由软件实现。
通过spooling技术,可以把一台物理I/O设备虚拟为多台逻辑I/O设备

涉及到的设备
独占设备、虚拟设备、共享设备

  • 低速设备一般被设置成独占设备,高速设备一般会设置为共享设备
  • 独占设备是不能同时使用的设备,即在一段时间内,该设备只允许一个进程独占,如行式打印机、读卡机、磁带机等

响应时间

从发出命令到得到响应的时间。

以下描述了响应时间的不同阶段:
1、从键盘输入的请求信息传送到处理机的时间
2、处理机对请求信息进行处理的时间 – 处理时间
3、所形成的响应回送到终端显示器的时间 – 回显时间

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值