第一节

I/O设备分类

块设备:磁盘、可寻址、传输速率高、分时共享设备

字符设备:打印机、无寻址概念、传输速率低、独占式共享设备

共享属性的分类都是基于该设备可共享的基础上的阐述,独占或者非独占两类

易混淆概念

共享资源分为两种模式:互斥共享、同时访问

互斥共享的共享资源被称为临界资源,同时访问的共享资源简称为共享资源

被进程占据后不能被其他进程抢占的资源被称为不可剥夺资源

同一时刻只能被一个进程占用的设备被称为独占式共享设备

同一时间段可以被多个进程共享的设备被称为共享设备,简称而已

设备控制器

一个设备控制器可控制多个外设,需要记忆和背诵其组成部分与基本功能

I/O端口:设备控制器中的寄存器,直接被处理器控制,统一编址或独立编址

各自背诵优缺点、特征即可

I/O控制方式

程序查询方式、中断驱动方式均以字为传输单位,其目的均是将数据经处理器传到内存

且正是因为要经过处理器,才会导致大量处理器的时间被浪费,完全不必要

程序查询方式由处理器主动查询设备控制器中的寄存,中断由设备控制器主动中断

设备控制器是不会被替代的,即使在直接存储器存取方式中(DMA)

在(DMA)方式中,设备控制器依旧操纵设备传输数据,但由(DAM)辅助直传到内存

与内存的交互单位依旧是字、字节,但与处理器的交互变为数据块为单位

简单而言以块为单位汇报工作,本质上已经不再需要处理器关心中间的处理过程

(DAM)控制器需要记忆与背诵相关的硬件结构、硬件布局

注:DMA请求的发出者是外设,DMA传送请求、DMA中断请求发出者为DMA

DMA方式补充

处理器给出读写目标,将一系列初始信息送给DMA控制器,由其代为实现数据转送内存

DMA控制器接受设备控制器传输的字单位数据,代为以字为单位送至内存

以块为单位向处理器汇报工作,实际上已将数据块送至内存,再令处理器后处理

或者直接从内存中以字为单位交互,交互完该批任务:一个数据块,然后向处理器汇报

I/O软件层级结构

背诵类型内容,其中考察较多为设备独立层、设备驱动程序的区分

偏抽象概念性,管理性的高端脑力劳动归设备独立,苦累具体劳动交给设备驱动程序

应用程序I/O接口

实际上为编程中、用户层所调用的接口类型,需要系统调用请求服务

一般极少考察,了解名称即可:字符设备接口、块设备接口、网络设备接口

硬件自动实现功能

内存管理单元的地址转换;流水线分支预测;硬件缓存;中断处理;DMA;内存刷新

随记

通道控制设备控制器,DMA控制器接受设备控制器传来的数据并代为直接传送到内存

设备控制器是较底层设备,不会被上层设备取代

对设备驱动程序、设备独立层软件两者的区分,就看何者更贴近操纵设备控制器

重要考点:中断驱动方式下的输入输出步骤,统考多次作为核心考点

中断处理程序的任务是将设备控制器的数据寄存器中的数据写入内核缓冲区

或者将内核缓冲区的数据写入相应设备控制器的数据寄存器中

因而对于不同设备,中断处理程序自然不同,因为需要读、写不同的设备控制器

中断处理程序属于某一类设备驱动程序专用于处理读写中断的内容

中断处理结束后的返回,不一定返回原函数,或因进程优先级问题导致暂等待

对于需要经过处理器的数据传输,是先产生中断,然后调用中断服务程序处理传输

但在直接传输(DAM)中,就是先不闻不问传输完数据,然后再调用中断服务

调用中断服务处理的目的也主要是释放总线、让处理器介入进行后处理

注:DMA,其中断可以在任意时刻被响应,此部分内容参考计组P307(讲得很一般)

真题汇总

核心依旧是中断过程的逻辑梳理

3:每一类设备都对应一类I/O中断处理程序,也对应一类设备驱动程序

这类设备的I/O中断处理程序本就是设备驱动程序的一部分,因而代码属设备驱动程序

由中断处理程序完成数据从设备控制器向内核缓冲区的读写

在进程唤醒后,该内核缓冲区数据会被写入进程缓冲区,具体可参考第三章第二节


第二节

设备独立性软件:磁盘高速缓存、缓冲区、设备分配与回收、虚拟设备

缓存与缓冲区

交换区在磁盘、缓冲区都在内存

磁盘高速缓存用于提高磁盘逻辑访问速度、存于内存空闲或固定区域

缓冲区的目的即为缓和速度矛盾,使得一次性输入的数据能够被慢慢消化不需等待

缓冲的计算问题,参考两类图表即可得到结果

核心在于必须等待上一块数据处理完后,才能把数据从缓冲区放入工作区,C

循环缓冲:当速度差异较大时,即可使用

注:上述三类缓冲均为专用缓冲,每个进程一个缓冲,不能用作多进程缓冲

缓冲池,基本数据结构:空缓冲队列、输入队列、输出队列

缓冲池,基本物理结构:收容缓冲区、提取缓冲区

缓冲池操作:输入进程输入、输出进程提取、计算进程输入、计算进程提取

