首页 > 其他分享 >操作系统——输入输出系统

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

时间:2022-12-26 20:03:59浏览次数:52  
标签:控制器 操作系统 输入输出 系统 接口 缓冲区 输入 设备


一. 内容总览

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

操作系统——输入输出系统_信号线

二. I/O系统

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

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

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

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

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

操作系统——输入输出系统_数据信号_02

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

操作系统——输入输出系统_数据信号_03

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

操作系统——输入输出系统_数据_04

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

1. 按使用特性分类

操作系统——输入输出系统_数据_05

2. 按传输速率进行分类

操作系统——输入输出系统_数据_06

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

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

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

操作系统——输入输出系统_数据_08

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

操作系统——输入输出系统_数据信号_09

1. 机械部件

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

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

2. 电子部件

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

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

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

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

操作系统——输入输出系统_信号线_10

1. 数据信号线

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

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

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

2. 控制信号线

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

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

如:读操作、写操作

3. 状态信号线

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

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

1. I/O控制器的功能

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

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

2. I/O控制器的组成

操作系统——输入输出系统_信号线_12

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

五. I/O控制方式

操作系统——输入输出系统_信号线_13

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

  1. 当I/O设备没有准备好,CPU一直进行轮询的检查控制器的状态
  2. 操作系统——输入输出系统_信号线_14


  3. 当I/O设备准备好了之后
  4. 操作系统——输入输出系统_数据_15


  5. 程序控制方式流程图
  6. 操作系统——输入输出系统_信号线_16


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

(2). 中断驱动方式

操作系统——输入输出系统_数据_18


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

(3). DMA方式

操作系统——输入输出系统_数据_20


操作系统——输入输出系统_数据_21


操作系统——输入输出系统_信号线_22

(4). 通道控制方式

操作系统——输入输出系统_数据_23


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


操作系统——输入输出系统_数据信号_25

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

2. 通道类型

3. 通道的瓶颈

  1. 瓶颈的原因

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

操作系统——输入输出系统_数据_26

  1. 解决瓶颈的办法

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

操作系统——输入输出系统_数据信号_27

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

操作系统——输入输出系统_信号线_28

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

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

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

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

操作系统——输入输出系统_信号线_29

(1). I/O接口

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

上图所示的接口:

  1. 块设备接口

    是块设备管理程序与高层之间的接口

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

    是流设备管理程序与高层之间的接口,该接口又称字符设备接口

    反映了大部分字符设备的本质特征,用于控制字符设备的输入或输出
  3. 网络接口

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

2. I/O系统的分层

操作系统——输入输出系统_信号线_30


操作系统——输入输出系统_数据_31

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

操作系统——输入输出系统_信号线_32

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

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

操作系统——输入输出系统_数据_34

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

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

2. 设备的保护

操作系统——输入输出系统_信号线_36

3. 差错处理

操作系统——输入输出系统_信号线_37

4. 设备的分配与回收

操作系统——输入输出系统_数据信号_38

5. 数据缓冲区管理

操作系统——输入输出系统_数据_39

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

操作系统——输入输出系统_信号线_40


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

  1. 为什么不同的设备需要不同的设备驱动程序?
  2. 操作系统——输入输出系统_信号线_42

  3. 举例:
  4. 操作系统——输入输出系统_信号线_43


  5. 操作系统——输入输出系统_操作系统_44

  6. 总结:不同设备的内部硬件特性也不同,这些特性只有厂家才知道,因此厂家须提供与设备相对应的驱动程序,CPU执行驱动程序的指令序列,来完成设置设备寄存器,检查设备状态等工作

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

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


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

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

操作系统——输入输出系统_信号线_47


操作系统——输入输出系统_数据信号_48

1. 中断简介

2. 中断处理流程

操作系统——输入输出系统_数据_49

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

操作系统——输入输出系统_信号线_50

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

操作系统——输入输出系统_数据信号_51

2. I/O调度

操作系统——输入输出系统_数据信号_52

3. 设备保护

操作系统——输入输出系统_数据信号_53

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

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


操作系统——输入输出系统_数据_55

(1). 什么是脱机技术

操作系统——输入输出系统_数据_56


操作系统——输入输出系统_信号线_57

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

操作系统——输入输出系统_数据信号_58


操作系统——输入输出系统_数据信号_59

2. 输入进程和输出进程

操作系统——输入输出系统_数据信号_60


操作系统——输入输出系统_信号线_61

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

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

(3). SPOOLing技术的应用

操作系统——输入输出系统_数据_63


操作系统——输入输出系统_数据_64


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

5. 设备的分配与回收

操作系统——输入输出系统_数据信号_66


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

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

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

1. 设备的固有属性

操作系统——输入输出系统_数据_69

2. 设备的分配算法

操作系统——输入输出系统_数据_70

3. 设备分配中的安全性

