《基本设备管理ppt课件.ppt》由会员分享,可在线阅读,更多相关《基本设备管理ppt课件.ppt(105页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、操作系统操作系统设备管理设备管理2设备管理功能设备管理功能设备管理:设备管理:I/O管理,负责管理设备和控制管理,负责管理设备和控制I/O传输传输操作操作功能:功能:1 设备分配与回收设备分配与回收2 设备控制设备控制3 设备状态跟踪设备状态跟踪3设备分类设备分类 按传输速率分:按传输速率分: 低速设备(几个字节低速设备(几个字节-数百个字节数百个字节/秒)秒) 键盘、鼠标等键盘、鼠标等 中速设备(数千个字节中速设备(数千个字节-数万个字节数万个字节/秒)秒) 打印机等打印机等 高速设备高速设备 磁盘磁盘 光盘机等光盘机等4按设备的使用特性按设备的使用特性存储设备存储设备输入输入/输出设备输出
2、设备5 按信息交换的单位分:按信息交换的单位分: 块设备(数据的存取以数据块为单位)块设备(数据的存取以数据块为单位) 磁盘磁盘块设备在输入输出时常采用块设备在输入输出时常采用DMA方式方式 字符设备(数据的存取以字符为单位)字符设备(数据的存取以字符为单位) 键盘键盘 打印机等打印机等字符设备在输入输出时常采用中断方式字符设备在输入输出时常采用中断方式6 按设备的共享属性:按设备的共享属性: 独占设备独占设备 临界资源临界资源 共享设备共享设备 磁盘磁盘 虚拟设备虚拟设备 将一台设备变换为若干台逻辑设备将一台设备变换为若干台逻辑设备 虚拟光驱、虚拟网卡虚拟光驱、虚拟网卡7设备控制器设备控制器
3、(1)设备并非直接与设备并非直接与CPU通信,之间经通信,之间经过设备控制器过设备控制器(2)设备与设备控制器之间的连接:设备与设备控制器之间的连接:数据信号线:传送数据信号数据信号线:传送数据信号(中间缓冲区)(中间缓冲区)状态信号线:传送设备当前状态状态信号线:传送设备当前状态控制信号线:规定了设备将要执的控制信号线:规定了设备将要执的动作动作输出:输出:先到缓冲,再到转换器先到缓冲,再到转换器(信信号号/数据数据)输入:输入:先到转换器,再到缓冲先到转换器,再到缓冲控制信号:控制信号:读操作,写操作,磁读操作,写操作,磁头移动等头移动等状态:状态:正在读或写,读写完成等正在读或写,读写完
4、成等缓冲转换器控制逻辑信号数据数据信号线状态信号线控制信号线至设备控制器I/O 设备8设备控制器功能设备控制器功能控制一个或多个控制一个或多个I/O设备,以实现设备,以实现I/O设备和计算机之间的数据交换。设备和计算机之间的数据交换。功能:功能: 接收和识别命令接收和识别命令-cpu可向设备控制器发送多种指令,设备控制器能识别可向设备控制器发送多种指令,设备控制器能识别接收这些指令,如:磁盘读写等。接收这些指令,如:磁盘读写等。 数据交换数据交换-实现实现cpu与控制器之间、控制器与设备之间的数据交换。与控制器之间、控制器与设备之间的数据交换。 标识和报告设备状态标识和报告设备状态记下设备状态
5、供记下设备状态供cpu了解。例如:只有当设备处于发了解。例如:只有当设备处于发送就绪状态时,送就绪状态时,cpu才能启动控制器从设备中读取数据。才能启动控制器从设备中读取数据。 地址识别地址识别每个设备都有一个地址,控制器能够识别它所控制的每个设备每个设备都有一个地址,控制器能够识别它所控制的每个设备的地址。的地址。 数据缓冲数据缓冲I/o设备的低速与设备的低速与cpu高速之间的缓冲。高速之间的缓冲。9设备控制器的组成 数据寄存器控制/状态寄存器数据线I/O 逻辑控制器与设备接口1控制器与设备接口 i数据状态控制数据状态控制地址线控制线CPU 与控制器接口控制器与设备接口10三部分组成:三部分
6、组成:1、设备控制器与处理器的接口、设备控制器与处理器的接口三类信号线:数据线、地址线、控制线三类信号线:数据线、地址线、控制线两类寄存器:数据寄存器、控制两类寄存器:数据寄存器、控制状态寄存器状态寄存器2、设备控制器与设备的接口、设备控制器与设备的接口一个控制器可接多个设备,一个接口接一个设备一个控制器可接多个设备,一个接口接一个设备3、IO逻辑逻辑实现对设备的控制,实现对设备的控制,CPU启动设备过程:发送控制命令和地址给控制启动设备过程:发送控制命令和地址给控制器,器,IO逻辑接收命令并译码逻辑接收命令并译码 I/O控制方式控制方式 程序程序I/O方式方式-忙则等待方式忙则等待方式 利用
7、利用I/O测试指令测试设备的忙闲,若设备忙则继续测试指令测试设备的忙闲,若设备忙则继续测试,不忙则进行输入输出测试,不忙则进行输入输出 在程序I/O方式中,由于CPU的高速性和I/O设备的低速性, 致使CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中, 造成对CPU的极大浪费。在该方式中,CPU之所以要不断地测试I/O设备的状态,就是因为在CPU中无中断机构, 使I/O设备无法向CPU报告它已完成了一个字符的输入操作。 1112 中断驱动中断驱动I/O控制方式控制方式 当启动当启动I/O设备时,设备时,CPU向设备控制器发出向设备控制器发出I/O指令,指令,然后返回执行原来指
8、令。由设备控制器控制设备,当设备然后返回执行原来指令。由设备控制器控制设备,当设备完成完成I/O操作时,中断方式通知操作时,中断方式通知CPU处理。处理。 在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作。仅当输完一个数据时,才需CPU花费极短的时间去做些中断处理。可见,这样可使CPU和I/O设备都处于忙碌状态,从而提高了整个系统的资源利用率及吞吐量。 例如例如,从终端输入一个字符的时间约为100 ms, 而将字符送入终端缓冲区的时间小于 0.1 ms。 若采用程序I/O方式,CPU约有 99.9 ms的时间处于忙等待中。 采用中断驱动方式后,CPU可利
9、用这 99.9 ms的时间去做其它事情,而仅用 0.1 ms的时间来处理由控制器发来的中断请求。 可见,中断驱动方式可以成百倍地提高CPU的利用率。 1314 直接存储器访问直接存储器访问DMA I/O控制方式控制方式 1. DMA(Direct Memory Access)控制方式的引入控制方式的引入 中断传输仍是以字为单位的,即传输完一个字后进行一次中断。中断传输仍是以字为单位的,即传输完一个字后进行一次中断。不利于操作大量数据。为了进一步减少不利于操作大量数据。为了进一步减少CPU的干预,引入了直接存储器的干预,引入了直接存储器访问方式。访问方式。 数据传输的基本单位是数据传输的基本单位
10、是数据块数据块; 所传送的数据是从设备所传送的数据是从设备直接送入内存直接送入内存的,或者相反;的,或者相反; 仅在传送一个或多个仅在传送一个或多个数据块数据块的开始和结束时,才需的开始和结束时,才需CPU干预,干预, 整块数据的传送是在整块数据的传送是在控制器控制器的控制下完成的。的控制下完成的。 可见,可见,DMA方式成百倍地减少了方式成百倍地减少了CPU对对I/O的干预。的干预。 152. DMA控制器的组成控制器的组成 DMA控制器的组成 DRMARDCCRI/O控制逻辑主机控制器接口控制器与块设备接口count内存CPU命令系统总线DMA控制器16 为了实现在主机与控制器之间成块数据
11、的直接交换, 必须在DMA控制器中设置如下四类寄存器: (1) 命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制信息, 或设备的状态。 (2) 内存地址寄存器MAR。在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。 (3) 数据寄存器DR。用于暂存从设备到内存,或从内存到设备的数据。 (4) 数据计数器DC。 存放本次CPU要读或写的字(节)数。 173. DMA工作过程工作过程 设置AR和DC初值启动DMA传送命令挪用存储器周期传送数据字存储器地址增1字计数寄存器减1DC0?请求中断在继续执行用户程序的同时,准备又一次传送否是1
12、819 I/O通道控制方式通道控制方式 1. I/O通道通道控制方式的引入控制方式的引入 I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。 同时,又可实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。 例如,当CPU要完成一组相关的读(或写)操作及有关控制时,只需向I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访问的I/O设备,通道接到该指令后,通过执行通道程序便可完成CPU指定的I/O任务。 202. 通道程序通道程序 (1
13、)操作码。 (2) 内存地址。 (3) 计数。 (4) 通道程序结束位P。 (5) 记录结束标志R。 21操作 PR计数内存地址WRITE 0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE112507202223I/O通道1. I/O通道通道(I/O Channel)设备的引入设备的引入 实际上,实际上,I/O通道是通道是一个用来控制外部设备的硬件机制,是一个用来控制外部设备的硬件机制,是一种特殊一种特殊的处理机。它具有执行的处理机。它具有执行I/O指令的能力,并通过执行通道指令的能力,并通过执行通道(I/O
14、)程序来程序来控制控制I/O操作。操作。 IO通道的目的使原来由通道的目的使原来由CPU执行的执行的IO任务承担下来任务承担下来 但但I/O通道又与一般的处理机不同,主要表现在以下两个方面:通道又与一般的处理机不同,主要表现在以下两个方面: 一是其指令类型单一,这是由于通道硬件比较简单,一是其指令类型单一,这是由于通道硬件比较简单, 其所能执行的其所能执行的命令,主要局限于与命令,主要局限于与I/O操作有关的指令;操作有关的指令; 再就是通道没有自己的内存,通道所执行的通道程序是放在主机的再就是通道没有自己的内存,通道所执行的通道程序是放在主机的内内存中的,存中的, 换言之,是通道与换言之,是
15、通道与CPU共享内存。共享内存。2. 通道类型通道类型 1) 字节多路通道(Byte Multiplexer Channel) 字节多路通道不适于连接高速设备控制器A控制器B控制器C控制器D控制器NA1A2A3子通道AB1B2B3子通道BC1C2C3子通道CN1N2N3子通道NA1B1C1A2B2C2设备242) 数组选择通道数组选择通道(Block Selector Channel) 可以连接多台高速设备可以连接多台高速设备只含有只含有一个一个分配型分配型子通道子通道,在,在一段时间一段时间内只能控制内只能控制一台一台设设备进行数据传送,并备进行数据传送,并独占独占该通道。该通道。这种通道的
16、利用率很低。这种通道的利用率很低。 25 3) 数组多路通道数组多路通道(Block Multiplexer Channel)数组多路通道是以上二种通道数组多路通道是以上二种通道结合结合而形成的一种新通道而形成的一种新通道数据传送是按数据传送是按数组方式数组方式进行进行有有多个多个非分配型非分配型子通道子通道,数据传输速率很高,通道利用率也高数据传输速率很高,通道利用率也高广泛地用于连接多台广泛地用于连接多台高、中高、中速的外围设备速的外围设备263. “瓶颈瓶颈”问题问题 设备1设备2设备3设备4设备5设备6设备7控制器1控制器2控制器3控制器4通道1通道2存储器27I/O设备控制器1控制器
17、2通道1通道2存储器I/O设备I/O设备I/O设备28 缓缓 冲冲 管管 理理 缓冲的引入缓冲的引入 (1)缓和CPU与I/O设备间速度不匹配的矛盾。 (2) 减少对CPU的中断频率, 放宽对CPU中断响应时间的限制。 (3) 提高CPU和I/O设备之间的并行性。 29图 5-10 利用缓冲寄存器实现缓冲 1位缓冲9.6 Kb/s8位缓冲寄存器送内存9.6 Kb/s8位缓冲寄存器9.6 Kb/s送内存(b)(a)(c)30单缓冲和双缓冲单缓冲和双缓冲 1. 单缓冲单缓冲(Single Buffer) 工作区处理(C)缓冲区传送(M)输入(T)I/O设备(a)T1M1C1T2M2C2T3M3C3
18、T4t(b)用户进程312. 双缓冲双缓冲(Double Buffer) 工作区用户进程缓冲区1缓冲区2I/O 设备T1(缓冲1)M1C1M2C2M3C3T2(缓冲2)T3(缓冲3)M4C4T4(缓冲4)(a)(b) 32 缓冲区缓冲区A机B机(a) 单缓冲发送缓冲区接收缓冲区接收缓冲区发送缓冲区A机B机(b) 双缓冲33 循环缓冲循环缓冲 1. 循环缓冲的组成循环缓冲的组成 RGGGRG165423NextiNextgRGGGRC165423NextiNextgcurrent342. 循环缓冲区的使用循环缓冲区的使用 (1)Get过程。(2) Release过程。 353. 进程同步进程同步
19、 (1)Next指针追赶上Next指针。输入进程速度大于输出进程(2) Next指针追赶上Nexti指针。输出进程速度大于输入进程 36 缓冲池缓冲池(Buffer Pool) 1. 缓冲池的组成缓冲池的组成 对于既可用于输入又可用于输出的公用缓冲池, 其中至少应含有以下三种类型的缓冲区: 空(闲)缓冲区; 装满输入数据的缓冲区; 装满输出数据的缓冲区。 为了管理上的方便,可将相同类型的缓冲区链成一个队列,于是可形成以下三个队列: (1) 空缓冲队列em。 (2) 输入队列inq。 (3) 输出队列outq。 372. Getbuf过程和过程和Putbuf过程过程 Procedure Getb
20、uf(type) begin Wait(RS(type); Wait(MS(type); B(number)=Takebuf(type); Signal(MS(type); end Procedure Putbuf(type, number) begin Wait(MS(type); Addbuf(type, number); Signal(MS(type); Signal(RS(type); end 383. 缓冲区的工作方式缓冲区的工作方式 hinsoutsinhout收 容 输 入提 取 输 出用 户程 序提 取 输 入收 容 输 出缓 冲 池1、收容输入、收容输入:输入进程需要输入数据
21、时,:输入进程需要输入数据时,调调用用Getbuf(emq)在在emq中摘下中摘下一空区一空区,作为收容输入缓冲区,作为收容输入缓冲区hin,并并装满数据装满数据,再调用,再调用Putbuf(inq,hin),将将缓冲区挂缓冲区挂到到inq中。中。2、提取输入、提取输入:输入进程需要输入数据时,输入进程需要输入数据时,调调用用Getbuf(inq)从从inq摘一区摘一区,作为提取输入缓冲区作为提取输入缓冲区sin,计算进程从中计算进程从中提提取取数据。计算进程数据数据用完数据。计算进程数据数据用完后,后,再调用再调用Putbuf(emq,sin),将缓冲区挂到将缓冲区挂到emq。393、收容输
22、出:收容输出:当计算进程需要输出时,调用当计算进程需要输出时,调用Getbuf(emq)从从emq中摘一区,作为收容输出缓冲区中摘一区,作为收容输出缓冲区hout.当装满输出数据,又调用当装满输出数据,又调用Putbuf(outq,hout),将缓冲区挂在将缓冲区挂在outq。4、提取输出:提取输出:由输出进程调用由输出进程调用Getbuf(outq)从从out中摘一满区,中摘一满区,作为提取输出缓冲区作为提取输出缓冲区sout提取数据。数据提取完后,调用提取数据。数据提取完后,调用Putbuf(emq,sout),并挂入并挂入emq。hinsoutsinhout收 容 输 入提 取 输 出用
23、 户程 序提 取 输 入收 容 输 出缓 冲 池40设备分配(1)先来先服务。先来先服务。 (2) 优先级高者优先。优先级高者优先。4142设备独立性设备独立性 设备独立性设备独立性 引入逻辑设备和物理设备两个概念。引入逻辑设备和物理设备两个概念。 在应用程序中使用逻辑设备名来请求使用某类设备,而系在应用程序中使用逻辑设备名来请求使用某类设备,而系统在实际执行时,还需物理设备名。统在实际执行时,还需物理设备名。 系统需要具有将逻辑设备名转换为物理设备名的功能。系统需要具有将逻辑设备名转换为物理设备名的功能。 43 例如:系统拥有例如:系统拥有A、B两台卡片输入机,现有作业两台卡片输入机,现有作
24、业J2申请一申请一台卡片输入机,如果它指定使用台卡片输入机,如果它指定使用A,那么作业,那么作业J1已经占用已经占用A或者设备或者设备A坏了,虽然系统还有同类设备坏了,虽然系统还有同类设备B是好的且未被是好的且未被占用,但也不能接受作业占用,但也不能接受作业J2,显然这样做很不合理。,显然这样做很不合理。 为了解决这一问题,通常用户不指定特定的设备,而指为了解决这一问题,通常用户不指定特定的设备,而指定逻辑设备,使得用户作业和物理设备独立开来,再通过定逻辑设备,使得用户作业和物理设备独立开来,再通过其它途径建立逻辑设备和物理设备之间的对应关系,我们其它途径建立逻辑设备和物理设备之间的对应关系,
25、我们称这种特性为称这种特性为“设备独立性设备独立性”。设备管理的功能之一就是。设备管理的功能之一就是把逻辑设备名转换成物理设备名把逻辑设备名转换成物理设备名44优点优点:设备分配时的灵活性设备分配时的灵活性45逻辑设备名到物理设备名的映逻辑设备名到物理设备名的映射射逻辑设备表:逻辑设备表:逻辑设备名逻辑设备名物理设备名物理设备名设备驱动程序入口设备驱动程序入口逻辑设备名物理设备名驱动程序入口地址/dev/tty/dev/printer3510242046逻辑设备名/dev/tty/dev/printer系统设备表指针35( a )( b )46SPOOLING技术技术 回顾:操作系统的回顾:操
26、作系统的4个特性之虚拟性。个特性之虚拟性。 将一个物理设备虚拟成多个逻辑设备,从而可实现多个用将一个物理设备虚拟成多个逻辑设备,从而可实现多个用户的共享户的共享-解决方法:解决方法:S Pooling技术技术47SPOOLING技术技术 为了缓和为了缓和CPU的高速性与的高速性与I/O设备低速性间的矛盾而引入设备低速性间的矛盾而引入了脱机输入、脱机输出技术。了脱机输入、脱机输出技术。 目标:目标:CPU与外围设备操作同时进行(并行)与外围设备操作同时进行(并行) 一道程序模拟脱机输入时的外围控制机功能,将低速一道程序模拟脱机输入时的外围控制机功能,将低速I/O设备上的数据传送到高速磁盘上,或者
27、一道程序模拟脱机设备上的数据传送到高速磁盘上,或者一道程序模拟脱机输出时的外围控制机功能,把数据从高速磁盘传送到低速输出时的外围控制机功能,把数据从高速磁盘传送到低速I/O设备上。设备上。48设备分配设备分配虚拟设备分配策略虚拟设备分配策略SPOOLING技术技术:联机情况下实现的同时外围操作称为联机情况下实现的同时外围操作称为SPOOLING技术技术。可将。可将一个独占设备虚拟成多台设备。一个独占设备虚拟成多台设备。 输入进程 输出进程输入缓冲区输出缓冲区输入井输出井内存磁盘输入设备输出设备共享打印机为例说明:共享打印机为例说明:把对独占设备的访问转为对共享设备把对独占设备的访问转为对共享设
28、备的访问,实现独占设备的的访问,实现独占设备的“同时共享同时共享”49 输入井、输出井:用于暂存输入井、输出井:用于暂存I/O设备输入的数据和用户输出的数据。设备输入的数据和用户输出的数据。 输入缓冲区、输出缓冲区:暂存由输入设备送来的数据,以后传送输入缓冲区、输出缓冲区:暂存由输入设备送来的数据,以后传送到输入井;暂存由输出井送来的数据,以后传送给输出设备。到输入井;暂存由输出井送来的数据,以后传送给输出设备。 输入进程、输出进程:将用户要求的数据从输入机通过输入缓冲区输入进程、输出进程:将用户要求的数据从输入机通过输入缓冲区再送到输入井,当再送到输入井,当CPU需要输入数据时,直接从输入井
29、中读入内存;需要输入数据时,直接从输入井中读入内存;输出进程当用户要求输出数据时,先从内存送到输出井,待输出设输出进程当用户要求输出数据时,先从内存送到输出井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备上。备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备上。50 SPooling技术如何使一台打印机虚拟成多台打印机?技术如何使一台打印机虚拟成多台打印机? 打印机属于独享设备打印机属于独享设备。 用用SPOOLing技术转换为虚拟成多台打印机技术转换为虚拟成多台打印机 当用户进程请求打印时,当用户进程请求打印时,SPOOLing系统同意为它打印输出,但并不系统同意为它打
30、印输出,但并不真正立即把打印机分配给该进程,而是作如下事情:真正立即把打印机分配给该进程,而是作如下事情:(1)由输出进程在输出井中申请一块空闲磁盘块,并将打印数据送入)由输出进程在输出井中申请一块空闲磁盘块,并将打印数据送入其中其中(2)输出进程再为用户进程申请一张空白的用户请求打印表,并将用)输出进程再为用户进程申请一张空白的用户请求打印表,并将用户打印要求填入其中,将该表挂到请求打印队列户打印要求填入其中,将该表挂到请求打印队列 (3)若打印机空闲,输出进程将从请求打印队列的队首取出一张打印请若打印机空闲,输出进程将从请求打印队列的队首取出一张打印请求表,根据要求打印数据,从输出井传送到
31、内存缓冲区,再由打印求表,根据要求打印数据,从输出井传送到内存缓冲区,再由打印机进行打印。机进行打印。51磁盘存储器管理磁盘存储器管理磁盘存储器管理磁盘存储器管理 几乎所有计算机都使用磁盘来存储信息。从存储角度,几乎所有计算机都使用磁盘来存储信息。从存储角度,与内存比较起来,磁盘有三个主要的优点:与内存比较起来,磁盘有三个主要的优点:(1)可用的存储容量非常大)可用的存储容量非常大(2)每位的价格非常低)每位的价格非常低(3)电源关掉后信息不会丢失)电源关掉后信息不会丢失52磁盘性能简述磁盘性能简述1. 数据的组织和格式数据的组织和格式 实际的硬盘都组织成多个盘片,每片分两面,每面分成若干条磁
32、道,实际的硬盘都组织成多个盘片,每片分两面,每面分成若干条磁道,磁道间有间隙磁道间有间隙 磁道又被分成许多扇区,每条磁道上扇区数目典型为磁道又被分成许多扇区,每条磁道上扇区数目典型为10至至100,每个,每个扇区包含相同的字节数,相当于一个盘块扇区包含相同的字节数,相当于一个盘块53主要组成主要组成 硬盘(温硬)基本基础知识硬盘(温硬)基本基础知识主轴主轴 (5400/7200/10000转每转每 盘片盘片 移动臂移动臂/磁头臂磁头臂 磁头磁头54硬盘府视图硬盘府视图55用磁道号、磁头号和扇区号来标识一个扇区用磁道号、磁头号和扇区号来标识一个扇区56磁盘类型磁盘类型 固定头磁盘固定头磁盘:提高
33、并行读提高并行读写能力,主要用于大容量写能力,主要用于大容量磁盘磁盘。每条磁道都有一个。每条磁道都有一个磁头。磁头。 移动头磁盘:寻道功能,移动头磁盘:寻道功能,结构简单,速度慢结构简单,速度慢,每个,每个盘面仅有一个磁头盘面仅有一个磁头57磁盘访问时间磁盘访问时间 寻道时间寻道时间Ts:是指把磁头移动到指定磁道上所经历底时间,是启动磁:是指把磁头移动到指定磁道上所经历底时间,是启动磁臂的时间臂的时间S与磁头移动与磁头移动N条磁道所花费的时间之和条磁道所花费的时间之和 旋转延迟时间旋转延迟时间T:是指指定扇区移动到磁头下面所经历的时间:是指指定扇区移动到磁头下面所经历的时间,平均平均T为为50
34、100ms 传输时间传输时间Tt:是指向磁盘写入数据所经历的时间:是指向磁盘写入数据所经历的时间,与每次读与每次读/写的字节写的字节数数b和旋转速度有关和旋转速度有关58磁盘调度磁盘调度-当多个进程需要访问磁盘时当多个进程需要访问磁盘时 磁盘调度的目标是使磁盘的平均寻道时间最少,以使进程磁盘调度的目标是使磁盘的平均寻道时间最少,以使进程对磁盘的平均访问时间最小,目前常使用的有先来先服务,对磁盘的平均访问时间最小,目前常使用的有先来先服务,最短寻道时间优先及扫描算法等最短寻道时间优先及扫描算法等591.先来先服务寻道算法先来先服务寻道算法FCFS(First-come,First-served)
35、 一种最简单的磁盘调度算法。一种最简单的磁盘调度算法。它根据进程请求访问磁盘的它根据进程请求访问磁盘的先先后次序后次序进行调度。进行调度。优点优点公平、简单,每公平、简单,每个进程的请求都个进程的请求都能依次得到处理能依次得到处理。缺点缺点未对寻道进行优未对寻道进行优化,致使平均寻化,致使平均寻道时间可能较长道时间可能较长。602. 最短寻道时间优先算法最短寻道时间优先算法SSTF该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道,该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道,距离最短,以使每次的寻道时间最短,但这种调度算法却不能保证距离最短,以使每次的寻道时间最短,但这
36、种调度算法却不能保证平均寻道时间最短平均寻道时间最短会可能导致某个进程发生会可能导致某个进程发生“饥饿饥饿”的现象,因为只要有新进程的请的现象,因为只要有新进程的请求到达,其所要访问的磁道与当前所在磁道的距离较近,其求到达,其所要访问的磁道与当前所在磁道的距离较近,其I/O请求请求必优先满足必优先满足61FCFSFCFS算法(从算法(从100#100#磁道开始)磁道开始)被访问的下被访问的下一个磁道号一个磁道号移动距离移动距离(磁道数(磁道数)5555454558583 33939191918182121909072721601607070150150101038381121121841841
37、46146平均寻道长度:平均寻道长度:55.355.3SSTFSSTF算法(从算法(从100#100#磁道开始)磁道开始)被访问的下被访问的下一个磁道号一个磁道号移动距离移动距离(磁道数)(磁道数)909010105858323255553 33939161638381 11818202015015013213216016010101841842424平均寻道长度:平均寻道长度:27.527.5623、扫描算法、扫描算法SCAN 为了避免为了避免“饥饿饥饿”现象,对现象,对SSTF算法略加修改形成扫描算法,该方法算法略加修改形成扫描算法,该方法不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑
38、的是磁头不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。这种算法中磁头移动的规律颇似电梯的运行,又的当前移动方向。这种算法中磁头移动的规律颇似电梯的运行,又称电梯调度算法。称电梯调度算法。磁臂由磁盘的一端开始,移动到磁盘的另一端,在移动过程中,为磁臂由磁盘的一端开始,移动到磁盘的另一端,在移动过程中,为访问请求服务。然后调转方向,从此端移动到另一端。访问请求服务。然后调转方向,从此端移动到另一端。634. 循环扫描循环扫描CSCAN(Circular SCAN)为了减少为了减少SCAN算法造成的某些进程的请求被严重推迟,算法造成的某些进程的请求被严重推迟,CSCAN算
39、法规定磁头单向移动。算法规定磁头单向移动。当磁头移到最外的磁道并访问后,磁头立即返回到最里的当磁头移到最外的磁道并访问后,磁头立即返回到最里的欲访问磁道,即将最小磁道号紧接着最大磁道号构成循环,欲访问磁道,即将最小磁道号紧接着最大磁道号构成循环,进行循环扫描进行循环扫描64(从(从100# 100# 磁道开始,向磁道开始,向磁道号增加的方向)磁道号增加的方向)被访问的下被访问的下一个磁道号一个磁道号移动距离移动距离(磁道数)(磁道数)150150505016016010101841842424909094945858323255553 33939161638381 118182020平均寻道长
40、度:平均寻道长度:27.827.8SCANSCAN调度算法示例调度算法示例(从(从100# 100# 磁道开始,向磁道开始,向磁道号增加的方向)磁道号增加的方向)被访问的下被访问的下一个磁道号一个磁道号移动距离移动距离(磁道数)(磁道数)15015050501601601010184184242418181661663838202039391 15555161658583 390903232平均寻道长度:平均寻道长度:27.527.5CSCANCSCAN调度算法示例调度算法示例65假设磁盘访问序列:假设磁盘访问序列:98 183 37 122 14 124 65 67读写头起始位置:读写头起始
41、位置:53.求:磁头服务序列和磁头移动总距离。求:磁头服务序列和磁头移动总距离。FCFSSSTFSCANCSCAN66先来先服务(先来先服务(640)67最早寻道时间优先最早寻道时间优先68设备驱动程序设备驱动程序 设备和驱动程序的分类设备和驱动程序的分类 设备开关表设备开关表 设备驱动程序的框架设备驱动程序的框架69设备管理设备管理Linux设备的分类设备的分类 字符设备字符设备 块设备块设备网络设备网络设备 70设备管理设备管理u字符设备字符设备 以字符为单位输入输出数据的设备,并且以字符为单位对以字符为单位输入输出数据的设备,并且以字符为单位对设备中的信息进行组织和处理。显示器、键盘等设
42、备中的信息进行组织和处理。显示器、键盘等u块设备块设备 以一定大小的数据块为单位输入输出数据,并且设备中的以一定大小的数据块为单位输入输出数据,并且设备中的数据也是以物理块为单位进行组织和管理的。硬盘、软盘、数据也是以物理块为单位进行组织和管理的。硬盘、软盘、光盘等。光盘等。71设备管理设备管理u网络设备网络设备 通过网络与外部近程或远程计算机进行通信的设备。通过网络与外部近程或远程计算机进行通信的设备。72设备管理设备管理 设备文件设备文件 Linux设备管理的特点设备管理的特点 物理设备抽像化,把物理设备看成文件,采用文件系统的接口和系统物理设备抽像化,把物理设备看成文件,采用文件系统的接
43、口和系统调用来管理和控制设备。调用来管理和控制设备。u 设备读:从设备向内存输入数据设备读:从设备向内存输入数据u 设备写:数据从内存输出到设备设备写:数据从内存输出到设备Linux设备就是一种特殊文件,称为设备文件设备就是一种特殊文件,称为设备文件73设备管理设备管理 Linux的设备文件一般置于的设备文件一般置于/dev目录下目录下 设备文件名由两个部分组成,第一部分设备文件名由两个部分组成,第一部分23个字符,表示个字符,表示设备的种类;第二部分通常是字母或数字,区分同种设备设备的种类;第二部分通常是字母或数字,区分同种设备中的单个设备中的单个设备74 IDE的设备是以的设备是以hd命名
44、命名,第一个第一个ide设备是设备是hda,第二个是,第二个是hdb. SCSI接口设备是用接口设备是用sd命名命名 Ex:例如例如hda1代表代表hda这个硬盘设备上的第一个分区。每个硬盘可以最多这个硬盘设备上的第一个分区。每个硬盘可以最多有四个主分区,因此有四个主分区,因此1-4命名硬盘的主分区。逻辑分区是从命名硬盘的主分区。逻辑分区是从5开始的,开始的,每多一个分区,数字加每多一个分区,数字加1就可以。就可以。 75 盘符盘符 名称名称 C:Hda1 D:hda5 E:hda6 F:hda776设备管理设备管理 设备文件设备文件 说明说明 /dev/fd0软盘设备软盘设备 /dev/co
45、nsole控制台设备控制台设备/dev/ttys0第一个串口设备第一个串口设备/dev/null“黑洞黑洞”设备设备77设备管理设备管理ls l /dev78设备文件设备文件inode79设备管理设备管理 设备文件与与普通文件的差异设备文件与与普通文件的差异 设备文件没有象普通文件那样的文件实体,不在外存占据数据块来设备文件没有象普通文件那样的文件实体,不在外存占据数据块来存放数据存放数据 进程访问普通文件是读写磁盘分区中的数据,访问设备文件是对硬进程访问普通文件是读写磁盘分区中的数据,访问设备文件是对硬件设备进行读写,完成设备与内存之间的数据传送件设备进行读写,完成设备与内存之间的数据传送8
46、0设备管理设备管理 Linux设备的识别设备的识别 Linux内核对设备的识别是通过内核对设备的识别是通过 设备类型设备类型+设备号设备号(主、次设备号主、次设备号)u 设备类型指字符设备还是块设备设备类型指字符设备还是块设备u 设备号是系统内部识别设备的标识设备号是系统内部识别设备的标识 使用同一个驱动程序的每种设备有一个唯一的主设备号使用同一个驱动程序的每种设备有一个唯一的主设备号 除主设备号外还使用次设备号来区分同种设备中的各个具体设备除主设备号外还使用次设备号来区分同种设备中的各个具体设备81设备管理设备管理 对于设备来说,只要它们使用得驱动程序一样,那么它们对于设备来说,只要它们使用
47、得驱动程序一样,那么它们的主设备号就是一样的,次设备号来区分使用同一个驱动的主设备号就是一样的,次设备号来区分使用同一个驱动程序的个体设备。程序的个体设备。 主次设备号值都是从主次设备号值都是从025582 驱动是什么?驱动是什么? 驱动与系统和应用程序之间有何关系?驱动与系统和应用程序之间有何关系?83引引 例例fd = open(/dev/v4l/video0,O_WRONLY)read(fd,buf,number);问题:问题:/dev/v4l/video0 ?read 从哪读?从哪读?84设备管理设备管理 设备驱动程序与设备注册设备驱动程序与设备注册85设备管理设备管理 设备驱动程序设
48、备驱动程序 控制设备的硬件完成指定的控制设备的硬件完成指定的I/O操作,设备驱动程序直接和硬件设备打操作,设备驱动程序直接和硬件设备打交道。交道。 设备驱动程序包括对设备的各种操作,在操作系统的控制下,设备驱动程序包括对设备的各种操作,在操作系统的控制下,cpu通过执行驱动程序来实现对设备底层硬件设备的处理和操作。通过执行驱动程序来实现对设备底层硬件设备的处理和操作。 Linux设备驱动程序的主要功能是:设备驱动程序的主要功能是:u 对设备进行初始化对设备进行初始化u 启动、停止设备的运行启动、停止设备的运行u 把设备上的数据传到内存把设备上的数据传到内存86设备管理设备管理u把数据从内存传送
49、到设备把数据从内存传送到设备u检测设备状态检测设备状态 驱动程序由内核统一管理,处于内核态驱动程序由内核统一管理,处于内核态87设备管理设备管理 file_operations结构结构 文件操作函数指针的集合,在设备管理中,该结构体各个文件操作函数指针的集合,在设备管理中,该结构体各个成员项指向的操作函数就是设备驱动程序的各个操作例程。成员项指向的操作函数就是设备驱动程序的各个操作例程。 编制设备驱动程序的工作就是使用汇编或编制设备驱动程序的工作就是使用汇编或c语言编写控制语言编写控制设备完成各种操作的例程,然后把这些操作例程的入口地设备完成各种操作的例程,然后把这些操作例程的入口地址赋予址赋
50、予file_operations结构体的有关成员项即可。结构体的有关成员项即可。88 struct file_operations test_fops=read:read_test,write:write_test,open:open_test,release:release_test,ioctl:ioctl_test ;89设备管理设备管理 设备注册设备注册 设备的驱动程序是系统在启动时装载到系统中的。对于设备的驱动程序是系统在启动时装载到系统中的。对于“即装即用即装即用”设备,驱动程序作为程序模块可以随时加载设备,驱动程序作为程序模块可以随时加载到系统中,驱动程序加载到系统中是通过设备注册