大学操作系统原理《设备管理》教学课件_第1页
大学操作系统原理《设备管理》教学课件_第2页
大学操作系统原理《设备管理》教学课件_第3页
大学操作系统原理《设备管理》教学课件_第4页
大学操作系统原理《设备管理》教学课件_第5页
已阅读5页,还剩25页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2026操作系统原理·设备管理I/O控制·缓冲·SPOOLing·设备分配·磁盘调度课程导览01设备管理概述建立I/O系统整体框架02I/O控制方式四种方式逐步解放CPU03缓冲与SPOOLing两大提速与虚拟化技术04设备分配三类设备与分配回收机制05磁盘调度四种算法与寻道优化01设备管理概述先见森林,再见树木设备管理的三大核心问题CPU以微秒级工作,打印机、键盘以毫秒甚至秒级工作。根本矛盾是速度——本章所有技术,本质都是调和这一速度差。三个问题贯穿全章明确主线·逐层展开谁来翻译进程请求如何变成硬件命令如何传送CPU、内存、设备之间怎样流动数据怎样分配多进程竞争时如何记录、分配、回收先记住这三个问题,后面每一讲都能在其中找到自己的位置。I/O硬件与软件层次结构CPU与主存虽参与I/O,但属于处理与存储系统,不属于I/O子系统。适配器与接口总线连接、电气信号转换设备控制器维护控制、状态、数据三类寄存器外部设备真正完成输入或输出软件四层(自上而下)1用户级I/O软件2设备独立层3设备驱动层4中断处理程序命令传递路径1用户应用2设备独立层3设备驱动层4设备硬件完成后由中断处理程序通知驱动程序与等待进程。设备无关层与驱动程序的分工设备无关层不依赖具体型号与寄存器细节,负责各类设备共有工作统一命名与逻辑设备名映射设备保护、权限检查、分配与回收缓冲区管理、统一数据块大小与读写接口通用

I/O错误处理设备驱动层涉及具体寄存器、端口或硬件命令了解寄存器地址、控制位与设备时序配置寄存器、发送硬件命令、启动设备、读取底层状态判断口诀根据关键词快速判断归属层次提到寄存器、端口、硬件命令→驱动层提到通用管理类工作→设备无关层速度矛盾:设备管理的起点先理解矛盾,才能理解技术CPU与外设的速度鸿沟CPU:每秒处理上亿条指令打印机:打印一页纸需以秒计的时间速度不匹配的两个直接后果CPU大量时间空耗在等待上,系统整体利用率下降数据到来与处理之间需要缓冲来衔接后续技术的动机四种I/O控制方式:逐步把CPU从对外设的等待中解放出来缓冲与SPOOLing:以存储空间换时间、以磁盘换设备并行度02I/O控制方式CPU的逐步解放史程序直接控制:CPU全程轮询“像一个人不停地敲门问“好了吗””程序查询方式CPU发读指令→设备置状态为未就绪→CPU循环查状态寄存器→设备就绪后读数据入内存读操作走I/O设备→CPU→内存;写操作反向,每个字都经CPU中转优点实现简单硬件要求低缺陷CPU与设备只能串行工作长期忙等,利用率极低适用场景简单慢速设备CPU不繁忙的小型系统中断驱动:设备主动报告核心机制中断驱动,CPU不等待被动等待→主动等待执行流程指令周期末尾检查中断检查→响应→恢复适用设备键盘·鼠标中慢速设备执行流程3步①

检查CPU在指令周期末尾检查中断②

响应检测到中断后保存现场,转去执行中断处理程序③

恢复完成一个字传送后,恢复被中断进程继续执行现场保护内容3项程序计数器(断点)程序状态字必要时保存通用寄存器DMA方式:直接内存访问主存与外设间建立专用数据通路,由

DMA控制器

