linux设备管理汇总课件_第1页
linux设备管理汇总课件_第2页
linux设备管理汇总课件_第3页
linux设备管理汇总课件_第4页
linux设备管理汇总课件_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、教学内容设备管理I/O设备的硬件结构 外设与主机的I/O控制方式 通道技术 设备的分配与释放 设备驱动 缓冲技术 虚拟设备 I/O系统的软件组织第1页,共42页。教学要求了解设备的分类及通道、缓冲技术理解设备的分配与释放及虚拟设备掌握外设与主机信息交换的IO控制方式第2页,共42页。操作系统整体结构第3页,共42页。第4页,共42页。第5页,共42页。设备管理设备管理概述设备管理是计算机中实现对外部设备进行管理、数据传输控制的模块(除CPU和内存)是系统资源管理中最复杂、最多样化的部分设备管理实现并行操作,以实现其高利用率与CPU并行与其他设备并行设备管理基于硬件提供的通道、设备物理性能,实现

2、多任务、多进程共享外部设备大部分外部设备属于临界资源,具备互斥特性第6页,共42页。设备管理设备管理的任务和功能任务:对I/O设备的选择、分配和控制为用户提供友好的界面(接口)提高设备之间、设备与CPU之间的并发度。功能:提供友好(或者统一)的接口实施设备的分配和回收实现设备之间、设备与CPU之间的并行操作解决设备与CPU之间的速度匹配(缓冲技术)第7页,共42页。设备的分类按数据传输的数量分类块设备(Block Device):指以数据块为单位来组织和传送数据信息的设备。典型的块设备是磁盘,每个盘块的大小为256B4KB。字符设备(Character Device):指以单个字符为单位来传送

3、数据信息的设备。这类设备一般用于数据的输入和输出,有交互式终端、打印机等。输入ls l /dev查看设备列表,以c或b开头的是什么设备?第8页,共42页。设备的分类按资源分配的角度分类独占设备:指在一段时间内只允许一个用户(进程)访问的设备,大多数低速的I/O设备,如用户终端、打印机等属于这类设备。因为独占设备属于临界资源,所以多个并发进程必须互斥地进行访问。共享设备:指在一段时间内允许多个进程同时访问的设备。显然,共享设备必须是可寻址的和可随机访问的设备。典型的共享设备是磁盘。共享设备不仅可以获得良好的设备利用率,而且是实现文件系统和数据库系统的物质基础。虚拟设备:指通过虚拟技术将一台独占设

4、备变换为若干台供多个用户(进程)共享的逻辑设备。一般可以利用假脱机技术(SPOOLing技术)实现虚拟设备。第9页,共42页。I/O设备物理特征输入输出设备都是以字符为I/O传输的基本单位每传送一个字符就发生一次I/O中断输入输出设备的物理特征I/O传输必须以完整的块为基本单位设备每传送完一块发生一次中断存储型设备的物理特征IO设备的物理特性第10页,共42页。磁盘的物理特性柱面扇区磁臂磁头硬盘第11页,共42页。时钟时钟也是一种外部设备,时钟既不是字符设备,也不是块设备可编程时钟有如下操作模式:单触发模式方波模式终端存储映像终端:包括显示器和输入键盘,该类终端直接和主机相连RS-232终端:

5、通过一次传输一位的串行口与计算机通信X终端:连接在以太网中和主机进行通信第12页,共42页。外设与主机的I/O控制方式循环I/O测试方式用户程序直接控制I/O操作,测试指令测试一台设备的忙/闲标志,决定主存与外设之间是否要传输,直到该标志为“闲”时,才能继续执行下面的I/O操作指令程序中断I/O方式用户进程通过CPU发出指令启动外设,仅当I/O操作正常或异常结束时,I/O控制器向CPU发出中断信号,CPU进行中断处理。第13页,共42页。外设与主机的I/O控制方式直接内存存取方式(DMA)外设和内存之间直接进行数据交换,不需要CPU干预,多用于块设备的数据传输过程如下:当进程要求设备输入数据时

6、,CPU把准备存放输入数据的内存地址和字节数送入DMA控制器。然后设置标志位,启动设备,开始数据输入发出数据输入要求的进程进入阻塞,调度其他进程进入CPU输入设备挪用CPU工作周期,将数据从外部缓冲区送入内存DMA控制器在传输完成时,发出中断信号,CPU进入中断处理程序中断处理完毕后,CPU返回被中断的进程第14页,共42页。外设与主机的I/O控制方式通道方式通道是一个独立于CPU的专管输入输出控制的处理机,它控制设备与内存直接进行数据交换。通道有自己的通道指令,由通道指令构成通道程序。由CPU启动通道工作,通道通过执行通道程序控制数据传输,并在操作结束时向CPU发中断信号,由CPU进行传输结

