期末复习操作系统---设备管理

多道程序度

抖动产生的原因。工作集:在某段时间间隔中进程实际访问的页面的集合
请求分段存储管理方式:请求段表机制、缺段中断的处理以及地址变换
分段的共享与保护:共享段表、共享段的分配与回收,分段保护

请思考?

  • 设备并不与CPU直接通信,而是与设备控制器通信
  • 设备与设备控制器之间的接口包含那三类信号线?数据信号线、控制信号线和状态信号线
  • 中断和陷入的主要区别:陷入是由程序造成的,并且与程序同步。如果程序一而再的被运行,陷阱将总在指令流中相同位置的精确发生。而中断则是由外部事件和其时钟造成的,不具有重复性

第七章 输入输出系统

I/O系统是计算机系统的重要组成部分,是OS中最复杂且与硬件密切相关的部分
I/O系统的基本任务是完成用户提出的I/O请求,提高I/O速率以及改善I/O设备的利用率,方便高层进程对IO设备的使用
I/O系统包括用于实现信息输入、输出和存储功能的设备和相应的控制(打印机扫描仪等IO设备、存储设备)
输入输出系统的主要功能有设备分配、设备处理、设备控制、虚拟设备、如何实现设备独立性、缓冲区管理

I/O系统的基本功能(背!)

  • 隐藏物理设备的细节:对设备加以适当抽象,隐藏物理实现席间,仅向上层进程提供少量的抽象的读写命令
  • 与设备的无关性:抽象的逻辑设备名来使用设备,而不用指明是拿一台设备,提高可移植性和适应性
  • 提高处理机和I/O设备的利用率
  • 对I/O设备进行控制:利用驱动程序对IO设备进行控制
  • 确保对设备的正确共享
  • 错误处理

I/O系统的层次结构和模型(背!)

在这里插入图片描述

  • 用户层软件:实现与用户交互的接口,向上提供方便易用的库函数
  • 设备独立性软件:向上层提供统一的调用接口(如write/read系统调用)设备的保护,差错控制,设备的分配与回收,数据缓冲区管理,建立逻辑设备名到物理设备名的映射关系,根据设备类型选择调用相应的驱动程序
  • 设备驱动程序:设置设备寄存器,检查设备状态
  • 中断处理程序:进行中断处理
  • 硬件:执行I/O操作,有机械部件、电子部件组成

直接涉及到硬件具体细节,且与中断无关的操作肯定是在设备驱动程序层完成的,没有涉及到硬件的,对各种设备都需要进行的管理工作都是在设备独立性软件完成的
在这里插入图片描述

I/O系统的层次结构和模型

I/O系统的分层

  • 中断处理程序:处于I/O系统的底层,直接与遇见进行交互
  • 设备驱动程序:高层进程与设备控制器之间的通信程序,次底层
  • 功能:接受用户的I/O请求命令和参数,并将命令中的抽象要求转换位具体要求
  • 设备独立性软件:I/O软件独立于具体使用的物理设备,使得增加替换设备,无需对IO软件进行修改,方便系统的更新扩展

I/O接口

块设备接口

块设备:数据的存取和传输都是以数据块为单位的设备。基本特征是传输速率高,可寻址。。磁盘设备的I/O常采用DMA方式
块设备:速率高,可寻址。隐藏磁盘的二维结构:将抽象命令映射成低层操作虚拟存储器

流设备接口
字符设备:数据的存取和传输都是以字符为单位的设备,基本特征是传输速率低,不可寻址。常采用中断驱动方式。大多数流设备属于独占设备,所以只能互斥共享

I/O设备的类型

存储设备存储信息,如磁盘,存取速率慢,容量大,价格便宜
I/O设备输入、输出,交互式设备,用来向CPU传送信息或输出加工处理后的信息

按传输速率分类

低俗设备每秒几个字节至数百字节
中速设备每秒数千到数万字节,形式打印机、激光打印机
高速设备每秒数百K到数十M字节,磁盘机,磁带机,光盘机

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

设备控制器—CPU与I/O设备之间的接口