管理传输,CPU仅首尾介入。评价极大减轻CPU负担、传输效率高代价是硬件复杂、成本较高,仍有访存冲突可能“交代一次,整箱运送。”中断驱动传输单位:逐字CPU参与:每字经手适用设备:字符设备DMA传输单位:数据块CPU参与:仅配置与收尾适用设备:磁盘等块设备控制器组成命令寄存器状态寄存器内存地址寄存器访存冲突三策略停止CPU访存周期窃取交替访问其他寄存器数据寄存器数据计数器VS通道控制:专用I/O处理机CPU从亲自轮询,到整体委托通道执行代价是硬件成本最高,适用于大型系统与大规模数据传输通道=输入输出处理机专用I/O处理机·硬件子系统CPU只做两件事:组织好通道程序、执行一条启动I/O指令其余工作全部由通道独立完成通道程序由一组通道命令组成,每条命令包含:命令码、数据主存地址、传送字节数、标志码通道完成后向CPU报告结果四种I/O方式对比CPU干预频率·传输规模方式CPU干预频率传输规模轮询最高最小中断较高较小DMA较低较大通道最低最大四种I/O控制方式对比对比项程序直接控制中断驱动DMA通道谁等待设备CPU轮询设备完成后中断CPUDMA控制器通道执行程序谁搬运数据CPUCPUDMA控制器通道一次传送规模字字数据块多组数据CPU干预频率最频繁频繁仅开始与结束最低CPU负担最大较大较小最小硬件成本最低较低较高最高一条主线CPU干预越来越少,一次传送规模越来越大,硬件越来越复杂。CPU越解放,硬件越复杂。03缓冲与SPOOLing以空间换时间,以磁盘换设备为什么需要缓冲:速度与粒度缓冲的本质:内存中划出的一块存储区域,用来暂存数据绝大多数场景使用软件缓冲四个引入原因4项缓和速度不匹配缓和

CPU与I/O速度不匹配,快速方不必空等慢速方减少中断频率数据攒够一批才中断一次,放宽中断响应时间限制解决数据粒度不匹配设备一次传

1字节,内存一次收

1个数据块提高并行性提高

CPU与I/O设备之间的并行性硬件vs软件缓冲2项硬件缓冲专用寄存器实现,成本高、容量小用于对速度要求极高的场合软件缓冲操作系统在内存中管理,易于改变大小与数量代价是占用部分内存单缓冲:一块交替使用工作流程单缓冲·三步衔接设备写入缓冲区→缓冲区传送到用户区→CPU处理,三者依次衔接。时间公式三段时间开销设输入时间

T、传送时间

M、处理时间

C,处理一块数据平均耗时=Max(C,T)+M。并行与串行设备输入与CPU处理可并行,故取两者较大值Max(C,T)缓冲区到用户区的传送必须串行,故额外加上M主要局限单向流动缓冲区“装入”与“提取”串行——只有空才能写入,只有满才能取出,同一时刻只能单向流动,无法支持双向同时传输。双缓冲:并行对换提速装货与卸货两个码头同时作业机制两个缓冲区交替工作——设备装满A后立即转向B,OS同时从满态的A取数送交CPU。收益设备写入与CPU读取真正重叠,平均处理时间约为

Max(C,T),比单缓冲少一次M的串行等待。双向通信/行输入单缓冲任一时刻只能单向传输;两端各设两个缓冲区才能双向传输。用户输入下一行时,CPU正在处理上一行,等待感基本消除。循环缓冲与缓冲池循环缓冲与缓冲池:双缓冲不够用时,把多个缓冲区组织成循环队列。双缓冲不够用时,把多个缓冲区组织成循环队列,让输入与计算交替流转。共享,让缓冲从专用走向公用循环缓冲三类缓冲空缓冲、满缓冲、现行工作缓冲三个指针下一满缓冲、下一空缓冲、当前工作缓冲生产者—消费者输入进程写入、计算进程取数缓冲池三条队列空缓冲队列、输入队列、输出队列四类操作取空缓冲→填满挂输出队尾摘输入队头→取数设备输入填满→挂输入队尾设备输出取队头→用完归还SPOOLing:假脱机的思想SPOOLing全称SimultaneousPeripheralOperationsOn-Line,中文称假脱机技术。

问题批处理时代CPU与慢速设备速度矛盾突出,主机直接读写低速设备效率极低。→

