超详细|一篇搞定操作系统——设备管理

操作系统全家桶:传送门
一、操作系统引述:https://blog.csdn.net/diviner_s/article/details/108829327
二、处理器管理:https://blog.csdn.net/diviner_s/article/details/108940809
三、存储器管理:https://blog.csdn.net/diviner_s/article/details/112245241
四、设备管理:https://blog.csdn.net/diviner_s/article/details/112250905
五、文件管理:https://blog.csdn.net/diviner_s/article/details/112253441
六、用户接口:https://blog.csdn.net/diviner_s/article/details/112255959

4.1 设备管理概述

一、设备管理基本功能

  • 外设管理:是指计算机系统中除了CPU和内存以外的所有输入、输出设备的管理。

  • 主要功能包括:缓冲管理、设备分配与回收、设备处理和虚拟设备。

  • 除了进行实际I/O操作的设备外,也包括:设备控制器、DMA控制器、中断控制器、通道。

  • 早期,计算机设计者没有将CPU的执行与I/O操作分开,甚至大多数人认为,输入输出与计算的时间应该是同一数量级。
    后来,他们意识到,CPU要比I/O操作速度高几个数量级。于是,硬件和软件设计师开始寻找一种技术:CPU计算可以不用等待I/O操作而持续执行。
    在这里插入图片描述

二、操作系统设备管理的3个目标

  • 1)向用户提供使用外部设备的方便、统一的接口,按照用户的要求和设备的类型,控制设备工作,完成用户的输入输出请求。方便是指用户能独立于具体设备的复杂物理特性而方便地使用设备;统一是指对不同设备尽量能统一操作方式。方便和统一要求对用户屏蔽实现具体设备I/O操作的细节,呈现给用户的是一种性能理想化的、操作简便的逻辑设备。系统的这种性能亦称为设备的独立性(设备无关性)。
  • 2)充分利用中断技术、通道技术和缓冲技术,提高CPU与设备、设备与设备间的并行工作能力,充分利用设备资源,提高外部设备的使用效率。
  • 3)设备管理就是要保证在多道程序环境下,当多个进程竞争使用设备时,按照一定的策略分配和管理设备,以使系统能有条不紊地工作。

三、I/O设备说明

  • 1、外设的特点:种类多、 差异大(控制和速度)、并发要求
  • 2、I/O设备就像计算机系统的五官和四肢,理解I/O的工作过程与结构是理解OS的工作过程的关键,I/O技术很实用,与其他功能联系密切,特别是文件系统。
  • 3、I/O性能经常成为系统的瓶颈
    • CPU性能不等于系统性能
    • CPU性能越高,与I/O差距越大
    • 进程切换多,系统开销大

四、设备的分类
现代计算机系统总是配有各种类型的外部设备,除了显示器、键盘、打印机、磁带、磁盘外,又出现了光盘、绘图仪、图形数字化仪、鼠标器、激光打印机、声音输入输出设备等,种类繁多,可以从不同的角度对它们进行分类。
1、按设备从属关系分为两种:

  • 系统设备(标准设备):键盘、显示器等
  • 用户设备(非标准设备):绘图仪、扫描仪等
    2、按设备操作特性分为两种:
  • 存储设备:是计算机用来保存信息的设备,其特点是容量大。如磁盘、磁带等。
  • 输入输出设备:是用来接受计算机外部的信息或将计算机内部的信息送向计算机外部。如键盘、鼠标、打印机等。

3、按设备上数据组织和信息交换单位分为两种:

  • 块设备(高速设备):指以数据块为单位组织和传送数据的设备,如磁盘、磁带等。一般块的大小为512B–4KB,传输速率较高,通常每秒钟为几兆位,可进行寻址。
  • 字符设备(中低速设备):指以单个字符为单位存取信息的设备,如终端,打印机等。传输速率较低,不可寻址。

4、按设备共享属性和资源分配分为三种:

  • 独享设备:这类设备在一段时间内最多只能有一个进程占有并使用它。例如当某一进程正在使用某打印机时,其他进程就不能使用该打印机,否则将会得到混乱的输出结果。低速I/O设备一般是独占设备,如打印机,终端等。
  • 共享设备:这类设备允许多个进程共享,即多个进程的I/O传输可以交叉,在宏观上多个进程同时使用。例如,多个进程可以交替地从磁盘上读写信息。显然,这类设备具有较高的利用率,一般是高速外部设备,如磁盘是共享设备。应当指出,磁带机是不适于共享的。这是由于磁带机的机械运动速度慢,如果允许多个进程共享,则由于不同进程所访问磁带块的物理距离可能较远而大大降低设备的访问速度
  • 虚拟设备:在一类设备上模拟另一类设备的技术称为虚拟设备技术。通过虚拟技术将一台独占设备变换成若干台逻辑设备。
    • 通常是用高速设备来模拟低速设备,以此把原来低速的独占设备改造成为若干进程共享的高速共享设备。就好像把一台设备变成了多台虚拟设备,从而提高了设备的利用率。人们称被模拟的设备为虚拟设备。
    • SPOOLing技术是一类典型的虚拟设备技术。

4.2 输入输出系统

