linux设备管理.ppt_第1页
linux设备管理.ppt_第2页
linux设备管理.ppt_第3页
linux设备管理.ppt_第4页
linux设备管理.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

教学内容 设备管理I O设备的硬件结构外设与主机的I O控制方式通道技术设备的分配与释放设备驱动缓冲技术虚拟设备I O系统的软件组织 教学要求 了解设备的分类及通道 缓冲技术理解设备的分配与释放及虚拟设备掌握外设与主机信息交换的IO控制方式 操作系统整体结构 设备管理 设备管理概述设备管理是计算机中实现对外部设备进行管理 数据传输控制的模块 除CPU和内存 是系统资源管理中最复杂 最多样化的部分设备管理实现并行操作 以实现其高利用率与CPU并行与其他设备并行设备管理基于硬件提供的通道 设备物理性能 实现多任务 多进程共享外部设备大部分外部设备属于临界资源 具备互斥特性 设备管理 设备管理的任务和功能任务 对I O设备的选择 分配和控制为用户提供友好的界面 接口 提高设备之间 设备与CPU之间的并发度 功能 提供友好 或者统一 的接口实施设备的分配和回收实现设备之间 设备与CPU之间的并行操作解决设备与CPU之间的速度匹配 缓冲技术 设备的分类 按数据传输的数量分类块设备 BlockDevice 指以数据块为单位来组织和传送数据信息的设备 典型的块设备是磁盘 每个盘块的大小为256B 4KB 字符设备 CharacterDevice 指以单个字符为单位来传送数据信息的设备 这类设备一般用于数据的输入和输出 有交互式终端 打印机等 输入ls l dev查看设备列表 以c或b开头的是什么设备 设备的分类 按资源分配的角度分类独占设备 指在一段时间内只允许一个用户 进程 访问的设备 大多数低速的I O设备 如用户终端 打印机等属于这类设备 因为独占设备属于临界资源 所以多个并发进程必须互斥地进行访问 共享设备 指在一段时间内允许多个进程同时访问的设备 显然 共享设备必须是可寻址的和可随机访问的设备 典型的共享设备是磁盘 共享设备不仅可以获得良好的设备利用率 而且是实现文件系统和数据库系统的物质基础 虚拟设备 指通过虚拟技术将一台独占设备变换为若干台供多个用户 进程 共享的逻辑设备 一般可以利用假脱机技术 SPOOLing技术 实现虚拟设备 I O设备物理特征 输入输出设备都是以字符为I O传输的基本单位每传送一个字符就发生一次I O中断 输入输出设备的物理特征 I O传输必须以完整的块为基本单位设备每传送完一块发生一次中断 存储型设备的物理特征 IO设备的物理特性 磁盘的物理特性 时钟时钟也是一种外部设备 时钟既不是字符设备 也不是块设备可编程时钟有如下操作模式 单触发模式方波模式终端存储映像终端 包括显示器和输入键盘 该类终端直接和主机相连RS 232终端 通过一次传输一位的串行口与计算机通信X终端 连接在以太网中和主机进行通信 外设与主机的I O控制方式 循环I O测试方式用户程序直接控制I O操作 测试指令测试一台设备的忙 闲标志 决定主存与外设之间是否要传输 直到该标志为 闲 时 才能继续执行下面的I O操作指令程序中断I O方式用户进程通过CPU发出指令启动外设 仅当I O操作正常或异常结束时 I O控制器向CPU发出中断信号 CPU进行中断处理 外设与主机的I O控制方式 直接内存存取方式 DMA 外设和内存之间直接进行数据交换 不需要CPU干预 多用于块设备的数据传输过程如下 当进程要求设备输入数据时 CPU把准备存放输入数据的内存地址和字节数送入DMA控制器 然后设置标志位 启动设备 开始数据输入发出数据输入要求的进程进入阻塞 调度其他进程进入CPU输入设备挪用CPU工作周期 将数据从外部缓冲区送入内存DMA控制器在传输完成时 发出中断信号 CPU进入中断处理程序中断处理完毕后 CPU返回被中断的进程 外设与主机的I O控制方式 通道方式通道是一个独立于CPU的专管输入输出控制的处理机 它控制设备与内存直接进行数据交换 通道有自己的通道指令 由通道指令构成通道程序 由CPU启动通道工作 通道通过执行通道程序控制数据传输 并在操作结束时向CPU发中断信号 由CPU进行传输结束中断处理通道 CPU与IO设备的连接 控制器 屏蔽访问设备的具体的时序 CPU操作控制器 提供命令和数据给控制器 由控制器操纵IO设备现有的大多数控制器由以下三部分组成 控制器与CPU接口 用于实现控制器与CPU之间的通信 该接口有三类信号线分别为数据线 地址线 控制线设备控制器与设备接口 一个控制器可以连接一台或多台设备 相应有一个或多个接口 每个接口连接一台设备I O逻辑 用于对I O进行控制 通道类型 选择通道 selectorchannel 可以连接多个外设 而一次只能访问其中一个外设 执行一道通道程序 单道工作方式 以块为单位传送数据 速度快 适合高速外部设备 如 磁盘 磁带 字节多路 bytemultiplexorchannel 通道 以字节为单位传送数据 多个外设分时轮流使用通道 分时系统工作方式 适合连接低速字符设备 数组多路 blockmultiplexorchannel 通道 以块为单位传送数据 可以并发访问多个外设 分时执行多道通道程序 适合连接中高速外部设备 如 磁盘 磁带 处理过程 当进程要求设备输入数据时 CPU执行Start指令指明I O操作 通道程序地址 设备号和对应的通道 对应通道接收到CPU发来的启动指令之后开始工作 把存放在内存中的通道指令程序读出并执行 并设置对应设备的I O控制其中的控制状态寄存器 是设备开始工作 设备准备好数据 由通道把数据送往通道指令指定的内存区域 若数据传送结束 通道通过中断请求线发中断信号请求CPU做中断处理 中央处理机 内存 字节多路通道 数组多路通道 选择通道 卡片输入机 卡片输入机 打印机 磁盘 磁带 通道结构 设备分配 系统设备表SDT 每个系统设备占一表目设备控制表UCB 每个设备一张控制器控制表CUCB 每个控制器一张通道控制表CCB 每个通道一张按一定算法进行设备分配 包括设备 设备控制器及通道确保 有 用户能得到设备使用权 安全 用户使用设备是安全的 设备分配的数据结构 UCB数据结构 Structdevtab intdvid 设备标识intdvadd 设备地址int dvec 中断向量int dvbuf 缓冲区指针int dvque 等待队列int dvinit 初始化int dvopen 打开 int dvclose 设备关闭int dvread 设备读int dvwrite 设备写int dvseek 设备查询int dvcntl 设备控制int dvgetc 取字符int dvputc 送字符 dct 设备分配的原则 设备分配总原则 充分发挥设备利用率 避免由于不合理分配引起进程死锁 具体考虑以下方面 设备的固有属性 独占 共享 虚拟 设备分配算法 先来先服务 优先级 设备分配的安全性 安全或不安全分配方式 设备独立性 用户程序独立于使用的物理设备 设备分配方式 静态分配 在进程分创建时分配 在进程退出时释放 优缺点 不会出现死锁 设备利用率不高 动态分配 在进程执行过程中根据需要分配 使用结束后释放 优缺点 需要考虑死锁问题有利于提高设备利用率 设备调度 输入输出调度算法 先到先服务算法最短查找时间优先算法扫描算法 电梯算法 N步扫描法 缓冲技术 缓冲是两种不同速度的设备之间传输信息时平滑传输过程的常用手段 不同的缓冲方式缓冲器 硬缓冲 缓冲器是用来暂时存放数据的一种存储装置 它容量较小 存取速度快 软件缓冲在I O操作期间用来临时存放I O数据的一块存储区域 缓冲类别 单缓冲 singlebuffer 设一个缓冲区 CPU和外设轮流使用 一方处理完之后接着等待对方处理 双缓冲 doublebuffer 设两个缓冲区 CPU和外设都可以连续处理而无需等待对方 要求CPU和外设的速度相近 多缓冲 multiplybuffer 多个缓冲区 CPU和外设的处理速度可以相差较大 如用于输入或输出的环形缓冲区 一般是专用 缓冲池 bufferpool 由多个缓冲区构成 既可用于输入也可用于输出 多个进程共享 可用于多种设备 通用 利用率高 缓冲类别 a 单缓冲 b 双缓冲 c 循环缓冲 虚拟设备 虚拟设备的思想是 独占型设备与内存进程之间加入共享型设备作为过渡 因为共享型设备速度快 进程I O传输所需的时间较短 提高了进程执行速度由于信息在独占型设备与共享型设备之间的传输时连续进行的 独占型设备在占用期间一直使用 提供了设备资源的利用率 SPOOLing技术 SPOOLing技术SimultaneousPeripheralOperationOnLine 并发的非实质性在线操作 SPOOLing又被称为 假脱机 技术输入井 在磁盘用于虚拟输入设备的专门空间 该井用于收容输入设备上的输入数据输出井 在磁盘用于虚拟输出设备的专门空间 该井用于收容用户进程需要输出的数据虚拟分配 当进程请求I O时 OS给进程分配的不是真正的物理设备 而是这些可共享的 并与物理设备有逻辑联系的虚拟设备 井 采用共享的方式为进程分配一个共享设备 井 将 井 与指定的独占设备关联 SPOOLing技术 实际上就是一种磁盘缓冲技术 SPOOLing技术 I O系统的软件组织 Linux的设备管理 Linux系统把每一个I O设备看成一个文件 即设备文件 Linux设备管理 向上 面向用户 提供设备文件的系统调用向下 面向设备 内核将控制权交给设备驱动 由其完成底层的设备驱动 Linux系统用主设备号和从设备号来标识设备 主设备号 majornumber 描述控制这个设备的驱动程序 驱动程序和主设备号一一对应 主设备号相同的设备使用同一个驱动程序 从设备号 minornumber 用来区分同一个驱动程序控制的不同设备 设备驱动程序接口Linux设备管理向其他子系统提供了一个统一的接口 即通过结构file operations来完成 Linux的设备驱动程序的框架 设备驱动程序与外界的接口分为三部分驱动程序与操作系统内核的接口驱动程序与系统引导的接口驱动程序与设备的接口设备驱动设备的程序结构分为如下几部分驱动程序的注册与注销 设备的打开与释放 设备的读写操作 设备的控制操作 设备的中断和轮询处理 Linux的块设备驱动程序 接口IDE硬盘为块设备 因此采用了缓冲技术 Linux的块设备驱动程序 接口的注册与注销通过ide init 进行初始化 包括设置硬盘的初值init ide data 设置PCI IDE接口参数probe for hwifs 等 最终调用块设备注册函数register blkdev 来完成向内核得的注册 读写请求队列当内核要求数据传输时 他将请求发送

温馨提示

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

最新文档

评论

0/150

提交评论