对策脱机技术由外围控制机先把输入数据写入更快速的磁带,主机再从磁带读取,实现脱离主机控制的输入输出。设备管理中最经典的一次“以磁盘换设备”的思想跃迁软件模拟SPOOLing在联机条件下用软件模拟脱机效果:磁盘上开辟输入井与输出井两个存储区域输入井模拟脱机输入的磁带,输出井模拟输出磁带数据以文件形式组织成队列核心跃迁把对低速设备的操作转变为对高速磁盘的操作,在逻辑上把独占设备改造成可共享的虚拟设备。SPOOLing三大组成与共享打印机SPOOLing把一台物理设备虚拟成逻辑上的多台设备SPOOLing把一台物理设备虚拟成逻辑上的多台设备三大组成3部分输入井/输出井磁盘上的暂存区,数据先落盘再送设备输入/输出缓冲区内存中的中转区,衔接设备与磁盘输入/输出进程调度搬运设备—缓冲区—井共享打印机流程3步直接分配多进程同时请求,物理打印机只有一台,只能排队独占SPOOLing做法输出井申请缓冲区存数据,再申请打印请求表挂队列打印机空闲输出进程从队头取表,经缓冲区送打印机核心效果:物理一台打印机,每个进程都觉得自己独占它SPOOLing的技术特点与现代意义三大特点提速对低速设备的操作转为对输入井、输出井的操作,缓和CPU与设备速度不匹配的矛盾不真分配设备未真正分给任何进程,进程得到的只是井中的一个存储区和一张I/O请求表虚拟设备多个进程同时使用一台独占设备,每个进程都以为自己独占它现代延续Windows打印后台处理程序与

LinuxCUPS

是SPOOLing的直接继承分布式任务调度、消息队列、云服务任务排队,都蕴含“先落盘、再异步处理”的假脱机智慧04设备分配谁用、何时用、如何还三类设备:独占、共享与虚拟设备分类是整章分配逻辑的起点。独占设备一段时间内只能分配给一个进程互斥使用打印机、磁带机是典型例子——打印机不可能两行字交叉着打共享设备可同时分配给多个进程:宏观上同时使用,微观上交替访问磁盘、文件属于此类,速度快,能在请求间快速切换虚拟设备采用SPOOLing技术把独占设备改造成共享设备后形成的逻辑抽象例如虚拟打印机对应三类设备,三种分配技术独占分配→适用于独占设备,系统效率较低共享分配→适用于高速大容量共享设备,利用率较高虚拟分配→利用共享设备实现独占设备功能,让独占设备在用户“感觉上”变得可共享、更快速设备分类是整章分配逻辑的起点。设备分配的数据结构设备分配靠五张表记账,前四张管硬件状态,最后一张管名字映射。五张表共同构成设备分配与回收的账本。系统设备表全系统一张,每台设备一个表目,是分配查找的入口。设备控制表每台设备一张,记录设备状态与使用情况。控制器控制表每个控制器一张,操作系统据此操作和管理控制器。通道控制表每个通道一张,记录通道状态。逻辑设备表把逻辑设备名映射到物理设备名,用户编程不必写死物理名。单用户:全局一张,逻辑设备名不得重复多用户:每用户一张,逻辑设备名可以重复静态分配与动态分配设备分配方式决定系统效率与死锁风险——

静态分配与动态分配,是两条不同的路径。效率与安全,常需权衡。静态分配运行前一次性分配全部设备、控制器和通道,作业撤销才释放。破坏“请求和保持”条件,不会死锁,但设备利用率低。动态分配运行中按需申请,用完立即释放。常用算法:先来先服务、优先级高者优先、短任务优先。安全分配分配后立即阻塞进程,I/O完成才唤醒。一个时段每进程仅用一台设备。不会死锁,但

CPU与I/O串行。不安全分配分配后进程继续执行,可发新I/O请求,请求无法满足才阻塞。CPU与I/O并行、推进更快,但存在死锁可能。VSVS设备分配的步骤四级表顺序查找设备→控制器→通道,逐级确认空闲,任一环节忙则挂起等待。三者全部分配成功,I/O传输才能启动。设备查找空闲控制器确认空闲通道确认空闲物理设备名的两个问题2项编程须了解底层细节不透明、不便维护请求设备忙时同类型空闲设备也无法顶上逻辑设备名映射2项映射方式用户只提供逻辑设备名,系统在设备表中找同类型空闲设备分配,并新增逻辑设备表表项好处编程更简单,设备利用率同步提

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论