接受CPU发来的命令,控制一个或多个I/O设备工作,以实现I/O设备和计算机之间的数据交换,减轻CPU负担,使处理机从繁杂的设备控制事务中解脱出来
设备控制器是一个可编址的设备:一个或多个地址

设备控制器分类:控制字符设备的控制,控制块设备的控制器

基本功能描述
接受和识别命令控制寄存器能接受并识别处理机发来的多种命令通过相应的控制器存放接受的命令和参数,并对其译码
数据交换实现CPU与控制、控制器与设备之间的数据交换,需要设置数据寄存器
标识和报告设备的状态需设置状态寄存器,记录设备的状态
地址识别系统中的每一个设备都有一个地址,为了识别所控制的设备,需要设置地址译码器
数据缓冲暂存数据,解决I/O设备速率低的问题
差错控制对I/O设备发送的数据进行差错检测,设置差错检测码

内存映像I/O

驱动程序将抽象的IO命令转换出的一系列具体命令、参数等数据装入设备控制器的相应寄存器,由控制器来执行这些命令,具体实施对IO设备的控制
两种完成方法:特定io指令
内存映像io:编址上不区分内存单元地址和设备控制器中的寄存器地址,通过范围来区分。可以统一对内存和对控制器的访问方法。

IO通道

一种特殊处理机,具有执行IO指令的能力,并通过执行IO通道程序来控制IO操作

有自己简单的指令系统:只有数据传送指令和设备控制指令
主要目的是为了建立独立的IO操作,使有关对IO操作的组织、管理及其结束处理也独立于CPU
CPU向I/O通道发送I/O命令,由通道执行程序,仅当通道完成规定的IO任务,才向CPU发出中断信号

通道与一般处理机的区别:指令单一 ,么有独立的内存

通道类型

  • 字节多路通道:以字节交换方式工作,分时并行操作,多个非分配型子通道,每个子通道连接一台IO设备。主要用来连接多个中低速设备
    在这里插入图片描述
    通道类型:数组选择通道,按数组方式进行数据传送工作,能高速传输数据,可以连接多台高速设备,但是,仅含有一个分配型子通道,在一段时间内只能执行一个通道程序,控制一台IO设备,由于设备独占使用,利用率低
    数组多路通道:将数组选择通道传输速率高和字节多路通道分时并行操作的优点相结合而形成的一种新通道。它含有多个非分配型子通道,数据传送按数组方式进行因而这种通道即具有很高的数据传输速率,又能获得令人满意的通道利用率

I/O通道的瓶颈
价格昂贵,所设置的通道数量较少;往往使他成了IO的瓶颈,进而造成整个系统吞吐量的下降

在这里插入图片描述
解决方法增加设备到主机间的通路而不增加通道。即把一个设备连接到多个控制器上,而一个控制器又连接到多个通道上。
在这里插入图片描述

IO设备的控制方式

  • 使用轮询的可编程I/O方式
  • 使用中断的可编程IO方式
  • 直接存储器DMA访问方式
  • I/O通道控制方式
    中断驱动方式,即当某进程要启动某个IO设备工作时,便由CPU向相应的设备控制器发出一条IO指令,然后理解返回继续执行原来的任务。设备控制器按命令要求去控制指定的IO设备,完成后,通过中断向CPU发送一中断信号。在IO设备输入输出数据的过程中,无须CPU干预,每次传送一个字符
    CPU与IO设备可以并行操作
    使用场合:适用于低俗设备IO,并可配合DMA和通道方式实现IO
    问题:在每个数据传送完后中断CPU

直接存储器访问方式

特点:

  • 数据传输的基本单位是数据块
  • 所传送的数据是从设备直接送入内存的,或者相反
  • 仅在传送一个或多个数据块的开始和结束时才需CPU干预
  • 除了具有中断机构外,还增加了DMA控制器
  • 数据传送方向、存放数据的内存地址及传送数据长度需CPU控制
  • 每个设备需配置一个DMA控制器

