操作系统——输入输出系统

一. 内容总览

I/O系统是OS的重要组成部分,用于管理诸如打印机、扫描仪等I/O设备,以及用于存储数据,如磁盘驱动器和磁带机等各种存储设备。

在这里插入图片描述

二. I/O系统

(1). I/O系统管理的主要对象

是I/O设备和相应的设备控制器

(2). I/O系统的主要任务

完成用户提出的I/O请求,提高I/O速率,以及提高设备的利用率,并能为更高层的进程方便的使用这些设备提供手段

(3). I/O系统的基本功能

在这里插入图片描述

三. I/O设备的基本概念和分类

在这里插入图片描述

(1). 什么是I/O设备

在这里插入图片描述

(2). I/O设备的分类

1. 按使用特性分类

在这里插入图片描述

2. 按传输速率进行分类

在这里插入图片描述

3. 按信息交换的单位进行分类

在这里插入图片描述

四. I/O控制器(设备控制器)

在这里插入图片描述

(1). I/O设备所包含的内容

在这里插入图片描述

1. 机械部件

I/O设备的机械部件主要用来执行具体的I/O操作。

如:我们看得见摸得着的鼠标/键盘的按钮,显示器的LED屏;移动硬盘的磁臂、磁盘的盘面。

2. 电子部件

I/O设备的电子部件通常是一块插入主板扩充槽的印刷电路板,用来对I/O设备执行控制

如:设备控制器或适配器、网卡

(2). I/O设备与控制器之间的接口

通常,设备并不是直接与CPU进行通信,而是与设备控制器进行通信,因此,在I/O设备中应该包含与设备控制器之间的接口,在该接口中有三种类型信号,各对应一条信号线

在这里插入图片描述

1. 数据信号线

用于在设备与设备控制器之间传送数据信号

对输入设备而言,由外界输入的信号转换器转换后,所形成的数据通常先送人到缓冲器中,当数据量达到一定bit后,在从缓冲器通过一组数据信号线传送给设备控制器。

对输出设备而言,将从设备控制器经过数据信号线传送来的一批数据先暂存在缓冲器中,经转换器做适当的转换后,再逐个字符的输出

2. 控制信号线

作为由设备控制器向I/O设备发送控制信号时的通路

该信号规定了设备将要执行的操作

如:读操作、写操作

3. 状态信号线

用于传送指示设备当前状态的信号

(3). I/O设备的电子部件(I/O控制器)

1. I/O控制器的功能

主要功能:控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换,接受CPU发来的命令,控制I/O设备工作

在这里插入图片描述

2. I/O控制器的组成

在这里插入图片描述

(1). 设备控制器与处理机的接口
(2). 设备控制器与设备的接口
(3). I/O逻辑
  1. 需要注意的小细节
    在这里插入图片描述
  2. 内存映像I/O和寄存器独立编址的区别
    在这里插入图片描述

五. I/O控制方式

在这里插入图片描述

(1). 程序直接控制方式

  1. 当I/O设备没有准备好,CPU一直进行轮询的检查控制器的状态
    在这里插入图片描述
  2. 当I/O设备准备好了之后
    在这里插入图片描述
  3. 程序控制方式流程图
    在这里插入图片描述

在这里插入图片描述

(2). 中断驱动方式

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

(3). DMA方式

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

(4). 通道控制方式

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

1. I/O通道设备的引入

2. 通道类型

3. 通道的瓶颈

  1. 瓶颈的原因

    通道价格昂贵,致使机器中所设置的通道数量势必较少,进而造成整个系统吞吐量的下降

在这里插入图片描述

  1. 解决瓶颈的办法

    增加设备到主机间的通路而不增加通道

在这里插入图片描述

(5). 上述四种I/O控制方式的比较

在这里插入图片描述

六. I/O软件(I/O系统)的层次结构

I/O软件涉及的面很宽,向下与硬件有密切关系,向上又与文件系统,虚拟存储器系统和用户直接交互,它们都需要I/O系统来实现I/O操作。

为了使十分复杂的I/O软件能具有清晰的结构、更好的可移植性和易适应性,目前已普遍采用层次式结构的I/O系统