一、输入输出系统的结构
通常把输入输出系统的结构分成两大类:总线(串行)输入输出系统和主机(并行)输入输出系统。
1、总线(串行)输入输出系统:总线(串行)输入输出系统一般采用总线作为连接方式完成输入输出,如下图所示。
在这里插入图片描述
在这里插入图片描述
小型机:总线I/O系统结构

2、主机(并行)输入输出系统:当主机所配置的输入输出设备较多时,特别是配有较多的高速外设时,采用总线输入输出系统结构会加重CPU与总线的负担。因此,在这样的输入输出系统中不宜采用单总线结构,而是增加一级输入输出通道,用来代替CPU与各设备控制器进行通信,实现对控制器的控制。
在这里插入图片描述
在这里插入图片描述
二、设备控制器
1、设备控制器的概念

  • 设备控制器是主机与外围设备之间的接口,是一个可编址设备,每一个地址对应一个设备。它接收从CPU发来的命令,并去控制输入输出设备的工作,使CPU从繁杂的设备控制事务中解脱出来,提高CPU的使用效率。
  • 设备标识:系统按为每台设备分配惟一的号码,用做硬件(设备控制器)区分和识别设备的代号,称做设备绝对号(或绝对地址)。操作系统为每类设备也规定了一个编号,称做设备类型号。如在UNIX系统中,设备类型号也称做主设备号。

2、设备控制器的功能:接收CPU命令,控制I/O设备工作,解放CPU。

  • 1)接收和识别命令:接收和识别CPU发来的命令,并对命令进行译码,命令寄存器或控制寄存器。
  • 2)数据交换:实现设备与内存和CPU间的数据传输,包括把计算机的数字信号转换成机械部分能够识别的模拟信号,或者反过来。
    CPU/内存 — 控制器的数据寄存器 — 设备
  • 3)设备状态的了解和报告:设备控制器有“状态寄存器”,记录设备的各种状态,以供CPU使用。
  • 4)地址识别:CPU通过“地址”与设备通信,设备控制器应能识别它所控制的设备地址以及其各寄存器的地址。
  • 5)数据缓冲:I/O设备的速率较低而CPU和内存的速率却很高,故在控制器中设置一缓冲器。在输出时,用此缓冲器暂存由主机高速传来的数据;在输入时,缓冲器则用于暂存从I/O设备送来的数据,待接收到一批数据后,再将缓冲器中的数据高速地传送给主机。
  • 6)差错控制:若发现传送中出现了错误,通常是将差错检测码置位,并向CPU报告,于是CPU将本次传送来的数据作废,并重新进行一次传送。

3、存储器映像I/O:为了实现与主机通信,每个控制器都有几个寄存器(控制寄存器、状态寄存器、数据寄存器),除控制寄存器外,很多设备还有数据缓冲区。系统为每个寄存器分配一个I/O端口号,把所有寄存器映像到存储器空间–存储器映像I/O,实现按地址访问。
在这里插入图片描述
4、设备控制器的结构

  • I/O设备一般由机械和电子两部分组成,机械部分是设备本身工作的部分,电子部分称做设备控制器或适配器。操作系统总是通过设备控制器实施对设备的控制和操作。
  • 有的外设把设备控制器做在设备里,与主机相连接采用简单而且统一的接口,如USB接口。
  • 有的外设则必须配套专门的控制适配器,一般做成电路板卡的形式插入主板的总线插槽中。如显示卡、声卡、网卡。

5、设备控制器的组成

  • 1)主机与设备控制器的接口。该接口用于实现CPU与设备控制器之间的通信。共有三类信号线:数据线、地址线和控制线。
  • 2)设备控制器与设备的接口。控制器中的输入输出逻辑根据处理器发送来的地址信号,去选择一个设备接口。一个设备接口连接一台设备。
  • 3)输入输出逻辑。输入输出 逻辑用于实现对输入输出设备的控制。
    在这里插入图片描述

三、输入输出通道

1、输入输出通道的概念

  • 通道:一种特殊的专门执行I/O指令的处理机,与主机共享内存,有自己的指令系统,能按照执行的要求独立完成I/O 操作。
  • 引入目的:解脱CPU对I/O的组织、管理,使CPU与外设能够并行工作。
  • 工作方式:CPU只需发送I/O命令给通道,通道通过调用内存中的相应通道程序完成任务。

2、输入输出通道的分类

  • 输入输出通道是用于控制外围设备的。根据信息交换方式的不同,把通道分成三种类型:
  • 1)字节多路通道:字节多路通道连接多个字符设备(低中速设备),不会丢失信息。
    数量可以从几十到数百个。
    含有许多非分配型子通道,各个设备按时间片轮转方式(同步时分多路复用)共享通道。
    在这里插入图片描述
  • 2)数组多路通道:用于连接多台高、中速的外围设备,其数据传送是按数组方式进行的。
    • 含有多个非分配型子通道,时间片轮转方式(同步时分多路复用)共享通道。既具有很高的数据传输速率,又有令人满意的通道利用率。
  • 3)数组选择通道:可以连接多台高速设备。
    • 不划分子通道,只有一个通道。
    • 有很高的传输速率,但是,它每次只允许一个设备传输数据ÿ
  • 31
    点赞
  • 153
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值