IO系统的功能和层次模型

IO系统管理的主要对象是IO设备和相应的设备控制器。其主要作用是完成用户的IO请求,提高IO速率,以及提高设备的利用率,并为高层的进程提供方便的接口。

I/O系统的基本功能

一、方便用户使用I/O设备

1.隐藏物理设备细节

  I/O设备通常有很多种类型,每一种又有传输方向、数据粒度、传输速度等不同特性,将这些复杂的细节隐藏,仅向上层暴露简单的接口。

2.与设备的无关性

  用户不但要用抽象的I/O命令,还要能够使用现成的逻辑设备名称来控制选择I/O设备,并且添加新的设备驱动程序。

二、提高CPU和I/O设备利用率

1.提高设备利用率

  尽可能让CPU和I/O设备并行执行

2.对I/O设备进行控制

  • 轮询I/O设备的可编程I/O方式
  • 中断I/O
  • DMA直接存储器访问
  • I/O通道

三、共享设备、系统有序执行

1.确保对设备的正确共享

  独占设备:进程间互斥访问该类资源

  共享设备:如磁盘,多个进程可交叉读写磁盘

2.错误处理

  临时性错误:重试操作

  持久性操作:向上层汇报

I/O系统的层次结构

1.用户层I/O软件

  实现与用户的交互,用户可以直接调用此层提供的接口、函数等;

2.设备独立性软件

  用于实现用户程序和设备驱动器的统一接口、设备命名、设备保护以及设备分配和释放等,同时为数据的传输提供必要的空间

3.设备驱动程序

  与硬件直接相关,用于具体实现系统施加给硬件设备的指令

4.中断处理程序

  保护被中断的CPU环境,转入中断处理程序,处理,返回恢复现场

I/O系统的接口

1.块设备接口

该接口反映了大部分磁盘存储器的本质特征,用于控制该类设备的输入输出。

(1)块设备:数据存取以块为单位

(2)隐藏了磁盘的二维结构:将二位的物理磁盘结构转换成一维的线性结构

(3)将抽象命令映射为低层操作:将上层的简单接口命令转换成底层能够识别的操作

2.流设备接口

又称字符设备接口。

(1)字符设备:数据存取以字符为单位

(2)get和put操作:字符设备不可寻址,只能采用顺序存取方式,通常带有一个缓冲区

(3)in-control指令:字符设备类型众多,为了以统一的方式处理,必需提供一个通用的指令,该指令包括的参数对应不同设备

3.网络通信接口

与网络协议和网络层次有关,操作系统要提供面向网络的各种接口。

(1)网络协议:UDP、TCP等

(2)网络体系结构:OSI七层模型,但实际上用的TCP/IP协议,只有五层

猜你喜欢

转载自www.cnblogs.com/fusiji/p/11409788.html