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

下载本文档

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

文档简介

1、linux操作系统华软软件学院电子系华软软件学院电子系P1P1设备管理设备管理n I/O设备的硬件结构n 外设与主机的I/O控制方式n 通道技术n 设备的分配与释放n 设备驱动n 缓冲技术n 虚拟设备n I/O系统的软件组织linux操作系统华软软件学院电子系华软软件学院电子系P2P2linux操作系统华软软件学院电子系华软软件学院电子系P3P3操作系统整体结构操作系统整体结构linux操作系统华软软件学院电子系华软软件学院电子系P4P4linux操作系统华软软件学院电子系华软软件学院电子系P5P5linux操作系统华软软件学院电子系华软软件学院电子系P6P6设备管理设备管理设备管理概述设备管

2、理概述n 设备管理是计算机中实现对外部设备进行管理、设备管理是计算机中实现对外部设备进行管理、数据传输控制的模块(除数据传输控制的模块(除CPU和内存)和内存)n 是系统资源管理中最复杂、最多样化的部分是系统资源管理中最复杂、最多样化的部分n 设备管理实现并行操作,以实现其高利用率设备管理实现并行操作,以实现其高利用率u与与CPU并行并行u与其他设备并行与其他设备并行n 设备管理基于硬件提供的通道、设备物理性能,设备管理基于硬件提供的通道、设备物理性能,实现多任务、多进程共享外部设备实现多任务、多进程共享外部设备n 大部分外部设备属于临界资源,具备互斥特性大部分外部设备属于临界资源,具备互斥特

3、性linux操作系统华软软件学院电子系华软软件学院电子系P7P7设备管理设备管理设备管理的任务和功能设备管理的任务和功能n任务:任务:u对对I/O设备的选择、分配和控制设备的选择、分配和控制u为用户提供友好的界面(接口)为用户提供友好的界面(接口)u提高设备之间、设备与提高设备之间、设备与CPU之间的并发度。之间的并发度。n功能:功能:u提供友好(或者统一)的接口提供友好(或者统一)的接口u实施设备的分配和回收实施设备的分配和回收u实现设备之间、设备与实现设备之间、设备与CPU之间的并行操作之间的并行操作u解决设备与解决设备与CPU之间的速度匹配(缓冲技术)之间的速度匹配(缓冲技术)linux

4、操作系统华软软件学院电子系华软软件学院电子系P8P8设备的分类设备的分类按数据传输按数据传输的的数量分类数量分类块设备(Block DeviceBlock Device):):指以数据块为单位来组织指以数据块为单位来组织和传送数据信息的设备。典型的块设备是磁盘,每个和传送数据信息的设备。典型的块设备是磁盘,每个盘块的大小为盘块的大小为256B256B4KB4KB。字符设备(字符设备(Character DeviceCharacter Device):):指以单个字符为单指以单个字符为单位来传送数据信息的设备。这类设备一般用于数据的位来传送数据信息的设备。这类设备一般用于数据的输入和输出,有交互

5、式终端、打印机等。输入和输出,有交互式终端、打印机等。输入输入ls l /dev查看设备列表,以查看设备列表,以c或或b开头的是什么设备?开头的是什么设备?linux操作系统华软软件学院电子系华软软件学院电子系P9P9设备的分类设备的分类按资源分配的角度分类按资源分配的角度分类独占设备:指在一段时间内只允许一个用户(进程)访问的指在一段时间内只允许一个用户(进程)访问的设备,大多数低速的设备,大多数低速的I/OI/O设备,如用户终端、打印机等属于这设备,如用户终端、打印机等属于这类设备。因为独占设备属于临界资源,所以多个并发进程必类设备。因为独占设备属于临界资源,所以多个并发进程必须互斥地进行

6、访问。须互斥地进行访问。共享设备:指在一段时间内允许多个进程同时访问的设备。指在一段时间内允许多个进程同时访问的设备。显然,共享设备必须是可寻址的和可随机访问的设备。典型显然,共享设备必须是可寻址的和可随机访问的设备。典型的共享设备是磁盘。共享设备不仅可以获得良好的设备利用的共享设备是磁盘。共享设备不仅可以获得良好的设备利用率,而且是实现文件系统和数据库系统的物质基础。率,而且是实现文件系统和数据库系统的物质基础。虚拟设备:指通过虚拟技术将一台独占设备变换为若干台供指通过虚拟技术将一台独占设备变换为若干台供多个用户(进程)共享的逻辑设备。一般可以利用假脱机技多个用户(进程)共享的逻辑设备。一般

