游戏 网站模板,钉钉app下载安装,wordpress进管理员,2018wordpress插件I/O系统的功能、模型和接口 I/O系统的基本功能 隐藏物理设备的细节与设备的无关性提高处理机和I/O设备的利用率对1/0 设备进行控制确保对设备的正确共享 独占设备#xff0c;进程应互斥地访问这些设备共享设备#xff0c;在一段时间内允许多个进程同时访问的设备 错误处理 I…I/O系统的功能、模型和接口 I/O系统的基本功能 隐藏物理设备的细节与设备的无关性提高处理机和I/O设备的利用率对1/0 设备进行控制确保对设备的正确共享 独占设备进程应互斥地访问这些设备共享设备在一段时间内允许多个进程同时访问的设备 错误处理 I/O系统的层次结构和模型 I/O 软件的层次结构 I/O系统中各种模块之间的层次视图 I/O系统接口 在I/O系统与高层之间的接口中根据设备类型的不同又进一步分为 块设备接口流设备接口(字符设备接口)网络通信接口
I/O设备和设备控制器 I/O设备 I/O设备的类型 按使用特性分类 I/O设备按照使用特性分为存储设备和I/O设备其中I/O设备又可分为输入设备、输出设备和交互式设备按传输速率分类 从设备的传输速率上I/O设备又分为低速设备、中速设备和高速设备信息交换的单位 I/O设备按照信息交换的单位分为块设备和字符设备 设备与控制器之间的接口 设备并不是直接与CPU进行通信而是与设备控制器通信因此在I/O设备中应含有与设备控制器间的接口在该接口中有三种类型的信号各对应一条信号线。三种信号线中只有数据线是双向的 设备控制器 设备控制器的基本功能 接收和识别命令数据交换标识和报告设备的状态地址识别数据缓冲区差错控制 设备控制器的组成 设备控制器与处理机的接口设备控制器与设备的接口I/O逻辑 I/O通道 I/O通道设备的引入 定义 I/O通道是专门负责输入/输出的处理机与一般处理机的差别 其指令类型单一通道没有自己的内存通道程序是放在主机的内存中的即通道与CPU共享内存 通道类型 根据信息交换方式的不同可把通道分成以下三种类型 字节多路通道数组选择通道数组多路通道
中断机构和中断处理程序
中断在操作系统中有重要的地位没有中断就不可能实现多道程序进程之间的切换是通过总段来实现的 为了提高处理机的利用率和实现CPU和I/O设备并行执行必须有中断支持 中断处理程序是I/O系统中最低的一层是整个I/O系统的基础
中断简介 中断和陷入 中断 中断是指CPU对I/O设备发来的中断信号的一种响应。中断是由外部设备引起的故又称外中断陷入 定义 陷入是指一种由CPU内部事件所引起的中断也称为内中断。与中断的区别 中断和陷入的主要区别是信号的来源即是来自CPU外部还是CPU内部 对多中断源的处理方式 屏蔽(禁止)中断嵌套中断 中断处理程序 中断处理程序的处理过程可分成以下几个步骤 测定是否有未响应的中断信号保护被中断进程的 CPU 环境转入相应的设备处理程序中断处理恢复CPU的现场并退出中断
设备驱动程序
设备驱动程序概述 设备驱动程序的功能 接收由与设备无关的软件发来的命令和参数并将命令中的抽象要求转换为与设备相关的低层操作序列检査用户I/O请求的合法性了解I/O设备的工作状态传递与I/O设备操作有关的参数设置设备的工作方式发出I/O命令如果设备空闲便立即启动I/O设备完成指定的I/O操作如果设备忙碌则将请求者的请求块挂在设备队列上等待及时响应由设备控制器发来的中断请求并根据其中断类型调用相应的中断处理程序进行处理 设备驱动程序的特点 驱动程序是实现在与设备无关的软件和设备控制器之间通信和转换的程序不同类型的设备应配置不同的驱动程序驱动程序与I/O设备所采用的I/O控制方式紧密相关有很多驱动程序的基本部分已经固化在ROM中驱动程序应允许可重入 设备处理方式 为每一类设备设置一个进程在整个系统中设置一个I/O进程不设置专门的设备处理进程而只为各类设备设置相应的设备驱动程序供用户或系统进程调用 设备驱动程序的处理过程 将抽象要求转换为具体要求对服务请求进行校验检查设备的状态传送必要的参数启动I/O设备 对I/O设备的控制方式 程序I/O方式 此时CPU和I/O设备只能串行工作 使用中断的可编程I/O方式 此时CPU与I/O设备并行操作 直接存储器访问方式(DMA) DMA方式的特点 数据传输的基本单位是数据块即在CPU与I/O设备之间每次传送至少一个数据块所传送的数据是从设备直接送入内存的或者相反仅在传送一个或多个数据块的开始和结束时才需CPU干预整块数据的传送是在控制器的控制下完成的 DMA控制器的组成 DMA控制器由主机与DMA控制器的接口DMA 控制器与块设备的接口I/O控制逻辑三部分组成。 DMA工作过程 DMA方式在内存和I/O设备之间开辟直接数据通道 I/O通道控制方式 I/O通道控制方式的特点 数据传输的基本单位是一组数据块实现了CPU、通道和I/O设备三者的并行操作 通道程序 通道程序是由一系列通道指令(或称为通道命令)所构成的
与设备无关的I/O软件
基本概念 I/O重定向 所谓I/O重定向是指用于I/操作的设备可以更换(即重定向)而不必改变应用程序设备无关性 即应用程序独立于具体使用的物理设备 与设备无关的软件 设备驱动程序的统一接口缓冲管理差错控制对独立设备的分配与回收独立于设备的逻辑数据块 设备分配 设备分配中的数据结构 设备控制表DCT 系统为每一个设备都配置了一张设备控制表用于记录设备的情况 控制器控制表、通道控制表和系统设备表 控制器控制表(COCT) 系统为每一个控制器都设置了用于记录控制器情况的控制器控制表通道控制表(CHCT) 每个通道都有一张通道控制表系统设备表(SDT) 记录了系统中全部设备的情况每个设备占一个表目 设备分配时应考虑的因素 设备的固有属性 独占设备的分配策略共享设备的分配策略虚拟设备的分配策略 设备分配算法 先来先服务优先级高者优先 设备分配中的安全性 安全分配方式不安全分配方式 独占设备的分配程序 首先分配设备其次分配控制器最后分配通道 逻辑设备名到物理设备名映射的实现 逻辑设备表LUT 在逻辑设备表的每个表目中包含了三项:逻辑设备名、物理设备名和设备驱动程序的入口地址逻辑设备表的设置问题 在整个系统中只设置一张LUT为每个用户设置一张LUT
用户层的I/O软件
系统调用与库函数 系统调用 系统调用将CPU的状态从用户态转换到核心态 库函数 内核提供了OS的基本功能而库函数扩展了OS内核使用户能方便取得操作系统的服务 假脱机(SPOOLing)系统 假脱机技术(Simultaneaus Periphemal Operating OnLineSPOOLing技术) 把在联机情况下外围操作与CPU对数据的处理同时进行的技术称为SPOOLing技术或称为假脱机技术 SPOOLing的组成 SPOOLing系统主要由以下四部分构成 输入井和输出井 输入井和输出并是在磁盘上开辟出来的两个存储区域输入缓冲区和输出缓冲区 这是在内存中开辟的两个缓冲区用于缓和CPU和磁盘之间速度不匹配的矛盾输入进程(预输入进程)和输出进程(缓输出进程)。井管理程序 用于控制作业与磁盘井之间信息的交换 SPOOLing系统的特点 提高了I/O的速度将独占设备改造为共享设备实现了虚拟设备功能
缓冲区管理 缓冲的引入 缓和CPU与I/O设备间速度不匹配的矛盾减少对CPU的中断频率放宽对CPU中断响应时间的限制解决数据粒度不匹配的问题提高CPU和I/O设备之间的并行性 单缓冲区和双缓冲区 单缓冲区 假定从磁盘把一块数据输入到缓冲区的时间为TOS将该缓冲区中的数据传送到用户区的时间为M而CPU对这一块数据处理(计算)的时间为C。T和C是可以并行的。 单缓冲区处理每块数据的用时为 max(C,T)M 双缓冲区 双缓冲区处理一块数据的用时为max(CM,T) 环形缓冲区 在环形缓冲中包括多个缓冲区其每个缓冲区的大小相同。作为输入的多缓冲区可分为三种类型 用于装输入数据的空缓冲区R已装满数据的缓冲区G计算进程正在使用的现行工作缓冲区C 缓冲池 缓冲池的组成 缓冲区的组成 缓冲池管理多个缓冲区每个缓冲区由用于标识和管理的缓冲首部以及用于存放数据的缓冲体两部分组成三个队列 空白缓冲队列emq输入队列inq输出队列outq 四种工作缓冲区 用于收容输入数据的工作缓冲区用于提取输入数据的工作缓冲区用于收容输出数据的工作缓冲区以及用于提取输出数据的工作缓冲区 缓冲区的工作方式 缓冲区可以工作在如下四种工作方式
磁盘存储器的性能和调度
磁盘性能简述 数据的组织和格式 磁盘的结构和布局 磁盘格式化 为了在磁盘上存储数据必须先将磁盘低级格式化 磁盘的类型 固定头磁盘移动头磁盘 磁盘访问时间 可把对磁盘的访问时间分成以下三部分 寻道时间 T s T_{s} Ts 假设s为启动磁臂的时间m是与磁盘驱动器速度有关的常数n为磁头移动的磁道数 T s m × n s T_{s}m \times n s Tsm×ns旋转延迟时间 L t L_{t} Lt 假设磁盘的旋转速度为r L t 1 2 r L_{t} \frac{1}{2r} Lt2r1传输时间 T t T_{t} Tt 假设每次所读/写的字节数为b一条磁道上的字节数为N T t b r N T_{t} \frac{b}{r N} TtrNb因此总的平均访问时间 T a T_{a} Ta T a T s 1 2 r b r N T_{a}T_{s} \frac{1}{2r} \frac{b}{rN} TaTs2r1rNb 早期的磁盘调度算法 先来先服务(FCFS)算法 FCFS算法根据进程请求访问磁盘的先后次序进行调度最短寻道时间优先(SSTF)算法 SSTF算法每次选择与当前磁头所在的磁道距离最近的磁道以使每次的寻道时间最短SSTF算法不能保证平均寻道时间最短可能导致优先级低的进程发生“饥饿”现象 基于扫描的磁盘调度算法 扫描((SCAN)算法 扫描算法在磁头当前移动方向上选择与当前磁头所在磁道距离最短的磁道循环扫描(CSCAN)算法 为了减少 SCAN 的延迟CSCAN算法规定磁头单向移动到尽头后直接返回到另一端的开始位置。 LOOK和CLOOK调度算法 LOOK 算法 LOOK算法是对SCAN算法的一种改进由于SCAN算法的磁头要走到磁盘尽头才会转换方向而实际上并不需要走到尽头只需要走到该方向上最后一个请求即可。 优点 相比 SCANLOOK 可以减少磁头的无效移动从而提高效率。缺点 尽管 LOOK 比 SCAN 更有效但它仍然可能遇到请求的分布不均匀的问题导致某些区域的请求可能被延迟很长时间。 CLOOK算法 CLOOK同理是一种对CSCAN算法的改进。 CSCANCircular SCAN算法与 SCAN 类似但是它在到达磁盘的一个端点后并不反向扫描而是回到磁盘的另一端继续扫描。CLOOK 算法对 CSCAN 进行了优化避免了磁头的无效移动。 原理 CLOOK算法会扫描请求列出的柱面直到没有更多的请求接着磁头会跳到最远的请求位置而不是回到最初的位置。 磁头从当前的位置向一个方向移动直到扫描到最远的请求柱面。 然后磁头跳跃到请求队列中的最小请求柱面并重新开始扫描。优点 CLOOK只跳转到请求的最小位置而不是回到磁盘的最远端减少了磁头的无效移动因此在磁头的移动距离上比 CSCAN 更有效。缺点 虽然CLOOK通过避免回到最远端来减少了无效移动但它仍然依赖于请求的分布情况可能导致某些区域的请求处理延迟