DMA控制器由三个部分组成

  • 主机与DMA控制器的接口
  • DMA控制器与块设备的接口
  • IO控制逻辑
    DMA工作过程
    向磁盘控制器发送一条命令,送入命令寄存器CR,将本次要读入数据在内存中的起始目标地址送入MAR内存地址寄存器,还要把数据字节送入DC数据计数器,同时将磁盘中的源地址直接送入DMA控制器的IO控制逻辑
    然后,启动DMA控制器进行数据传送,CPU便转去处理其他事务。整个数据传送过程由DMA控制器进行控制
    读入一个字节的数据后送入数据寄存器DR,将他送入MAR地址寄存器所指示的存储单元,MAR加1,DC建议,进行判断看数据是否传送完毕
直接存储器访问方式描述
使用场合适用于高速外设IO,一次可以在外设与内存之间传输一个或多个数据块,传输完毕后才需CPU干预
存在的问题传送方向,始地址,长度等由PCU控制,一个设备一个DMA,成本高
DMA与中断方式的主要区别中断方式在每个数据传送完成后中断CPU,进一步减少了cpu对io设备的干预。中断方式的数据传送时在中断处理时由CPU控制完成的,而DMA则是在dma控制器的控制下完成的

IO通道控制方式

I/O通道控制方式的引入,进一步减少了CPU干预,把对一个数据块的读或写为单位的干预,减少为对一组数据块的读或写及有关的控制和管理为单位的干预
一个通道控制多台设备
cpu仅在I/O操作的开始和结束时花费少量时间处理与I/O有关的工作
可实现CPU、通道与I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率

中断机构和中断处理程序(重点)

中断是多道程序得以实现的基础,是设备管理的基础,是实现CPU和IO设备并行的基础
中断处理是IO系统中的最底层,是整个IO系统的基础

中断和陷入

中断(外中断):CPU硬件有一条中断请求线,由IO设备触发。设备控制器通过中断请求线发送信号而引起中断,CPU捕获中断并派遣到中断处理程序,中断处理程序通过处理设备来清除中断
陷入(内终端):cpu内部时间所硬气的中断,若系统发现有陷入事件,cpu也将暂停正在执行的程序,转去执行该事件的处理程序

中断处理程序

I/O中断处理程序的基本工作

  • 保留现行进程的执行现场
  • 通知等待该IO操作完成的进程
  • 最终转入进程调度程序进行重新调度
    工作步骤
  • 唤醒被阻塞的驱动(程序)进程
  • 保护被中断进程的CPU环境
  • 转入相应的设备处理程序
  • 中断处理
  • 恢复被中断进程的现场

设备驱动程序(重点)

设备驱动程序又被称为设备驱动程序,是IO进程与设备控制之间的通信程序:接受上层软件发来的抽象IO要求再把它转换为具体要求后发给设备哦内阁制其,启动设备去执行,反之,也将由设备控制器发来的信号传给上层软件。

每一类设备应配置一种驱动程序

设备驱动程序的功能

  • 接受用户的IO请求命令和参数,并将命令中抽象要求转化为具体要求
  • 检查用户IO请求的合法性,了解IO设备的状态,传递有关参数,设置设备的工作方式
  • 发出IO命令并检查设备状态,空闲则启动IO完成指定的操作,忙碌将请求者的请求块挂到相应设备的IO请求队列
  • 及时响应由控制器或通道哦发来的中断请求并处理
  • 若计算机系统设置有通道,则驱动程序根据用户的IO请求,自动的构成通道程序

设备驱动概述

设备处理方式
为每一类设备设置一个进程,专门用于负责该类设备的驱动工作。为每台设备建立一个设备驱动进程,他们分别负责专门设备的驱动工作,同类设备的各驱动进程共享该类设备的设备驱动程序。
在整个系统中设置一个IO进程,统一负责所有设备的驱动工作。专门用于执行系统中所有各类设备的IO操作。不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序,供用户进程或系统进程调用。

设备驱动程序的处理过程

功能描述
将抽象要求转化为具体要求设置控制器中寄存器
检查IO请求的合法性若请求的设备不支持本次的IO请求,认为是非法操作
读出和检查设备的状态检查设备是否空闲或就绪
传送必要的参数数据量、起始地址
设置工作方式对于有多种工作方式的设备进行设置
启动IO设备

与设备无关软件的基本概念

