基本设备管理_lecture7.ppt

上传人:s****8 文档编号:67204350 上传时间:2022-12-24 格式:PPT 页数:68 大小:3.55MB
返回 下载 相关 举报
基本设备管理_lecture7.ppt_第1页
第1页 / 共68页
基本设备管理_lecture7.ppt_第2页
第2页 / 共68页
点击查看更多>>
资源描述

《基本设备管理_lecture7.ppt》由会员分享,可在线阅读,更多相关《基本设备管理_lecture7.ppt(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、操作系统设备管理 张其亮1outline设备分类设备分类缓冲区缓冲区磁盘管理磁盘管理设备驱动设备驱动2device kinds低速设备(几个字节-数百个字节/秒)键盘、鼠标等中速设备(数千个字节-数万个字节/秒)打印机等高速设备磁盘、光盘机等按传输速率分按传输速率分3存储设备输入/输出设备4*块设备(数据的存取以数据块为单位)磁盘块设备在输入输出时常采用DMA方式*字符设备(数据的存取以字符为单位)键盘打印机等字符设备在输入输出时常采用中断方式5独占设备临界资源共享设备磁盘虚拟设备将一台设备变换为若干台逻辑设备虚拟光驱、虚拟网卡6设备控制器1.设备控制器是计算机中的一个实体.其主要职责是控制一

2、个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。2.它是CPU与I/O设备之间的接口,它接收从CPU发来的命令,并去控制I/O设备工作,以使cpu从繁杂的设备控制事务中解脱出来。3.设备与设备控制器之间的连接:数据信号线:传送数据信号(中间缓冲区)状态信号线;传送设备当前状态控制信号线:规定了设备将要执的动作。设备控制器功能控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。功能:接收和识别命令-cpu可向设备控制器发送多种指令,设备控制器能识别接收这些指令,如:磁盘读写等。数据交换-实现cpu与控制器之间、控制器与设备之间的数据交换。标识和报告设备状态记下设备状态供

3、cpu了解。例如:只有当设备处于发送就绪状态时,cpu才能启动控制器从设备中读取数据。地址识别每个设备都有一个地址,控制器能够识别它所控制的每个设备的地址。数据缓冲I/o设备的低速与cpu高速之间的缓冲8设备控制器的组成 I/O逻辑:实现对设备的控制,逻辑:实现对设备的控制,CPU启动设备过程:发送控制命令和地址给控制器,启动设备过程:发送控制命令和地址给控制器,IO逻辑接收命令并译码逻辑接收命令并译码9 I/O控制方式控制方式 CPU首首先先向向设设备备控控制制器器的的控控制制寄寄存存器器发发出出一一条条I/O指指令令启启动动I/O设设备备进进行行数数据据传传输输,硬硬件件同同时时把把状状态

4、态寄寄存存器器中中的的忙忙/闲闲标标志志busy置置为为1,表表示示该该I/O设设备备尚尚未未输输入入完完一一个个字字(符符)。接接着着CPU应应重重复复读读取取状状态态寄寄存存器器忙忙/闲闲标标志志busy进进行行测测试试(cpu不不能能执执行行其其他他进进程程),直直至至busy=0,表表示示该该I/O设设备备已已将将输输入入数数据据送送入入到到I/O控控制制器器的的数数据据寄寄存存器器中中,于于是是CPU将将从从数数据据寄寄存存器器中中取取出出数数据据,送送入入内内存存的的指指定定单单元元,接接着着,再再启启动动去去读读下一个数据,并置下一个数据,并置busy=l。1.程序程序I/O方式

5、方式-忙则等待方式忙则等待方式,处理机对I/O设备直接进行控制10缺点:缺点:在程序在程序I/O方式中,由于方式中,由于CPU的速度远远高于的速度远远高于I/O设备,导致设备,导致CPU的绝大部分时间都处于等待的绝大部分时间都处于等待I/O设备完成设备完成而循环测试之中,造成了而循环测试之中,造成了CPU的极大浪费。但是它管理简的极大浪费。但是它管理简单,在要求不高的场合可以被采用。单,在要求不高的场合可以被采用。112.中断驱动中断驱动I/O控制方式控制方式 即当某进程要启动某个即当某进程要启动某个I/O设备时,便由设备时,便由CPU向相应的设备控制向相应的设备控制器的控制寄存器发出一条器的

6、控制寄存器发出一条I/O命令,然后立即返回继续执行原来的任命令,然后立即返回继续执行原来的任务。设备控制器便按照该命令的要求去控制务。设备控制器便按照该命令的要求去控制I/O设备。若设备。若I/O设备忙,设备忙,则由驱动程序将请求插入设备等待队列。此时,则由驱动程序将请求插入设备等待队列。此时,CPU与与I/O设备处设备处于并行工作状态。于并行工作状态。例如,在输入时,当设备控制器收到例如,在输入时,当设备控制器收到 CPU发来的读命令后,便发来的读命令后,便准备接收从相应输入设备送来的数据。一旦数据进入数据寄存器,准备接收从相应输入设备送来的数据。一旦数据进入数据寄存器,控制器便通过中断请求

7、线控制器便通过中断请求线INT向向CPU发送一中断信号,中断子程序发送一中断信号,中断子程序由由CPU读取状态寄存器忙读取状态寄存器忙/闲标志闲标志busy进行测试检查输入过程中是否进行测试检查输入过程中是否出错,若无错,便从数据寄存器中读出数据,写入指定内存单元。出错,若无错,便从数据寄存器中读出数据,写入指定内存单元。12优点:优点:中断驱动方式在中断驱动方式在I/O设备输入数据的过程中,无设备输入数据的过程中,无需需 CPU干预,可以使干预,可以使CPU与与I/O设备并行工作。仅当设备并行工作。仅当输完一个数据时,才需输完一个数据时,才需 CPU花费极短的时间去进行中花费极短的时间去进行

8、中断处理。从而大大地提高了整个系统的资源利用率及断处理。从而大大地提高了整个系统的资源利用率及吞吐量,特别是吞吐量,特别是CPU的利用率。的利用率。133.DMA控制方式方式 中断驱动I/O方式虽然大大提高了主机的利用率,但是它以字(节)为单位进行数据传送,每完成一个字(节)的传送,控制器便要向CPU请求一次中断(做保存现场信息,恢复现场等工作),仍然占用了CPU的许多时间。这种方式对于高速的块设备的I/O控制显然是不适合。为了进一步减少CPU对I/O的干预,引入了直接存储器访问DMA(DirectMemoryAccess)控制方式。DMA是一种不经过CPU而直接从内存了存取数据的数据交换模式

9、。14优点优点:数据传输的基本单位是数据传输的基本单位是数据块数据块;所传送的数据是从设备所传送的数据是从设备直接送入内存直接送入内存的,或者相反;的,或者相反;仅在传送一个或多个仅在传送一个或多个数据块数据块的开始和结束时,才需的开始和结束时,才需CPU干预,干预,整块数据的传送是在整块数据的传送是在控制器控制器的控制下完成的。的控制下完成的。可见,可见,DMA方式成百倍地减少了方式成百倍地减少了CPU对对I/O的干预。的干预。154.通道方式方式 DMA方式比中断驱动方式已显著地减少了CPU的干预,即由以字(节)为单位的干预减少到以数据块为单位的干预。但是CPU每发出一条I/O指令,也只能

10、去读(或写)一个连续的数据块。而当我们需要一次去读多个离散的数据块且将它们分别传送到不同的内存区域,或者相反时,则需由CPU分别发出多条I/O指令及进行多次中断处理,才能完成。I/O通道是一种特殊的处理机。它具有执行I/O指令的能力,并通过执行通道(I/O)程序来控制I/O操作。条大型机通道(channel)某种程度上类似于PCI总线(bus),它能将一个或多个控制器连接起来,而这些控制器又控制着一个或更多的设备。16例如例如:当CPU要完成一组相关的读(或写)操作及有关控制时,只需向I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访问的I/O设备,通道接到该指令后,通过执行

11、通道程序便可完成CPU指定的I/O任务。171.字节多路通道字节多路通道通道类型通道类型在这种通道中,通常都含有较多个(8,16,32)非分配型子通道(一个通道连接多个逻辑设备),每一个子通道连接一台I/O设备。这些子通道按时间片轮转方式共享主通道。一个子通道完成一个字节的传送后,立即让出字节多路通道(主通道),给另一个子通道使用。它适用于连接低速或中速设备,如打印机、终端等。182.数组选择通道数组选择通道通道类型通道类型这种通道虽然可以连接多台I/O设备,但是它只有一个分配型通道(连接多个物理设备,但是只能使用一个逻辑设备),在一段时间内只能执行一道通道程序、控制一台设备进行数据传送,其数

12、据传送是按数组块方式进行。选择通道很像一个单道程序的处理器,在一段时间内只允许执行一个设备的通道程序。即当某台设备一旦占用了该通道,就被它独占,直至该设备传送完毕释放该通道为止。可见,它适于连接高速设备(如磁盘机、磁带机),但是这种通道的利用率较低。193.数组多路通道数组多路通道通道类型通道类型数组选择通道虽然有很高的传输速率,但它每次只允许一个设备传输数据。数组多路通道是将数组选择通道的传输速率高和字节多路通道的分时并行操作的优点结合起来,形成的一种新的通道。当某设备进行数据传送时,通道只为该设备服务;当设备在执行寻址等控制性动作时,通道暂时断开与这个设备的连接,挂起该设备的通道程序,去为

13、其他设备服务,即执行其他设备的通道程序。它含有多个非分配型子通道,可以连接多台高、中速的外围设备,其数据传送却是按数组方式进行。所以这种通道既具有很高的数据传输速率,又能获得令人满意的通道利用率。20Device字符设备块设备网络设备Linux设备的分类21Deviceu字符设备以字符为单位输入输出数据的设备,并且以字符为单位对设备中的信息进行组织和处理。显示器、键盘等u块设备以一定大小的数据块为单位输入输出数据,并且设备中的数据也是以物理块为单位进行组织和管理的。硬盘、软盘、光盘等。22Deviceu网络设备通过网络与外部近程或远程计算机进行通信的设备。23Device物理设备抽像化,把物理

14、设备看成文件,采用文件系统的接口和系统调用来管理和控制设备。u设备读:从设备向内存输入数据u设备写:数据从内存输出到设备设备文件Linux设备就是一种特殊文件,称为设备文件linux设备管理的特点24DeviceLinux的设备文件一般置于/dev目录下设备文件名由两个部分组成,第一部分23个字符,表示设备的种类;第二部分通常是字母或数字,区分同种设备中的单个设备设备文件设备文件说明说明/dev/fd0软盘设备软盘设备/dev/console控制台设备控制台设备/dev/ttys0第一个串口设备第一个串口设备/dev/null“黑洞黑洞”设备设备25Devicelsl/dev26Device设

15、备类型+设备号(主、次设备号)u设备类型指字符设备还是块设备u设备号是系统内部识别设备的标识Linux设备的识别使用同一个驱动程序的每种设备有一个唯一的主设备号次设备号来区分同种设备中的各个具体设备主次设备号值都是从025527 driver 驱动起什么作用驱动起什么作用?驱动程序与应用驱动程序与应用程序有什么关系程序有什么关系?28driver29driver设备驱动程序设备驱动程序包括对设备的各种操作,在操作系统的控制下,cpu通过执行驱动程序来实现对设备底层硬件设备的处理和操作。Linux设备驱动程序的主要功能是:u对设备进行初始化u启动、停止设备的运行u把设备上的数据传到内存u把数据从

16、内存传送到设备u检测设备状态驱动程序由内核统一管理,处于内核态30driver文件操作函数指针的集合,在设备管理中,该结构体各个成员项指向的操作函数就是设备驱动程序的各个操作例程。file_operations结构31driver设备的驱动程序是系统在启动时装载到系统中的。对于“即装即用”设备,驱动程序作为程序模块可以随时加载到系统中,驱动程序加载到系统中是通过设备注册实现的。设备注册字符设备注册表块设备注册表32driver字符设备注册表:staticstructdevice_structchrdevsMAX_CHRDEV;structdevice_structconstchar*name;

17、structfile_operations*fops;33driver设备注册的过程实际上是构建结构体device_struct的过程:向设备注册表写入设备名,以及file_operations结构设备注册系统调用intregister_chrdev(unsignedintmajor,constchar*name,structfile_operations*fops)34driverif(major=0)write_lock(&chrdevs_lock);for(major=MAX_CHRDEV-1;major0;major-)if(chrdevsmajor.fops=NULL)chrdevs

18、major.name=name;chrdevsmajor.fops=fops;write_unlock(&chrdevs_lock);returnmajor;write_unlock(&chrdevs_lock);return-EBUSY;35driver若major=0,由系统自动分配一个主设备号给驱动程序若major!=0,major即为主设备号,但主设备号不能与系统中其它主设备号冲突。使用注册函数可以变更设备名或驱动程序chrdevsmajor.name=name;chrdevsmajor.fops=fops;36driver当设备需要撤销时,可以使用注销函数从设备注册表中删除。设备注销

19、系统调用intunregister_chrdev(unsignedintmajor,constchar*name)37driverif(!chrdevsmajor.fops|strcmp(chrdevsmajor.name,name)return-EINVAL;chrdevsmajor.name=NULL;chrdevsmajor.fops=NULL;38driver驱动入口:module_init(function)驱动出口:module_exit(function)完成注册完成注册完成注销完成注销39drivertry_module_get(structmodule*module)copy

20、_from_user(void*to,constvoid*from,unsignedlongn)copy_to_user(void_user*to,constvoid*from,unsignedlongn)数据从内核到用户数据从内核到用户数据从用户到内核数据从用户到内核模块引用计数模块引用计数+1+1模块引用计数模块引用计数-1-140driver创建设备节点:创建设备节点:mknod/dev/testc2530加载设备:加载设备:insmodtest.ko卸载设备:卸载设备:rmmod rmmod test查看加载设备:查看加载设备:lsmod lsmod 41假脱机技术设备独立性42引入逻

21、辑设备和物理设备两个概念。在应用程序中使用逻辑设备名来请求使用某类设备,而系统在实际执行时,还需物理设备名。设备独立性43优点:例如:系统拥有A、B两台卡片输入机,现有作业J2申请一台卡片输入机,如果它指定使用A,那么作业J1已经占用A或者设备A坏了,虽然系统还有同类设备B是好的且未被占用,但也不能接受作业J2,显然这样做很不合理。为了解决这一问题,通常用户不指定特定的设备,而指定逻辑设备,使得用户作业和物理设备独立开来,再通过其它途径建立逻辑设备和物理设备之间的对应关系,我们称这种特性为“设备独立性”。设备管理的功能之一就是把逻辑设备名转换成物理设备名。44又称SPOOLING技术假脱机技术

22、输入进程输出进程输入缓冲区输出缓冲区输入井输出井内存磁盘输入设备输出设备45输入井、输出井:用于暂存I/O设备输入的数据和用户输出的数据。输入缓冲区、输出缓冲区:暂存由输入设备送来的数据,以后传送到输入井;暂存由输出井送来的数据,以后传送给输出设备。输入进程、输出进程:将用户要求的数据从输入机通过输入缓冲区再送到输入井,当cpu需要输入数据时,直接从输入井中读入内存;输出进程当用户要求输出数据时,先从内存送到输出井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备上。46SPOOLing技术如何使一台打印机虚拟成多台打印机?打印机属于独享设备。用SPOOLing技术转换为虚拟成多

23、台打印机。当用户进程请求打印时,SPOOLing系统同意为它打印输出,但并不真正立即把打印机分配给该进程,而是作如下事情:(1)由输出进程在输出井中申请一块空闲磁盘块,并将打印数据送入其中(2)输出进程再为用户进程申请一张空白的用户请求打印表,并将用户打印要求填入其中,将该表挂到请求打印队列(3)若打印机空闲,输出进程将从请求打印队列的队首取出一张打印请求表,根据要求打印数据,从输出井传送到内存缓冲区,再由打印机进行打印。47disk几乎所有计算机都使用磁盘来存储信息。从存储角度,与内存比较起来,磁盘有三个主要的优点:(1)可用的存储容量非常大(2)每位的价格非常低(3)电源关掉后信息不会丢失

24、磁盘存储器管理48disk实际的硬盘都组织成多个盘片,每片分两面,每面分成若干条磁道,磁道间有间隙磁道又被分成许多扇区,每条磁道上扇区数目典型为10至100,每个扇区包含相同的字节数,相当于一个盘块磁盘存储器组成49disk50disk51disk 寻道时间Ts:是指把磁头移动到指定磁道上所经历底时间,是启动磁臂的时间S与磁头移动N条磁道所花费的时间之和 旋转延迟时间T:是指指定扇区移动到磁头下面所经历的时间,平均T为50100ms 传输时间Tt:是指向磁盘写入数据所经历的时间,与每次读/写的字节数b和旋转速度有关磁盘访问时间52 Disk scheduling磁盘调度的目标是使磁盘的平均寻道

25、时间最少,以使进程对磁盘的平均访问时间最小,目前常使用的有先来先服务,最短寻道时间优先及扫描算法等磁盘调度53 FCFS一种最简单的磁盘调度算法。它根据进程请求访问磁盘的先后次序进行调度。FCFSDiskHead612345Requestqueue:2,1,3,6,2,5Schedulingorder:2,1,3,6,2,5 example55SSTF该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道,距离最短,以使每次的寻道时间最短,但这种调度算法却不能保证平均寻道时间最短会可能导致某个进程发生“饥饿”的现象,因为只要有新进程的请求到达,其所要访问的磁道与当前所在磁道的距离较近,其I

26、/O请求必优先满足最短寻道时间优先算法56example57 SCAN为了避免“饥饿”现象,对SSTF算法略加修改形成扫描算法,该算法不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。这种算法中磁头移动的规律颇似电梯的运行,又称电梯调度算法。磁臂由磁盘的一端开始,移动到磁盘的另一端,在移动过程中,为访问请求服务。然后调转方向,从此端移动到另一端。扫描算法58example59 CSCAN为了减少SCAN算法造成的某些进程的请求被严重推迟,CSCAN算法规定磁头单向移动。当磁头移到最外的磁道并访问后,磁头立即返回到最里的欲访问磁道,即将最小磁道号紧接着最大磁道号构成循环,

27、进行循环扫描循环扫描算法60example61example假设磁盘访问序列:9818337122141246567读写头起始位置:53,上一磁头读写位置64.求:磁头服务序列和磁头移动总距离。FCFSSSTFSCANCSCAN62 End 63Practice1.CPU输出数据的速度远远高于打印机的打印速度,为了解决这一矛盾,可采用()A.并行技术B.通道技术C.缓冲技术D.虚存技术2.磁盘高速缓存指的是()ACPU与内存间增设的高速缓存B内存中的一块空间C磁盘上的一个物理块D以上都有可能3.以下()磁盘调度算法可能导致某些进程发生“饥饿”现象。AFCFSBSSTFCSCANDCSCAN4.

28、在磁盘上确定物理块所在位置必须给出的参数依次是()。A盘面号、磁道号、扇区号B柱面号、磁道号、扇区号C磁道号、柱面号、盘面号D扇区号、磁道号、柱面号64Practice5.下列属于独占设备的是()A磁盘B打印机C假脱机D硬盘6.采用SPOOLing技术的目的是()。A.提高独占设备的利用率B.提高主机效率C.减轻用户编程负担D.提高程序的运行速度7.在操作系统中,用户在使用I/O设备时,通常采用()。A.物理设备名B.逻辑设备名C.虚拟设备名D.设备牌号8.操作系统中采用缓冲技术的目的是为了增强系统()的能力。A.串行操作B.控制操作C.重执操作D.并行操作9.操作系统采用缓冲技术,能够减少对

29、CPU的()次数,从而提高资源的利用率。A.中断B.访问C.控制D.依赖6510.用命令ls-al显示出文件ff的描述如下所示,由此可知文件ff的类型为()。-rwxr-xr-1rootroot599Cec1017:12ffA普通文件B硬链接C目录D符号链接11.按_分类可将设备分为块设备和字符设备。A.从属关系B.操作特性C.共享属性D.信息交换单位12.Linux系统中,内核以()区分设备A设备节点名B设备节点号C设备名称D设备号13.Linux系统中设备节点可以创建在()A、/dev目录下B、根目录下C、/tmp目录下D、以上都可以6614.Linux驱动程序运行在()A、内核空间B、用

30、户空间C、用户空间和内核空间15.简述命令mknod/dev/zeroc15的做用和命令各个部分的含义16.Linux系统中以模块方式组织设备驱动程序,请列举在一个模块程序中必不可少的组成部分。17.copy_to_user()和copy_from_user()主要用于实现什么功能?一般用于file_operations结构的哪些函数里面?6718.假设移动头磁盘有200个磁道(从0号到199号)。目前正在处理143号磁道上的请求,而刚刚处理结束的请求是125号,如果下面给出的顺序是按FIFO排成的等待服务队列顺序:86,147,91,177,94,150,102,175,130。那么,用下列各种磁盘调度算法来满足这些请求所需的总磁头移动量是多少?(1)FCFS;(2)SSTF;(3)SCAN;(4)C-SCAN?68

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