7、可以利用假脱机技术(术(SPOOLingSPOOLing技术)实现虚拟设备。技术)实现虚拟设备。linux操作系统华软软件学院电子系华软软件学院电子系P10P10I/O设备物理特征设备物理特征输入输出设备都是以字符为I/O传输的基本单位每传送一个字符就发生一次I/O中断输入输出设备的物理特征输入输出设备的物理特征I/O传输必须以完整的块为基本单位设备每传送完一块发生一次中断存储型设备的物理特征存储型设备的物理特征IO设备的物理特性设备的物理特性linux操作系统华软软件学院电子系华软软件学院电子系P11P11磁盘的物理特性磁盘的物理特性柱面柱面扇区扇区磁臂磁臂磁头磁头硬硬盘盘linux操作系统

8、华软软件学院电子系华软软件学院电子系P12P12时钟时钟n 时钟也是一种外部设备,时钟既不是字符设备,也不是块时钟也是一种外部设备,时钟既不是字符设备,也不是块设备设备n 可编程时钟有如下操作模式:可编程时钟有如下操作模式:u单触发模式单触发模式u方波模式方波模式终端终端n 存储映像终端:包括显示器和输入键盘,该类终端直接和存储映像终端:包括显示器和输入键盘,该类终端直接和主机相连主机相连n RS-232终端:通过一次传输一位的串行口与计算机通信终端:通过一次传输一位的串行口与计算机通信n X终端:连接在以太网中和主机进行通信终端:连接在以太网中和主机进行通信linux操作系统华软软件学院电子

9、系华软软件学院电子系P13P13外设与主机的外设与主机的I/O控制方式控制方式循环循环I/O测试方式测试方式n 用户程序直接控制用户程序直接控制I/O操作,测试指令测试一台操作,测试指令测试一台设备的忙设备的忙/闲标志,决定主存与外设之间是否要传闲标志,决定主存与外设之间是否要传输,直到该标志为输,直到该标志为“闲闲”时,才能继续执行下面时,才能继续执行下面的的I/O操作指令操作指令程序中断程序中断I/O方式方式n 用户用户进程通过进程通过CPU发出指令启动外设,仅当发出指令启动外设,仅当I/O操作正常或异常结束时,操作正常或异常结束时,I/O控制器向控制器向CPU发出发出中断信号,中断信号,