逻辑设备名到物理设备名映射–采用逻辑设备表

超级重点(设备分配与回收)

设备控制表DCT,每个设备一张,记录本设备的i情况

在这里插入图片描述

控制器控制表(COCT)、通道控制表(CHCT)
在这里插入图片描述
系统设备表(SDT)

在这里插入图片描述
设备分配时应考虑的因素

  • 独占性
  • 共享性
  • 可虚拟性

设备分配

独占设备的分配程序

基本的设备分配程序:分配设备、分配控制器、分配通道只有在设备、控制器和通道三者都分配成功

在这里插入图片描述

独占设备的分配程序(重点!!!)

按设备物理名查SDT,由SDT查设备DCT,设备是否忙?不忙,根据安全策略进行分配(分配设备1),由DCT查COCT分配控制器(分配控制器),由COCT查CHCT分配通道哦(分配通道1)(请记住这段话!)

独占设备的分配程序
基本分配程序的问题:进程以物理i名提出IO请求,采用但通路I/O系统结构,容易产生瓶颈

改进

增加设备独立性:通过逻辑设备名请求IO

逻辑设备表(LUT)

将应用程序所使用的逻辑设备名映射到物理设备名。每个标目中包括逻辑设备名、物理设备名和设备驱动程序的入口地址

系统调用和库函数

应用程序可以通过它间接调用OS中的IO过程,对设备进行操作;
系统调用是应用程序取得OS所有服务的唯一途径
系统调用的实现对调用者是透明的

库函数
在许多现代操作系统中,系统调用本身已经采用C语言编
写,并以函数形式提供,所以在使用C语言编写的用户程
序中,可以直接使用这些系统调用

SPOOLing(假脱机)重点!!!

SPOOling技术:慢速设备如何与计算机主机交换信息的一种技术,通常称为‘假脱机技术‘(通过软件的方式模拟脱机技术)
在联机情况下实现的同时外围操作称为SPOOLing
建立在通道技术多道程序技术的基础之上

在这里插入图片描述

  1. 输入井和输出井。这是在磁盘上开辟出来的两个存储区域。
  2. 输入缓冲区和输出缓冲区:内衬中开辟的缓存区
  3. 输入进程和输出进程:模拟脱机IO时的外围控制机
  4. 井管理程序:控制作业与磁盘井之间信息的交换

在这里插入图片描述

SPOOLing系统的特点

  1. 提高了I/O的速度。从低俗IO设备进行的IO操作,演变为对输入井或输出井中数据的获取,提高了IO速度,缓和了CPU与低俗IO设备之间速度不匹配的矛盾
  2. 将独占设备改造为共享设备。在假脱机打印系统中,实际上并没为任何进程分配设备,而只是在输入井或输出井位进程分配一个存储区和建立一张IO请求表
  3. 实现了虚拟设备功能。

主要有以下三部分:(1) 磁盘缓冲区。(2) 打印缓冲区。
(3) 假脱机管理进程和假脱机打印进程。

SPOOLing技术、守护进程

将独占设备改造为共享设备时,需要为这个设备配置一个守护进程和一个假脱机文件队列。守护进程是允许使用该独占设备的唯一进程

缓冲区管理

缓冲区是一个存储区域,可以由专门的硬件寄存器组成,成本高,容量小,一般情况下更多的是利用内存作为缓冲区。缓冲区的管理就是组织管理好这些缓冲区。

缓冲的引入

缓和CPU与IO设备间速度不匹配的矛盾
数据到达速率与其离去速率不同
减少对CPU的中断频率,放宽对CPU中断响应时间的限制。
解决数据粒度不匹配问题
提高CPU和I/O设备之间的并行性
提高系统的吞吐量和设备的利用

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

磁盘存储器的性能和调度

磁盘存储器是计算机系统中最重要的存储设备,在里面放了大量的文件。磁盘设备包括一或多个物理盘片,每个磁盘片分为一或两个存储面在每条磁道上可存储相同数目的二进制位。显然内层磁道的密度较外层磁道的密度高
在这里插入图片描述
磁盘上存储的物理记录
块数目是由扇区数、磁道数以及磁盘面数所决定的。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值