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

下载本文档

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

文档简介

第6章设备管理 6 1设备管理的概念6 2设备管理技术6 3Linux设备管理 6 1设备管理的概念 通常把计算机系统中除处理机和主存储器之外的部分统称为外部设备 简称外设 外部设备种类繁多 功能各异 常见的外部设备有显示器 键盘 鼠标 磁盘驱动器 光盘驱动器 打印机等 各种外部设备在功能 速度 电磁特性等方面存在着较大的差异 因此 操作系统必须提供设备管理功能 以便程序能简便 有效地使用各种外部设备 6 1 1设备的类型随着电子技术和计算机技术的不断发展 外部设备也在不断地发展变化 因此 要准确地划分外部设备的类型也就相对复杂 一般从不同的角度可以将外部设备分成不同的类型 常见的分类方法有如下几种 1 按外部设备的从属关系分类可将外部设备分为系统设备和用户设备 系统设备是指在操作系统启动时自动注册于系统的各种标准设备 如显示器 键盘 鼠标 磁盘驱动器 光盘驱动器等 用户设备是指操作系统启动时未注册于系统的各种非标准设备 需要由用户提供设备处理和管理程序 并通过适当的方法把它们纳入系统并实施管理 如绘图仪等专用设备 2 按外部设备的数据组织和传输方式可将外部设备分为块设备和字符设备 块设备是指数据的组织和传输是以数据块为单位的设备 如磁盘 光盘等 字符设备是指以字符为单位进行数据的组织和传送的设备 如键盘 打印机等 3 按外部设备的资源管理方式可将外部设备分为独占设备 共享设备和虚拟设备 独占设备是指在一段时间内只允许一个用户进程的设备 共享设备是指在一段时间内允许多个用户进程的设备 虚拟设备是指通过某些共享设备把独占设备改造成可供多个进程的访问的设备 6 1 2设备管理的任务和功能操作系统进行设备管理主要有如下目标 1 为用户提供方便 统一的设备使用界面 将复杂的 具体的设备操作控制过程隐藏起来 通过统一的结构进行I O操作 使用户能够独立于具体设备的复杂物理特性来使用设备 2 提高外部设备的利用率 尽量提高设备与处理机之间 设备与设备之间的并行程度 为了完成上述任务 设备管理应当具备如下功能 1 设备的配置与分配 操作系统要配置各种外部设备 给它们分配一定的系统资源 同时在多道程序环境下 为避免冲突 操作系统应当为每个进程分配所需要的外围设备 2 实现设备操作 根据用户的要求 启动设备并驱动设备完成相应的操作 3 缓冲区管理 在计算机系统中 处理机处理数据的速度往往比设备处理数据的速度快得多 所在计算机普遍采用在内存中设置缓冲区来协调处理机和外部设备之间数据处理速度的差异 设备管理应该具有对缓冲区建立 分配 释放与回收的功能 6 1 3设备控制器外部设备通常包括一个机械部件和一个电子部件 其逻辑结构见图6 1 为了达到设计的模块化和通用性 一般将其分开 电子部件称为设备控制器或适配器 在个人计算机中 它常常是一块可以插入主板扩充槽的印刷电路板 机械部件则是设备本身 图6 1I O设备逻辑结构图 控制器有一个或多个设备地址 具有一定数量的寄存器 包括控制寄存器 数据寄存器和状态寄存器 它们能接收 识别和执行来自CPU的各种命令 实现CPU与控制器 控制器与设备之间的数据交换 从而大大简化了操作系统的设计 特别是有利于计算机系统和操作系统对各类控制器和设备的兼容性 PC机上的I O地址空间为65535个8位的I O端口 也可以把两个连续的8位端口组成一个16位端口 PC机常用的设备地址如表6 1 在Linux中 有关设备地址的信息存放在文件 proc ioports中 设备控制器上一般都有一个接线器 它可以把与设备相连的电缆线接进来 控制器和设备之间的接口越来越多的采用国际标准 如ANSI IEEE ISO或者事实上的工业标准 依据这些标准 各个计算机厂家都可以制造与标准接口相匹配的控制器和设备 例如常见的串口 USB口 IDE接口等 许多通用的设备控制器已经与设备相分离 被直接集成到主板上 6 1 4设备驱动程序设备驱动程序是驱动物理设备 通道或DMA控制器等直接进行I O操作的子程序的集合 设备驱动程序中包括了所有与设备相关的代码 它的工作是 把用户提交的逻辑I O请求转化为物理I O操作的启动和执行 如设备名转化为端口地址 逻辑记录转化为物理记录 逻辑操作转化为物理操作等 每个设备驱动程序只处理一种设备 或者一类紧密相关的设备 6 2设备管理技术 设备管理的主要任务之一 是控制外部设备和内存或处理机之间的数据传送 设备管理技术从最初的处理机直接管理 到目前的中断技术和缓冲技术 也经历了一个不断发展与完善的过程 6 2 1数据传送控制方式按照处理机和外部设备并行工作方式和程度的不同 数据传送控制方式可以分为查询方式 中断控制方式 DMA方式 通道控制方式等四种 处理机和外部设备并行工作程度越高 计算机效率和系统资源的利用率也越高 1 查询方式查询方式又称程序直接控制方式或 忙 等 方式 在这种方式下 CPU要进行数据传送 就发出一条I O指令启动外部设备 在外部设备准备过程中 CPU不断查询外部设备的准备情况 终止了原程序的执行 外部设备准备就绪后 CPU参与数据的传送工作 此时CPU也不能执行原程序 在这种方式下 CPU和外部设备串行工作 主机不能充分发挥效率 外部设备也不能得到合理使用 而且数据的传送量很小 整个系统的效率很低 在现代操作系统中这种查询方式已经很少使用了 2 中断控制方式为了提高处理机与外设间数据传送的效率 中断控制方式被提出并被广泛使用 中断控制方式的数据传送步骤如下 1 需要数据传送的进程通过CPU发出启动指令 启动外设开始工作 此时外部设备与CPU并行工作 2 请求数据传送的进程放弃CPU 进入阻塞态 等待外设准备完成 进程调度程序调度其他就绪进程运行 3 外设准备完成后向CPU发出中断请求信号 4 CPU响应中断请求 中断当前进程的执行 转向设备中断服务程序 完成阻塞进程所要求的数据传送 5 中断服务完成后 返回被中断的进程继续执行 同时解除阻塞进程 使其转入就绪态 等待进程调度程序的调度 这种控制方式实现了外部设备与CPU在一定程度上的并行操作 改善了CPU的利用率 但这种方式数据传送量不大 一次只能传送一个字节或字的数据 而且每一次数据传送都要中断CPU 耗去了大量的CPU时间 3 DMA方式DMA方式又称直接存储器访问 DirectMemoryAccess 方式 它增加了一个DMA控制器 控制外设和主存之间直接进行成批的数据交换 而不需要CPU干预 DMA控制器包含内存地址寄存器 传送字节计数器 数据缓冲寄存器和控制状态寄存器等 DMA方式下进行数据传送的过程如下 1 CPU根据进程的要求执行I O指令 并将数据的内存起始地址和字节数送入DMA控制器中的相应寄存器 同时启动外部设备 2 发出数据传送要求的进程进入阻塞状态 等待输入 输出操作的完成 进程调度程序调度其他就绪进程运行 3 当外设准备好后 DMA控制器向CPU发出DMA请求 申请总线的控制权 CPU响应DMA请求 让出总线控制权 4 DMA控制器获得总线控制权 按内存地址寄存器和传送字节计数器的指示并数据缓冲寄存器并控制外设和内存之间直接的数据交换过程 5 数据传送完毕 DMA控制器归还总线的控制权 并唤醒被阻塞的进程 用DMA方式进行数据传送 CPU基本上不干预数据传输的过程 因而提高了CPU的效率和输入 输出的效率 4 通道控制方式通道控制方式是DMA方式的进一步发展 也是一种内存和设备直接进行数据交换的方式 通道是专门用于负责输入 输出的处理机 通道控制方式的数据过程如下 1 当进程要求设备输入时 CPU发指令指明I O操作 设备号和对应通道 2 对应通道收到CPU发来的启动指令后 读出内存中的通道指令程序 设置对应设备的控制状态寄存器的初值 3 设备按通道指令的要求 把数据送往内存指定区域 4 若传送结束 I O控制器通过中断请求线发中断信号请求CPU做中断处理 5 中断处理结束后 CPU返回到被中断进程处继续执行 6 当进程调度程序选中这个已得到数据的进程后 才能进行加工处理 按照信息交换方式和加接设备种类不同 通道可分为三种类型 字节多路通道 数组选择通道和数组多路通道 与DMA方式不同的是 在通道控制方式中 数据传送方向存放数据的内存始址及传送的数据块长度均由一个专门负责输入 输出的硬件 通道来控制 另外 DMA方式每台设备至少需要一个DMA控制器 而通道控制方式中 一个通道可控制多台设备与内存进行数据交换 6 2 2中断技术1 中断的基本概念中断是指计算机在执行期间 系统内发生了某一急需处理的事件 使得CPU暂时终止当前正在执行的进程而转去执行相应的事件处理程序 待处理完毕再返回被中断的进程继续执行 中断技术不仅应用在CPU与外设之间的数据传送 也用于外设的管理 引起中断的事件称为中断源 中断源向CPU发出的请求中断处理的信号称为中断请求 而CPU收到中断请求后转向相应事件处理程序的过程称为中断响应 发生中断时 当前进程被中断处的地址称为断点 当前进程所用到的有关寄存器和存储器的信息称为现场 处理中断事件的程序称为中断服务程序 在中断服务程序中 必须先保护好断点和现场 中断处理完毕 要恢复好理现场和断点 为了处理上的方便 通常所有中断服务程序的入口地址依次放在特定的内存单元 构成中断向量表 每一个中断都有一个中断向量号 当中断发生时 只需要根据中断向量号和中断向量表的首地址 就可以查到中断服务程序的入口地址 为了便于对中断的控制 在CPU的内部 有一些寄存器位 称为中断允许位 用于控制是否允许CPU响应中断 可以禁止所有中断 也可以屏蔽部分中断 2 中断的分类根据中断源的特征 可以将中断分为硬件中断和软件中断 根据中断源产生的条件 可以将中断分为外中断和内中断 外中断是指来自外部设备的中断 包括外设发出的I O请求 外部信号 定时器中断等 内中断主要指在处理机和内存内部产生的中断 包括程序运算引起的各种错误和调试程序中设置的断点引进的中断 3 中断优先级根据系统对中断处理的需要 操作系统一般根据中断事件的重要程度对各中断赋予不同的处理优先级 重要的事件优先级高 一般的事件优先级低 当系统中同时发生多个中断时 先响应优先级高的中断 高优先级的中断还可以嵌套低优先级的中断 4 中断处理过程当中断发生后 如果当前CPU允许中断 CPU选择优先级最高的中断进行响应 一旦CPU响应中断 系统开始进行中断处理 中断处理包括如下步骤 1 保护被中断进程的现场 为了在中断处理结束后能使进程正确地返回到断点 并恢复进程原来执行的状态 系统必须保护好现场 2 根据中断向量 在中断向量表查得中断服务程序的入口地址 转去执行中断服务程序 3 中断服务程序执行完毕 CPU返回执行原来被中断的进程 6 2 3缓冲技术为了改善中央处理器与外围设备之间速度不匹配的矛盾 以及协调逻辑记录大小与物理记录大小不一致的问题 提高CPU和I O设备的并行性 减少I O对CPU的中断次数和放宽对CPU中断响应时间的要求 在操作系统中普遍采用了缓冲技术 缓冲用于平滑两种不同速度部件或设备之间的信息传输 由于硬件实现缓冲成本太高 通常的实现方法是在主存开辟一个存储区称缓冲区 专门用于临时存放I O的数据 在操作系统管理下 常常辟出许多专用主存区域的缓冲区用来服务于各种设备 支持I O管理功能 常用的缓冲技术有 单缓冲 双缓冲和循环缓冲 1 单缓冲单缓冲是操作系统提供的最简单的一种缓冲形式 每当一个进程发出一个I O请求时 操作系统便在主存中为之分配一缓冲区 该缓冲区用来临时存放输入 输出数据 单缓冲方式由于只有一个缓冲区 这一缓冲区在某一时刻能存放输入数据或输出数据 但不能既是输入数据又是输出数据 否则在缓冲区中的数据会引起混乱 所以此缓冲区可以认为是临界资源 不允许多进程同时访问它 2 双缓冲解决外设之间并行工作的最简单的办法是设置双缓冲 输入时将数据送往缓冲区buffer1 然后进程从buffer1中提取数据进行计算 输出时将数据送往缓冲区buffer2 输出设备从buffer2中取出数据慢慢输出 与此同时输入设备又可以将数据送往buffer1 进程从buffer1中提取数据进行计算 输入设备和输出设备可能并行工作 3 循环缓冲采用双缓冲技术虽然提高了I O设备的并行工作程度 减少了进程调度开销 但在输入设备 输出设备和处理进程速度不匹配的情况下仍不十分理想 为改善上述情形 获得较高的并行度 常常采用多缓冲组成的循环缓冲 circularbuffer 技术 操作系统从自由主存区域中分配一组缓冲区 每个缓冲区有一个链接指针指向下一个缓冲区 最后一个缓冲区指针指向第一个缓冲区 组成了循环缓冲 每个缓冲区的大小可以等于物理记录的大小 多缓冲的缓冲区是系统的公共资源 可供各个进程共享 并由系统统一分配和管理 缓冲区用途分为 输入缓冲区 处理缓冲区和输出缓冲区 为了管理各类缓冲区 进行各种操作 必须设计专门的软件 这就是缓冲区自动管理系统 6 2 4设备分配设备分配是设备管理的功能之一 设备分配的任务就是要按照一定的算法将设备及有关资源分配给申请设备的进程 在多道程序环境中 请求设备的进程数通常多于设备数 必然会引起进程对设备的竞争 为了使系统能平衡运行 协调进程的设备之间的分配关系 进行设备分配时应考虑如下几个因素 1 设备固有属性应根据设备的固有属性采取不同的分配策略 1 独占分配 独占设备应采用独占分配方式 即将一个设备分配给某进程后一直由其独占 直至该进程完成或释放该设备后 系统才能再将该设备分配给其他进程使用 2 共享分配 可将共享设备同时分配给多个进程使用 3 虚拟分配 虚拟分配是针对虚拟设备而言的 虚拟设备是指通过某些共享设备把独占设备改造成可供多个进程的访问的设备 当进程申请独占设备时 系统给它分配共享设备上的一部分存储空间 当进程与设备交换信息时 系统就把要交换的信息存放在共享设备上的这部分存储空间中 在适当的时候 共享设备上的这部分存储空间再与独占设备交换信息 这样对用户来说 每个用户都感觉到系统为自己提供了一个独占设备 2 设备分配策略设备分配包含两种分配策略 静态分配和动态分配 1 静态分配进程在开始执行之前 由系统一次分配给该进程所要求的全部设备 进程执行过程中 这些设备一直为该进程所占有 其它进程不能使用 直到该进程被撤销 静态分配策略实现简单 能防止系统死锁 但采用这种分配方式 会降低设备的利用率 2 动态分配在进程执行过程中 根据执行需要进行设备分配 当进程需要设备时 向系统提出设备申请 系统按照一定的设备分配算法给进程分配所需的设备 动态分配策略能提高设备的利用率 但有可能会造成进程死锁 3 设备分配算法设备分配主要采用先请求先服务和优先级高者优先两种算法 1 先请求先服务算法按照进程申请的先后次序分配设备 当有多个进程同时申请使用某一设备时 根据这些进程发出请求的先后次序 将这些进程排成一个设备请求队列 分配时按照先申请先得到的策略进行分配 2 优先级高者优先算法按照进程优先级的高低分配设备 当有多个进程同时申请使用某一设备时 根据这些进程的优先级 优先级高的进程先得到设备 当申请进程的优先级相同时 按照先请求先服务的算法分配设备 6 3Linux设备管理 在Linux操作系统中 输入输出设备可以分为字符设备 块设备和网络设备 块设备把信息存储在可寻址的固定大小的数据块中 数据块均可以被独立地读写 建立块缓冲 能随机访问数据块 字符设备可以发送或接收字符流 通常无法编址 也不存在任何寻址操作 网络设备在Linux中是一种独立的设备类型 有一些特殊的处理方法 还有一些设备无法利用上述方法分类 如时钟 它们也需要特殊的处理 在Linux中 所有的硬件设备均当作特殊的设备文件处理 可以使用标准的文件操作 对于字符设备和块设备 其设备文件用mknod命令创建 用主设备号和次设备号标识 同一个设备驱动程序控制的所有设备具有相同的主设备号 并用不同的次设备号加以区别 网络设备也是当作设备文件来处理 不同的是这类设备由Linux创建 并由网络控制器初始化 6 3 1设备文件Linux操作系统中 每台设备用一个特殊的设备文件来代替 每个文件用主设备号和次设备号描述 主设备号表示设备的种类 次设备号用来区分同一类设备中的不同设备 有了设备文件之后 用户对设备的操作与对普通文件的操作就完全一样了 用户打开和关闭数据文件对应于对设备的打开和关闭 用户从设备文件读数据相当于从设备输入数据 向设备输出数据等同于向设备文件写入数据 Linux的设备文件存放在目录 dev或其子目录下 6 3 2常见设备的使用1 查看设备信息 1 硬件浏览器在Gnome中 如果用户要查看计算机的设备信息 可以选择 主菜单 系统工具 硬件浏览器 之后出现一个认证对话框 要求输入root用户的口令 当root口令输入正确后 即可见到如图6 3所示的硬件浏览器界面 可以查看本机上主要的硬件设备信息 也可以在shell下键入hwbrowser 图6 3硬件浏览器 图6 4系统监视器 2 系统监视器如果用户要查看CPU 内存 磁盘分区的使用情况 可以选择 主菜单 系统工具 系统监视器 在弹出的对话框中选择 系统监视器 选项卡 如图6 4所示 即可查看CPU 内存 磁盘分区的使用情况 3 显示磁盘已使用的空间与限制命令quota语法 quota 4 显示目录或文件的磁盘占用状况命令du语法 du 2 系统基本配置进行系统基本配置操作可以用两种途径 一种是在主菜单中选择 系统设置 然后在子菜单中选择配置项目 一种是双击桌面上的 从这里开始 图标 选择 系统设置 再在如图6 6所示的界面中选择配置项目 图6 5 系统设置 子菜单 图6 6 系统设置 界面 3 挂载移动存储设备一些移动存储设备 如光盘 U盘 硬盘 在使用前mount命令进行挂载 用umount命令进行卸载 语法 mount Umount 1 CD ROM的使用按照默认设置 当光盘放入光驱 光盘会被自动挂载到 mnt cdrom目录下 系统还会打开一个窗口显示光盘的内容 同时 桌面上还会出现一个光盘图标 使用这个图标可以查

温馨提示

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

评论

0/150

提交评论