操作系统——输入输出系统_数据信号_71

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

操作系统——输入输出系统_信号线_72

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

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


操作系统——输入输出系统_信号线_74


操作系统——输入输出系统_信号线_75


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


操作系统——输入输出系统_信号线_77

(4). 设备分配的步骤

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


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


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


操作系统——输入输出系统_数据_81

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

操作系统——输入输出系统_数据_82


操作系统——输入输出系统_信号线_83


操作系统——输入输出系统_信号线_84

6. 缓冲区管理

操作系统——输入输出系统_信号线_85

操作系统——输入输出系统_信号线_86


操作系统——输入输出系统_信号线_87

(1). 什么是缓存区?

操作系统——输入输出系统_数据信号_88

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

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


操作系统——输入输出系统_数据_90

(3). 单缓冲

操作系统——输入输出系统_信号线_91

  1. 计算每处理一块数据平均需要时间
    情况一:
  2. 操作系统——输入输出系统_操作系统_92

  3. 情况二:
  4. 操作系统——输入输出系统_操作系统_93

  5. 结论:
  6. 操作系统——输入输出系统_数据_94

  7. 使用单缓冲区进行通信举例:
  8. 操作系统——输入输出系统_数据_95


(4). 双缓冲

操作系统——输入输出系统_数据_96

  1. 计算每处理一块数据平均需要时间
    情况一:
  2. 操作系统——输入输出系统_信号线_97

  3. 情况二:
  4. 操作系统——输入输出系统_操作系统_98

  5. 结论:
  6. 操作系统——输入输出系统_操作系统_99

  7. 使用双缓冲区进行通信举例:
  8. 操作系统——输入输出系统_操作系统_100


(5). 循环缓冲区

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

(6). 缓冲池
  1. 输入进程请求输入数据
  2. 操作系统——输入输出系统_数据_102


  3. 计算进程想要取得一块输入数据
  4. 操作系统——输入输出系统_操作系统_103


  5. 计算进程想要将准备好额数据冲入缓冲区
  6. 操作系统——输入输出系统_数据信号_104


  7. 输出进程请求输出数据
  8. 操作系统——输入输出系统_信号线_105





标签:控制器,操作系统,输入输出,系统,接口,缓冲区,输入,设备
From: https://blog.51cto.com/u_15923298/5970756

相关文章

  • 数据库系统原理——SQL数据查询语言(DQL)
    一.内容概述二.单表查询SQL查询语句的基本结构包括3个子句:select、from、where,其中select子句对应于关系代数中的投影运算,用来指定查询结果中所需的属性表达式from子句对......
  • 操作系统——存储器管理的功能
    一.内容总览二.内存空间的分配和回收为了能将用户程序装入内存,必须为它分配一定大小的内存空间。连续分配方式是最早出现的一种存储器分配方式该分配方式为一个用户程序......
  • 数据库系统原理——数据库建模
    一.数据库设计过程的概述1.基本概念(1).数据库设计定义数据库设计就是根据各种应用处理的要求、硬件环境及操作系统特性等,将现实世界中的数据进行合理组织,并利用已有的数......
  • win32编程 -- 系统菜单及右键菜单
    她开玩笑地说了句:挺可惜的,我的青春平平淡淡,站在她身旁的男生红着眼眶:你惊艳了我至少三年。。。----网易云热评一、修改系统菜单项1、在create消息中处理caseWM_CREATE:......
  • 强哥的分享--如何使用Spring Boot做一个邮件系统
    ​​http://springboot.fun/​​actuator是单机。集群环境下要使用SpringBootAdmin将各个单机的actuator集成越来  mvncleanpackage-Dmaven.test.skip=true服务器密......
  • 【电力系统】微电网两阶段鲁棒优化经济调度算法附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 在partition中使用xfs文件系统时,sda没有足够的空间可以让grub2嵌入core.img
    背景:安装kylinv10操作系统,在执行系统盘配置的时候报错报错:在partition中使用xfs文件系统时,sda没有足够的空间可以让grub2嵌入core.img原因:磁盘中有冗余的挂......
  • 一文告诉你什么是开源表单系统
    熟悉市场的人都知道,传统的表单存在效率低的瓶颈,无法满足当前很多企业的业务需求。开源表单系统也是顺应时代发展需求应运而生的产物,在提升企业办公效率和协作效率,推动企业......
  • 试卷审批管理信息系统总结
    这是我们期末考试的上机考试题,考试的时候功能只实现了勉勉强强的一半。这次考试真正的意识到时间才是卡住我们完成的关键原因,所以还是要加强代码的熟悉程度。抛开时间谈......
  • 试卷审批管理信息系统04
    教学副院长功能实现  浏览试卷审批卡  <%@pagecontentType="text/html;charset=UTF-8"language="java"isELIgnored="false"%><%@tagliburi="http://ja......