操作系统-I/O管理

  • Post author:
  • Post category:其他


一、I/O管理概述

1.按信息交换的单位分类

(1)块设备:信息的存取以数据块为单位,属于有结构设备。块设备传输速率较高、可寻址,即对它可以随机地读/写任一块。

(2)字符设备:用于数据输入/输出的设备为字符设备,其传输的基本单位是字符。字符设备传输速率低、不可寻址,并且在输入/输出时常采用中断驱动方式。

2.I/O控制方式

(1)程序直接控制方式

CPU和I/O设备只能串行工作,导致CPU的利用率相当低。

(2)中断驱动方式

允许I/O设备主动打断CPU的运行并请求服务。

数据中的每个字在存储器与I/O控制器之间的传输都必须经过CPU。

数据传送是在中断处理时由CPU控制完成的。

(3)DMA(直接存储器存取)方式

在I/O设备和内存之间开辟直接的数据交换通路。

仅在传送的开始和结束时需要CPU的干预,整块数据的传送是在DMA控制器的控制下完成的。

每个DMA控制器对应一台设备与内存传递数据。

(4)通道控制方式

I/O通道是指专门负责输入/输出的

处理机

可以实现CPU、通道和I/O设备三者的并行操作。

通道指令的类型单一,没有自己的内存,通道是与CPU共享内存的。

一个通道可以控制多台设备与内存的数据交换。

3.I/O子系统的层次结构

(最上层)用户层I/O软件—设备独立性软件—设备驱动程序—中断处理程序—硬件(最下层)

4.使用逻辑设备名的好处:①增加设备分配的灵活性;②易于实现I/O重定向。

5.设备独立性软件的主要功能:

执行所有设备的公有操作和向用户层(或文件层)提供统一接口。

6.设备控制器通过寄存器与CPU通信,在某些计算机上,这些寄存器占用内存地址的一部分,称为内存映像I/O;另一些计算机则采用I/O专用地址,寄存器独立编制。

7.设备控制器的主要功能:

(1)接受和识别CPU或通道发来的命令;

(2)实现数据交换;

(3)发现和记录设备及自身的状态信息;

(4)设备地址识别。

8.设备控制器组成:

(1)设备控制器与CPU的接口。该接口有三类信号线:数据线、地址线和控制线。

(2)设备控制器与设备的接口。每个接口中都存在数据、控制和状态三种类型的信号。

(3)I/O控制逻辑。用于实现对设备的控制。

二、I/O核心子系统

1.磁盘高速缓存逻辑上属于磁盘,物理上则是驻留在内存中的盘块。

2.高速缓存在内存中分为两种形式:一种是在内存中开辟一个单独的存储空间作为磁盘高速缓存,大小固定;另一种是把未利用的内存空间作为一个缓冲池,供请求分页系统和磁盘I/O时共享。

3.设备分配的安全性

(1)安全分配方式:每当进程发出I/O请求后便进入阻塞态,直到其I/O操作完成时才被唤醒。

优点:设备分配安全;

缺点:对同一进程而言,CPU和I/O设备是串行工作的。

(2)不安全分配方式:仅当进程所请求的设备已被另一进程占用时,才进入阻塞态。

优点:一个进程可同时操作多个设备,从而迅速推进进程;

缺点:设备分配可能产生死锁。



版权声明:本文为weixin_55102258原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。