1. I/O系统中各种模块之间的层次视图

在这里插入图片描述

(1). I/O接口

在I/O系统与高层之间的接口中,根据设备类型不同,有进一步分为若干个接口。

上图所示的接口:

  1. 块设备接口

     是块设备管理程序与高层之间的接口
    
     反映了大部分磁盘存储器和光盘存储器的本质特征,用于控制该类设备的输入或输出。
    
  2. 流设备接口

     是流设备管理程序与高层之间的接口,该接口又称字符设备接口
     
     反映了大部分字符设备的本质特征,用于控制字符设备的输入或输出
    
  3. 网络接口

     现代OS中,都提高面向网络功能,首先需要通过某种方式把计算机连接到网络上,
     同时OS必须提供相应的网络软件和网络通信接口,是计算机能通过网络与网络上的其他计算机进行通信或上网浏览
    

2. I/O系统的分层

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

(1). 用户层软件实现的功能

在这里插入图片描述

在这里插入图片描述

(2). 设备独立性软件实现的功能

在这里插入图片描述

1. 向上层提供统一的调用接口

在这里插入图片描述

2. 设备的保护

在这里插入图片描述

3. 差错处理

在这里插入图片描述

4. 设备的分配与回收

在这里插入图片描述

5. 数据缓冲区管理

在这里插入图片描述

6. 建立逻辑设备名到物理设备名的映射关系

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

  1. 为什么不同的设备需要不同的设备驱动程序?
    在这里插入图片描述
    举例:
    在这里插入图片描述
    在这里插入图片描述
    总结:不同设备的内部硬件特性也不同,这些特性只有厂家才知道,因此厂家须提供与设备相对应的驱动程序,CPU执行驱动程序的指令序列,来完成设置设备寄存器,检查设备状态等工作

(3). 设备驱动程序实现的功能

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

(4). 中断处理程序实现的功能

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

1. 中断简介
2. 中断处理流程

在这里插入图片描述

(5). I/O核心子系统

在这里插入图片描述

1. 这些功能在哪些层次实现呢?

在这里插入图片描述

2. I/O调度

在这里插入图片描述

3. 设备保护

在这里插入图片描述

4. 假脱机技术(SPOOLing技术)

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

(1). 什么是脱机技术

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

(2). 假脱机技术(SPOOLing技术)
1. 输入井和输出井

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

2. 输入进程和输出进程

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

3. 输入缓冲区和输出缓冲区

在这里插入图片描述

(3). SPOOLing技术的应用

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

5. 设备的分配与回收

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

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

在这里插入图片描述

1. 设备的固有属性

在这里插入图片描述

2. 设备的分配算法

在这里插入图片描述

3. 设备分配中的安全性

在这里插入图片描述

(2). 静态分配与动态分配

在这里插入图片描述

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

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

(4). 设备分配的步骤

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

(5). 设备分配步骤的改进方法

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

6. 缓冲区管理

在这里插入图片描述

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

(1). 什么是缓存区?

在这里插入图片描述

(2). 缓冲区有什么作用?

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

(3). 单缓冲

在这里插入图片描述

  1. 计算每处理一块数据平均需要时间
    情况一:
    在这里插入图片描述
    情况二:
    在这里插入图片描述
    结论:
    在这里插入图片描述
    使用单缓冲区进行通信举例:
    在这里插入图片描述
(4). 双缓冲

在这里插入图片描述

  1. 计算每处理一块数据平均需要时间
    情况一:
    在这里插入图片描述
    情况二:
    在这里插入图片描述
    结论:
    在这里插入图片描述
    使用双缓冲区进行通信举例:
    在这里插入图片描述
(5). 循环缓冲区

在这里插入图片描述

(6). 缓冲池
  1. 输入进程请求输入数据
    在这里插入图片描述
  2. 计算进程想要取得一块输入数据
    在这里插入图片描述
  3. 计算进程想要将准备好额数据冲入缓冲区
    在这里插入图片描述
  4. 输出进程请求输出数据
    在这里插入图片描述
  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值