7、束中断处理通道。第15页,共42页。CPU与IO设备的连接图形控制器监控器处理机存储控制器缓存内存SCSI控制器IDE磁盘控制器扩展总线内部接口键盘串口并口磁盘磁盘磁盘磁盘SCSI总线PCI总线扩展总线图5.1 典型的PC总线结构第16页,共42页。控制器屏蔽访问设备的具体的时序;CPU操作控制器,提供命令和数据给控制器,由控制器操纵IO设备现有的大多数控制器由以下三部分组成:控制器与CPU接口:用于实现控制器与CPU之间的通信,该接口有三类信号线分别为数据线、地址线、控制线设备控制器与设备接口:一个控制器可以连接一台或多台设备,相应有一个或多个接口,每个接口连接一台设备I/O逻辑:用于对I/

8、O进行控制第17页,共42页。通道类型选择通道(selector channel):可以连接多个外设,而一次只能访问其中一个外设,执行一道通道程序(单道工作方式)。以块为单位传送数据,速度快,适合高速外部设备。如:磁盘,磁带。字节多路(byte multiplexor channel)通道 :以字节为单位传送数据,多个外设分时轮流使用通道(分时系统工作方式)。适合连接低速字符设备。数组多路(block multiplexor channel)通道:以块为单位传送数据,可以并发访问多个外设,分时执行多道通道程序。适合连接中高速外部设备。如:磁盘,磁带。第18页,共42页。处理过程当进程要求设备输

9、入数据时,CPU执行Start指令指明I/O操作、通道程序地址、设备号和对应的通道。对应通道接收到CPU发来的启动指令之后开始工作,把存放在内存中的通道指令程序读出并执行,并设置对应设备的I/O控制其中的控制状态寄存器,是设备开始工作。设备准备好数据,由通道把数据送往通道指令指定的内存区域。若数据传送结束,通道通过中断请求线发中断信号请求CPU做中断处理。第19页,共42页。 中央处理机内存字节多路通道数组多路通道选择通道卡片输入机卡片输入机打印机磁盘磁带通道结构第20页,共42页。设备分配系统设备表SDT:每个系统设备占一表目设备控制表UCB:每个设备一张控制器控制表CUCB:每个控制器一张

10、通道控制表CCB:每个通道一张按一定算法进行设备分配,包括设备、设备控制器及通道确保“有” 用户能得到设备使用权。“安全”用户使用设备是安全的。第21页,共42页。设备分配的数据结构表目i表目1UCB指针获得设备的进程设备标识设备类型控制器等待队列尾控制器等待队列首CUCB指针设备忙闲标记设备标识设备类型控制忙闲标记控制器等待队列尾控制器等待队列首CCB指针控制器标识通道忙闲标记通道等待队列尾通道等待队列首通道标识SDTUCB设备控制表控制器控制表CUCBCCB通道控制表等待进程队列第22页,共42页。UCB数据结构Struct devtab int dvid; /设备标识 int dvadd

11、; /设备地址 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 ;第23页,共42页。设备分配的原则设备分配总原则:充

12、分发挥设备利用率,避免由于不合理分配引起进程死锁。具体考虑以下方面:设备的固有属性 (独占、共享、虚拟)。设备分配算法(先来先服务、优先级)。设备分配的安全性(安全或不安全分配方式)。设备独立性(用户程序独立于使用的物理设备)。第24页,共42页。设备分配方式静态分配:在进程分创建时分配,在进程退出时释放;优缺点:不会出现死锁;设备利用率不高;动态分配:在进程执行过程中根据需要分配,使用结束后释放;优缺点:需要考虑死锁问题有利于提高设备利用率第25页,共42页。设备调度-输入输出调度算法先到先服务算法最短查找时间优先算法扫描算法(电梯算法)N步扫描法第26页,共42页。缓冲技术缓冲是两种不同速