记忆方法:收容即为向内输入,提取即为向外提取,分别对应字母:H、S,缓冲区

基本步骤:摘一个空、满缓冲区,写/读完后放置入满、空缓冲队列

设备分配与回收

设备分配数据结构,需要记忆数据结构内部内容,明确何者控制何者

设备分配因素:直接背诵即可

设备分配步骤:需要重点关注整个流程顺序,是逆正常逻辑的

逻辑设备表的目的是将逻辑设备映射为物理设备,总体而言实现了设备无关性

注:P355,有部分补充内容

脱机技术

不需要外围机的控制,可以使用进程模拟外围机

核心思想:让处理器、外设均只经过磁盘这个中介互相交互数据,不会互相影响和等待

输入缓冲区与输出缓冲区:磁盘与外设之间的速度差异依旧较为明显,因而需缓存

输入进程、输出进程管理数据的输入、输出步骤,仅此而已

井管理程序,管理磁盘井与磁盘内作业之间的调度、信息的交换

实现效果:缓和处理器与外设速度冲突、增加外设忙碌度使得处理加速

设备驱动程序

考频较高,最坏情况就是全文背诵

随记

缓冲区本质上与管道相同,均是半双工设备,若要全双工必须各自一个缓冲区

缓冲区需要互斥访问,也是设备控制中最重要的任务

假脱机技术的基本硬件图形和名称需要记忆,考察不会特别难,那么就会在细节做文章

共享设备的分配是动态的,独占式设备的分配是静态的

其实如果对应书上的内容一题题做,这一部分确实是不太会出大问题的,但….

先由驱动程序转为具体需求以后,才能鉴别这个操作是否合法…

设备驱动程序中包含对该类设备控制器的读写中断处理程序,能解释通答案

设置磁盘缓冲区的目的和其他高速缓存的目的均一致,减少访存、访盘的具体次数

例如如果磁盘缓冲、Cache、TLB命中率极高,就可以减少大量慢速设备的访问

驱动程序本身与操作系统关系关系密切,因而不可随意迁移

设备驱动程序和设备特性直接相关,设备I/O控制方式必然影响驱动程序

注:对假脱机技术的解释,课本上放在课后习题二十六题,优点的解释内容

注:区分设备驱动程序与设备无关软件,应从何者功能与直接执行步骤之间更相关区分


第三节

计组有对应章节内容,可以配合学习

磁盘

固定头磁盘,每个磁道一个磁头,不存在寻道延迟;活动头磁盘每个盘面一个磁头

只可能在活动头磁盘上讨论磁盘的调度与寻道时间

磁盘初始化

磁盘低级格式化到存在磁道、扇区

磁盘分区,产生主引导记录、分区引导记录、磁盘分区;只有结构没内容

磁盘逻辑格式化,装载文件系统、装载操作系统、建立数据结构(除分区表外均此阶段

操作系统引导过程

BIOS先进行自检(硬件自检),寻找默认引导设备(磁盘、U盘、光盘、硬盘等)

加载引导设备零号扇区,加载扇区内的分区表与分区引导程序入内存

转交执行权给分区引导程序,用于寻找与加载活动分区中的活动分区引导程序入内存

转交执行权给活动分区引导程序,用于寻找与加载该分区内的启动管理器入内存

转交执行权给启动管理器,用于加载操作系统及其初始化程序入内存

名称解释

MBR中的内容:分区表、分区引导程序、引导签名(验证有效性)

PBR中的内容:活动分区引导程序、引导签名

MBR,在引导设备的零号扇区;PBR,在活动分区的零号扇区

一般指代的活动分区即为,E盘、C盘、D盘,这一类磁盘内主动分盘

坏块

操作系统可视则标注于FAT,不可视由设备控制器完成区分

磁盘调度算法

存取时间:寻道时间、旋转延迟、传输时间

磁盘调度算法:FCFS、SSFT、SCAN、C-SCAN、LOOK、C-LOOK,只需记忆流程即可

减少旋转延迟:单盘面错位、多盘面错位存放

提高磁盘、文件系统效率,大体上可以分为依靠内存、依靠磁盘两类方式

文件关闭仅将文件控制块内容更新写回、文件读写才会将数据写回磁盘,类似延迟写

固态硬盘

芯片>块>页,读以页为单位,写形式上以页为单位,实际上以块为单位

磨损均衡:静态、动态,不写的时候也在分配,只有写的时候才在主动进行分配

需要记忆与磁盘的比较、优缺点

随记

光盘支持随机读写,硬盘、U盘均为闪存可以随机读写

文件于磁盘上的连续分配,以盘面为基础,柱面为单位,磁盘为总额,上到下,内到外

题设的柱面数即为单盘面上的磁道数、题设的柱面磁道数即为总盘面数

固态硬盘的随机读写快于磁盘,连续读写优势不明显,磁盘极其适合连续读写

提高文件访问速度、提高文件系统存取效率、提高磁盘设备性能,均为同义改写

关于调度算法的计算题:建议画图理清调度顺序后再做题确认

关于存取时间的隐含信息

默认随机寻道下,每次读写均需要再度寻道一次

默认旋转经过一个扇区后能够将扇区内部数据全部读出或写满该扇区