10、CPU进行中断处理。进行中断处理。linux操作系统华软软件学院电子系华软软件学院电子系P14P14外设与主机的外设与主机的I/O控制方式控制方式直接内存存取方式(直接内存存取方式(DMA)n 外设和内存之间直接进行数据交换,不需要外设和内存之间直接进行数据交换,不需要CPUCPU干预,多干预,多用于块设备的数据传输用于块设备的数据传输n 过程如下:过程如下:u当进程要求设备输入数据时,当进程要求设备输入数据时,CPUCPU把准备存放输入数据把准备存放输入数据的内存地址和字节数送入的内存地址和字节数送入DMADMA控制器。然后设置标志位控制器。然后设置标志位,启动设备,开始数据输入,启动设备,

11、开始数据输入u发出数据输入要求的进程进入阻塞,调度其他进程进发出数据输入要求的进程进入阻塞,调度其他进程进入入CPUCPUu输入设备挪用输入设备挪用CPUCPU工作周期,将数据从外部缓冲区送入工作周期,将数据从外部缓冲区送入内存内存uDMADMA控制器在传输完成时,发出中断信号,控制器在传输完成时,发出中断信号,CPUCPU进入中进入中断处理程序断处理程序u中断处理完毕后,中断处理完毕后,CPUCPU返回被中断的进程返回被中断的进程linux操作系统华软软件学院电子系华软软件学院电子系P15P15外设与主机的外设与主机的I/O控制方式控制方式通道方式通道方式n 通道是一个独立于通道是一个独立于

12、CPU的专管输入输出控制的处的专管输入输出控制的处理机,它控制设备与内存直接进行数据交换。理机,它控制设备与内存直接进行数据交换。n 通道有自己的通道指令,由通道指令构成通道程通道有自己的通道指令,由通道指令构成通道程序。由序。由CPU启动通道工作,通道通过执行通道程启动通道工作,通道通过执行通道程序控制数据传输,并在操作结束时向序控制数据传输,并在操作结束时向CPU发中断发中断信号,由信号,由CPU进行传输结束中断处理通道。进行传输结束中断处理通道。linux操作系统华软软件学院电子系华软软件学院电子系P16P16CPU与与IO设备的连接设备的连接图形控制器监控器处理机存储控制器缓存内存SC

13、SI控制器IDE磁盘控制器扩展总线内部接口键盘串口并口磁盘磁盘磁盘磁盘SCSI总线PCI总线扩展总线图5.1 典型的PC总线结构linux操作系统华软软件学院电子系华软软件学院电子系P17P17控制器控制器屏蔽访问设备的具体的时序;屏蔽访问设备的具体的时序;CPU操作控制器,提供命令和数据给控制器操作控制器,提供命令和数据给控制器,由控制器操纵,由控制器操纵IO设备设备现有的大多数控制器由以下三部分组成:现有的大多数控制器由以下三部分组成:n 控制器与控制器与CPU接口:接口:用于实现控制器与用于实现控制器与CPU之间之间的通信,该接口有三类信号线分别为数据线、地的通信,该接口有三类信号线分别

14、为数据线、地址线、控制线址线、控制线n 设备控制器与设备接口:设备控制器与设备接口:一个控制器可以连接一一个控制器可以连接一台或多台设备,相应有一个或多个接口,每个接台或多台设备,相应有一个或多个接口,每个接口连接一台设备口连接一台设备n I/O逻辑:逻辑:用于对用于对I/O进行控制进行控制linux操作系统华软软件学院电子系华软软件学院电子系P18P18通道类型通道类型选择通道选择通道(selector channel):可以连接多个外设,而一可以连接多个外设,而一次只能访问其中一个外设,执行一道通道程序(单道工作次只能访问其中一个外设,执行一道通道程序(单道工作方式)。以块为单位传送数据,

15、速度快,适合高速外部设方式)。以块为单位传送数据,速度快,适合高速外部设备。如:磁盘,磁带。备。如:磁盘,磁带。字节多路字节多路(byte multiplexor channel)通道通道 :以字节为单以字节为单位传送数据,多个外设分时轮流使用通道(分时系统工作位传送数据,多个外设分时轮流使用通道(分时系统工作方式)。适合连接低速字符设备。方式)。适合连接低速字符设备。数组多路数组多路(block multiplexor channel)通道:通道:以块为单位以块为单位传送数据传送数据,可以并发访问多个外设,分时执行多道通道程可以并发访问多个外设,分时执行多道通道程序。适合连接中高速外部设备。

16、如:磁盘,磁带。序。适合连接中高速外部设备。如:磁盘,磁带。linux操作系统华软软件学院电子系华软软件学院电子系P19P19处理过程处理过程 当进程要求设备输入数据时,当进程要求设备输入数据时,CPU执行执行Start指令指令指明指明I/O操作、操作、通道程序地址、通道程序地址、设备号和对应的通设备号和对应的通道。道。 对应通道接收到对应通道接收到CPU发来的启动指令之后开始工发来的启动指令之后开始工作,把存放在内存中的通道指令程序读出并执行,作,把存放在内存中的通道指令程序读出并执行,并设置对应设备的并设置对应设备的I/O控制其中的控制状态寄存器,控制其中的控制状态寄存器,是设备开始工作。

17、是设备开始工作。 设备准备好数据,由设备准备好数据,由通道通道把数据送往通道指令指把数据送往通道指令指定的内存区域。定的内存区域。 若数据传送结束,通道通过若数据传送结束,通道通过中断中断请求线发中断信请求线发中断信号请求号请求CPU做中断处理。做中断处理。linux操作系统华软软件学院电子系华软软件学院电子系P20P20 中央处理机中央处理机内存内存字节多路通道字节多路通道数组多路通道数组多路通道选择通道选择通道卡片卡片输入机输入机卡片卡片输入机输入机打印机打印机磁盘磁盘磁带磁带通道结构通道结构linux操作系统华软软件学院电子系华软软件学院电子系P21P21设备分配设备分配 系统设备表系统

18、设备表SDT:每个系统设备占一表目每个系统设备占一表目 设备控制表设备控制表UCB:每个设备一张每个设备一张 控制器控制表控制器控制表CUCB:每个控制器一张每个控制器一张 通道控制表通道控制表CCB:每个通道一张每个通道一张按一定算法进行设备分配按一定算法进行设备分配,包括设备、设包括设备、设备控制器及通道备控制器及通道确保确保n “有有” 用户能得到设备使用权。用户能得到设备使用权。n “安全安全”用户使用设备是安全的。用户使用设备是安全的。linux操作系统华软软件学院电子系华软软件学院电子系P22P22设备分配的数据结构设备分配的数据结构表目i表目1UCB指针获得设备的进程设备标识设备

19、类型控制器等待队列尾控制器等待队列首CUCB指针设备忙闲标记设备标识设备类型控制忙闲标记控制器等待队列尾控制器等待队列首CCB指针控制器标识通道忙闲标记通道等待队列尾通道等待队列首通道标识SDTUCB设备控制表控制器控制表CUCBCCB通道控制表等待进程队列linux操作系统华软软件学院电子系华软软件学院电子系P23P23UCB数据结构数据结构linux操作系统华软软件学院电子系华软软件学院电子系P24P24设备分配的原则设备分配的原则设备分配总原则:充分发挥设备利用率,设备分配总原则:充分发挥设备利用率,避免由于不合理分配引起进程死锁。避免由于不合理分配引起进程死锁。具体考虑以下方面:具体考

20、虑以下方面:n设备的固有属性设备的固有属性 (独占、共享、虚拟)。(独占、共享、虚拟)。n设备分配算法(先来先服务、优先级)。设备分配算法(先来先服务、优先级)。n设备分配的安全性(安全或不安全分配设备分配的安全性(安全或不安全分配方式)。方式)。n设备独立性(用户程序独立于使用的物设备独立性(用户程序独立于使用的物理设备)。理设备)。linux操作系统华软软件学院电子系华软软件学院电子系P25P25设备分配方式设备分配方式静态分配静态分配:在进程分创建时分配,在:在进程分创建时分配,在进程退出时释放;进程退出时释放;u优缺点:不会出现死锁;优缺点:不会出现死锁;u设备利用率不高;设备利用率不

21、高;动态分配动态分配:在进程执行过程中根据需:在进程执行过程中根据需要分配,使用结束后释放;要分配,使用结束后释放;u优缺点优缺点:需要考虑死锁问题需要考虑死锁问题u有利于提高设备利用率有利于提高设备利用率linux操作系统华软软件学院电子系华软软件学院电子系P26P26设备调度设备调度-输入输出调度算法输入输出调度算法先到先服务算法先到先服务算法最短查找时间优先算法最短查找时间优先算法扫描算法(电梯算法)扫描算法(电梯算法)N步扫描法步扫描法linux操作系统华软软件学院电子系华软软件学院电子系P27P27缓冲技术缓冲技术缓冲缓冲n 是两种不同速度的设备之间传输信息时平滑传是两种不同速度的设

22、备之间传输信息时平滑传输过程的常用手段。输过程的常用手段。不同的缓冲方式不同的缓冲方式n 缓冲器缓冲器(硬缓冲硬缓冲)u缓冲器是用来暂时存放数据的一种存储装置,缓冲器是用来暂时存放数据的一种存储装置,它容量较小,存取速度快。它容量较小,存取速度快。n 软件缓冲软件缓冲u在在I/O操作期间用来临时存放操作期间用来临时存放I/O数据的一块数据的一块存储区域。存储区域。linux操作系统华软软件学院电子系华软软件学院电子系P28P28缓冲类别缓冲类别单缓冲单缓冲(single buffer):设一个缓冲区,:设一个缓冲区,CPU和和外设轮流使用,外设轮流使用, 一方处理完之后接着等待对方处一方处理完

23、之后接着等待对方处理。理。双缓冲双缓冲(double buffer):设两个缓冲区,:设两个缓冲区,CPU和和外设都可以连续处理而无需等待对方。要求外设都可以连续处理而无需等待对方。要求CPU和外设的速度相近。和外设的速度相近。多缓冲多缓冲(multiply buffer):多个缓冲区,:多个缓冲区,CPU和和外设的处理速度可以相差较大。如用于输入或输外设的处理速度可以相差较大。如用于输入或输出的环形缓冲区。(一般是专用)出的环形缓冲区。(一般是专用)缓冲池缓冲池(bufferpool):由多个缓冲区构成,既:由多个缓冲区构成,既可用于输入也可用于输出,多个进程共享,可用可用于输入也可用于输出

24、,多个进程共享,可用于多种设备。(通用,利用率高)于多种设备。(通用,利用率高)linux操作系统华软软件学院电子系华软软件学院电子系P29P29缓冲类别缓冲类别I/O设备输入用户进程操作系统I/O设备输入用户进程操作系统输入I/O设备用户进程操作系统(a)(b)(c)(a)单缓冲 ;(b)双缓冲; (c)循环缓冲linux操作系统华软软件学院电子系华软软件学院电子系P30P30虚拟设备虚拟设备虚拟设备的思想是,独占型设备与内存进程之间加入共享型设备作为过渡因为共享型设备速度快,进程I/O传输所需的时间较短,提高了进程执行速度由于信息在独占型设备与共享型设备之间的传输时连续进行的,独占型设备在

25、占用期间一直使用,提供了设备资源的利用率linux操作系统华软软件学院电子系华软软件学院电子系P31P31SPOOLing技术技术SPOOLing技术技术n Simultaneous Peripheral Operation On Line(并发(并发的非实质性在线操作)的非实质性在线操作)n SPOOLing又被称为又被称为“假脱机假脱机”技术技术n 输入井:在磁盘用于虚拟输入设备的专门空间。该井输入井:在磁盘用于虚拟输入设备的专门空间。该井用于收容输入设备上的输入数据用于收容输入设备上的输入数据n 输出井:在磁盘用于虚拟输出设备的专门空间。该井输出井:在磁盘用于虚拟输出设备的专门空间。该井

26、用于收容用户进程需要输出的数据用于收容用户进程需要输出的数据n 虚拟分配:当进程请求虚拟分配:当进程请求I/O时,时,OS给进程分配的不是真给进程分配的不是真正的物理设备,而是这些可共享的、并与物理设备有正的物理设备,而是这些可共享的、并与物理设备有逻辑联系的虚拟设备逻辑联系的虚拟设备-“井井”n 采用共享的方式为进程分配一个共享设备采用共享的方式为进程分配一个共享设备“井井”n 将将“井井”与指定的独占设备关联与指定的独占设备关联linux操作系统华软软件学院电子系华软软件学院电子系P32P32SPOOLing技术技术linux操作系统华软软件学院电子系华软软件学院电子系P33P33I/O系

27、统的软件组织系统的软件组织操作系统操作系统I/O硬件管理硬件管理I/O软件管理软件管理上层用户程序(应用层)上层用户程序(应用层)设备设备控制器控制器命令寄存器命令寄存器底层硬件设备(物理层)底层硬件设备(物理层)中断处理程序中断处理程序设备驱动程序设备驱动程序与设备无关的与设备无关的I/O软件软件用户空间的用户空间的I/O软件软件状态寄存器状态寄存器数据寄存器数据寄存器linux操作系统华软软件学院电子系华软软件学院电子系P34P34Linux 的设备管理的设备管理Linux 系统把每一个系统把每一个I/O设备看成一个设备看成一个文件,即设备文件文件,即设备文件。Linux 设备管理:设备管

28、理:n 向上(面向用户)提供设备文件的系统调用向上(面向用户)提供设备文件的系统调用n 向下(面向设备)内核将控制权交给设备驱动,由其完向下(面向设备)内核将控制权交给设备驱动,由其完成底层的设备驱动。成底层的设备驱动。Linux 系统用主设备号和从设备号来标识设备。系统用主设备号和从设备号来标识设备。n 主设备号(主设备号(major number)描述控制这个设备的驱动程)描述控制这个设备的驱动程序,驱动程序和主设备号一一对应,主设备号相同的设序,驱动程序和主设备号一一对应,主设备号相同的设备使用同一个驱动程序。备使用同一个驱动程序。n 从设备号(从设备号(minor number)用来区分同一个驱动程序控)用来区分同一个驱动程序控制的不同设备。制的不同设备。设备驱动程序接口设备驱动程序接口n Linux 设备管理向其他子系统提供了一个统一的接口,设备管理向其他子系统提供了一个统一的接口,即通过结构即通过结构file_operations 来

温馨提示

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

评论

0/150

提交评论