13、度的设备之间传输信息时平滑传输过程的常用手段。不同的缓冲方式缓冲器(硬缓冲)缓冲器是用来暂时存放数据的一种存储装置,它容量较小,存取速度快。软件缓冲在I/O操作期间用来临时存放I/O数据的一块存储区域。第27页,共42页。缓冲类别单缓冲(single buffer):设一个缓冲区,CPU和外设轮流使用, 一方处理完之后接着等待对方处理。双缓冲(double buffer):设两个缓冲区,CPU和外设都可以连续处理而无需等待对方。要求CPU和外设的速度相近。多缓冲(multiply buffer):多个缓冲区,CPU和外设的处理速度可以相差较大。如用于输入或输出的环形缓冲区。(一般是专用)缓冲池

14、(bufferpool):由多个缓冲区构成,既可用于输入也可用于输出,多个进程共享,可用于多种设备。(通用,利用率高)第28页,共42页。缓冲类别I/O设备输入用户进程操作系统I/O设备输入用户进程操作系统输入I/O设备用户进程操作系统(a)(b)(c)(a)单缓冲 ;(b)双缓冲; (c)循环缓冲第29页,共42页。虚拟设备虚拟设备的思想是,独占型设备与内存进程之间加入共享型设备作为过渡因为共享型设备速度快,进程I/O传输所需的时间较短,提高了进程执行速度由于信息在独占型设备与共享型设备之间的传输时连续进行的,独占型设备在占用期间一直使用,提供了设备资源的利用率第30页,共42页。SPOOL

15、ing技术SPOOLing技术Simultaneous Peripheral Operation On Line(并发的非实质性在线操作)SPOOLing又被称为“假脱机”技术输入井:在磁盘用于虚拟输入设备的专门空间。该井用于收容输入设备上的输入数据输出井:在磁盘用于虚拟输出设备的专门空间。该井用于收容用户进程需要输出的数据虚拟分配:当进程请求I/O时,OS给进程分配的不是真正的物理设备,而是这些可共享的、并与物理设备有逻辑联系的虚拟设备-“井”采用共享的方式为进程分配一个共享设备“井”将“井”与指定的独占设备关联SPOOLing技术,实际上就是一种磁盘缓冲技术第31页,共42页。SPOOLi

16、ng技术磁盘虚拟设备1虚拟设备2虚拟设备3虚拟设备4进程A进程B进程C进程D输入设备输出设备虚拟设备及其虚拟分配输入井输出井虚拟分配第32页,共42页。I/O系统的软件组织操作系统I/O硬件管理I/O软件管理上层用户程序(应用层)设备控制器命令寄存器底层硬件设备(物理层)中断处理程序设备驱动程序与设备无关的I/O软件用户空间的I/O软件状态寄存器数据寄存器第33页,共42页。Linux 的设备管理Linux 系统把每一个I/O设备看成一个文件,即设备文件。Linux 设备管理:向上(面向用户)提供设备文件的系统调用向下(面向设备)内核将控制权交给设备驱动,由其完成底层的设备驱动。Linux 系

17、统用主设备号和从设备号来标识设备。主设备号(major number)描述控制这个设备的驱动程序,驱动程序和主设备号一一对应,主设备号相同的设备使用同一个驱动程序。从设备号(minor number)用来区分同一个驱动程序控制的不同设备。设备驱动程序接口Linux 设备管理向其他子系统提供了一个统一的接口,即通过结构file_operations 来完成。第34页,共42页。Linux 的设备驱动程序的框架设备驱动程序与外界的接口分为三部分驱动程序与操作系统内核的接口驱动程序与系统引导的接口驱动程序与设备的接口设备驱动设备的程序结构分为如下几部分驱动程序的注册与注销;设备的打开与释放;设备的读

18、写操作;设备的控制操作;设备的中断和轮询处理。第35页,共42页。Linux 的块设备驱动程序接口IDE 硬盘为块设备,因此采用了缓冲技术第36页,共42页。Linux 的块设备驱动程序接口的注册与注销通过ide_init()进行初始化,包括设置硬盘的初值init_ide_data(),设置PCI_IDE 接口参数probe_for_hwifs()等。最终调用块设备注册函数register_blkdev()来完成向内核得的注册。读写请求队列当内核要求数据传输时,他将请求发送到请求队列,请求队列再传给设备的请求函数。处理读写请求IDE 硬盘驱动程序通过request 结构向硬盘发送读写请求。第37页,共42页。Linux 的字符设备驱动程序第38页,共42页。小 结设备分类字符设备、块设备独占型设备、共享型设备、虚拟设备外设与主机的I/O控制方式循环I/O测试方式、程序中断I/O方式、直接内存存取方式、通道方

温馨提示

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

评论

0/150

提交评论