收藏 分销(赏)

操作系统原理和应用Linux设备管理.pptx

上传人:a199****6536 文档编号:7582454 上传时间:2025-01-09 格式:PPTX 页数:55 大小:244.32KB 下载积分:14 金币
下载 相关 举报
操作系统原理和应用Linux设备管理.pptx_第1页
第1页 / 共55页
操作系统原理和应用Linux设备管理.pptx_第2页
第2页 / 共55页


点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,*,单击此处编辑母版文本样式,*,单击此处编辑母版文本样式,第6章 设备管理,学习目标,I/O设备是计算机系统一个主要组成部分。伴随计算机技术发展以及计算机应用推广,I/O设备日趋多样化、复杂化和智能化。因为I/O设备种类种类繁多,它们特征和操作方式差异很大,这使得设备管理成为操作系统中最繁杂且与硬件关系最亲密部分。经过本章学习,读者应该掌握以下内容:,数据传输方式,中止技术,缓冲技术,设备分配技术,设备独立性,设备驱动,第六章 设备管理,1,第1页,教学内容,6.1 I/O,系统组成,6.2,数据传输控制方式,6.3,中止技术,6.4,缓冲技术,6.5,设备分配,6.6 SPOOLING,系统,6.7 I/O,控制过程,6.8,磁盘,I/O,6.9 LINUX,系统设备管理,本章小结,第2页,6.1 I/O系统组成,I/O系统是计算机系统中完成数据输入、输出子系统。它包含输入/输出设备、对应于各设备设备控制器,在大、中型计算机中,还配置了I/O通道。,第六章 设备管理,3,第3页,6.1.1 I/O设备,从不一样角度,能够对设备进行不一样分类。,1.按使用特征分类,(1)存放设备,(2)输入/输出设备,2.按传输速率分类,(1)低速设备,(2)中速设备,(3)高速设备,3.按信息传输单位分类,(1)块设备,(2)字符设备,4.按资源分配方式分类,(1)独占设备,(2)共享设备,(3)虚拟设备,第六章 设备管理,4,第4页,6.1.2 设备控制器,设备控制器是CPU和I/O设备之间接口,它接收从CPU发来命令,并去控制I/O设备工作,并向CPU发送中止信号。,1.设备控制器功效,(1)接收并识别来自CPU命令,(2)数据传输,(3)统计设备状态,(4)识别设备地址和存放器地址,(5)差错控制,第六章 设备管理,5,第5页,2.设备控制器组成,第六章 设备管理,6,存放器,数据存放器,CPU与控制器接口,数据线,地址线,控制线,I/O逻辑,控制器,与设备,接口1,控制器,与设备,接口i,数据,状态,控制,数据,状态,控制,控制器与设备接口,控制/状态,存放器,第6页,6.1.3 I/O通道,I/O通道是一个专门负责I/O操作小型处理机,它接收CPU命令,独立地管理I/O操作过程,实现内存和设备之间成批数据传输。通道相当于一个协处理器,类似于以前微机中配置数学协处理器。通道有自己一套简单指令系统,能够组成通道程序,经过独立执行通道程序来完成CPU交付I/O操作。,第六章 设备管理,7,第7页,6.2 数据传输控制方式,6.2.1 程序直接控制方式,由程序直接控制内存与I/O设备之间数据传输,又称为“忙等”方式或循环测试方式。详细而言,即当要在内存和I/O设备之间进行信息传输时,由CPU向对应设备控制器发出命令,由设备控制器控制I/O设备进行实际操作。在I/O设备工作时,CPU执行一段循环测试程序,不停测试I/O设备完成情况“忙等”,以决定是否继续传输下一个数据。若设备未完成此次数据传输,则继续测试,若设备完成了此次数据传输,则进行下一次数据传输或继续执行程序。,第六章 设备管理,8,第8页,6.2.2 中止控制方式,当要在主机和I/O设备之间进行信息传输时,由CPU向对应设备控制器发出命令,由设备控制器控制I/O设备进行实际操作,每次数据传输单位是设备控制器数据缓冲存放器容量。在I/O设备工作时,对应进程放弃处理机,处于等候状态,由操作系统调度其它就绪进程占用CPU。I/O操作完成时,由设备控制器向CPU发出中止信号,通知CPU此次I/O操作完成,然后由CPU 执行一个中止处理程序,对此情况做出对应反应。中止处理过程普通是这么:首先保护现场;然后将等候I/O操作完成进程唤醒,使其进入就绪状态;然后转进程调度。,第六章 设备管理,9,第9页,6.2.3 DMA方式,引入原因:降低中止次数,提升CPU利用率。,降低中止次数,有两种方法:,(1)增大数据缓冲存放器容量。,(2)另外配置一个数据传输控制器件,进行成批数据传输。,DMA方式数据传输单位是数据块,仅在数据块传输结束时才向CPU发出中止信号,从而降低了中止次数。,第六章 设备管理,10,第10页,6.2.4 通道控制方式,为了提升计算机系统运行效率,就要使CPU摆脱繁忙I/O事务,而配置专门处理I/O事务机构通道。通道是一个专门进行I/O操作处理机,它接收主机命令,独立地执行通道程序,对外部设备I/O操作进行控制,在内存和外设之间直接进行数据传送。当主机交付I/O任务完成后,通道向中央处理机发出中止信号,请求CPU处理。,第六章 设备管理,11,第11页,6.3 中止技术,6.3.1 中止概念,所谓中止,是指处理机在执行进程过程中,因为一些事件出现,中止当前进程运行,转而去处理出现事件,待处理完成后返回原来被中止处继续执行或调度其它进程执行。,第六章 设备管理,12,第12页,6.3.2 中止源,引发中止事件称为中止源。计算机中中止源种类有很多,大致可分为:,1.强迫性中止源,(1)硬件故障,如电源故障、主存放器故障,等等。,(2)程序性错误,由执行机器指令引发错误,如除数为零、操作数溢出、非法指令、目态下使用特权指令、地址越界等等。,(3)外部事件,时钟中止、重开启中止等。,(4)I/O中止事件,外设完成I/O操作或I/O操作犯错,如打印完成、打印缺纸等。,2.自愿性中止源,指进程执行访管指令请求OS服务,如请求分配外设、请求I/O等。由访管指令引发中止称为访管中止。,第六章 设备管理,13,第13页,6.3.3 中止响应,中止源向CPU发出请求中止处理信号称为中止请求。当中央处理机发觉有中止请求信号时,中止当前途序执行,并自动进入对应中止处理程序过程称为中止响应。中止响应由硬件中止机构完成。,第六章 设备管理,14,第14页,中止响应过程:,(1)保护被中止进程现场。,为了在以后能从断点处继续执行被中止进程,系统必须保留当前途序状态字PSW和程序计数器PC值。,(2)分析中止原因,转入对应中止处理子程序。,只要将中止处理程序入口地址送入程序计数器,将程序状态字送入程序状态字存放器,便转入了中止处理程序。,第六章 设备管理,15,第15页,6.4 缓冲技术,6.4.1 缓冲引入,引入缓冲技术原因:,(1)降低读块设备次数,(2)降低对CPU中止次数,放宽对中止响应时间限制。,(3)用于无法直接通信设备间中转站,(4)处理程序所请求逻辑统计大小和设备物理统计大小不匹配问题。,(5)加紧进程(作业)推进速度,在需要采取缓冲技术场所,能够采取以下几个不一样缓冲技术:单缓冲、双缓冲、循环缓冲、缓冲池。,第六章 设备管理,16,第16页,6.4.2 单缓冲,在单缓冲方式中,当用户进程发出I/O请求时,操作系统便在内存中为其分配一个缓冲区。其数据输入过程是这么:当一个用户进程要求输入数据时,操作系统控制输入设备将数据送往缓冲区存放,再送往用户进程数据存放区。,第六章 设备管理,17,第17页,6.4.3 双缓冲,为输入或输出操作设置两个缓冲区buffer1和buffer2。当进程要求输入数据时,首先输入设备将数据送往缓冲区buffer1,然后进程从buffer1中取出数据进行处理;在进程从buffer1中取数据同时,输入设备可向缓冲区buffer2中送入数据。当buffer1中数据取完时,进程又可不需等候地从buffer2中提取数据,同时输入设备又可将数据送往buffer1。如此交替使用buffer1和buffer2两个缓冲区。当进程进行输出时操作与输入类似。,第六章 设备管理,18,第18页,6.4.4 循环缓冲,循环缓冲技术是在内存中分配大小相等存放区作为缓冲区,并将这些缓冲区连接起来,每个缓冲区中有一个指向下一个缓冲区指针,最终一个缓冲区指针指向第一个缓冲区,第六章 设备管理,19,第19页,6.4.5 缓冲池,上述缓冲机制是针对某特定I/O进程和计算进程,是专用缓冲结构,而不是针对整个系统公用缓冲结构。当系统较大时,会有很多这么缓冲结构,这不但要消耗大量内存空间,而且其利用率不高。为了提升缓冲区利用率,当前普遍采取公用缓冲池结构,在缓冲池中设置了可供多个并发进程共享缓冲区。,第六章 设备管理,20,第20页,6.5 设备分配,6.5.1 与设备分配相关原因,1.I/O设备固有属性,独占设备:这类设备被分配给一个进程后,就被该进程独占使用,其它任何进程不能使用,直到该进程使用完成(不再使用)主动释放为止。,共享设备:是指能够由多个进程交替使用设备。如磁盘机。,第六章 设备管理,21,第21页,2.I/O设备分配算法,(1)先来先服务算法,在先来先服务算法中,对同一设备,按并发进程中I/O请求发出时间先后,将I/O请求块排队。当设备可用(能够分配)时,则将设备分配给队首元素对应进程,即最先对此设备提出I/O请求进程。,(2)优先级算法,按一定标准设置进程优先级,按进程优先级由高到低次序对各并发进程对同一设备I/O请求块排队。当设备可用(能够分配)时,则将设备分配给队首元素对应进程在对同一设备提出I/O请求并发进程中优先级最高进程。,第六章 设备管理,22,第22页,3.设备分配安全性,对独占设备静态分配不会引发死锁。在对共享设备进行动态分配时,从系统安全性角度看,有两种分配方式。,(1)安全分配方式,(2)不安全分配方式,第六章 设备管理,23,4.设备无关性,设备无关性是指,当在应用程序中使用某类设备时,不直接指定详细使用哪个设备,而只指定使用哪类设备,由操作系统来为进程分配详细一个该类设备。,第23页,6.5.2 虚拟设备技术,用一共享设备高速存放设备(如高速磁盘机)上存放区域模拟独占设备。虚拟设备技术关键是预输入、缓输出。,预输入:在作业执行前,操作系统先将作业信息从独占设备预先输入到高速外存中。今后,作业执行中不再占有独占输入设备,使用数据时无须再从独占设备输入,而是从高速外存中读取。,缓输出:在作业执行过程中,当要进行输出操作时,无须直接开启独占设备输出数据,而能够先将作业输出数据写入高速外存中,在作业执行完成后,再由操作系统来组织信息输出。,第六章 设备管理,24,第24页,6.6 SPOOLING系统,6.6.1 什么是SPOOLING系统,SPOOLING(Simultaneaus Peripheral Operating On Line)含义是外围设备同时联机操作,又称为假脱机操作。它不需要额外配置卫星机,而是将输入输出设备同时连接在主机上。它是对脱机输入输出模拟。用一道输入程序模拟脱机输入时卫星机,经过通道把低速设备上数据传送到高速磁盘上;用另一道程序模拟脱机输出时,卫星机,经过通道把数据从磁盘传送到低速输出设备上。,第六章 设备管理,25,第25页,6.6.2 SPOOLING系统组成,第六章 设备管理,26,输出设备,输入设备,输入缓冲区,输出缓冲区,内 存,磁 盘,输入井,输出井,图6-8 SPOOLING系统,输入进程,输出进程,第26页,6.7 I/O控制过程,当用户进程经过系统调用提出I/O请求时,从系统响应此请求开始,至系统完成用户要求I/O操作,并唤醒对应等候I/O完成进程为止,这整个过程称为I/O控制过程。,I/O控制过程包含以下步骤:,(1)响应I/O请求,为在详细物理设备上进行I/O操作做准备。包含将逻辑设备名转换为物理设备名(设备分配)、I/O请求正当性等。,(2)设备驱动,控制设备完成I/O操作,对每类设备分别设置不一样设备驱动程序。,(3)中止处理,I/O操作完成之后,设备控制器向CPU发送中止信号,CPU响应后转向对应中止处理程序进行善后处理。,第六章 设备管理,27,第27页,6.8 磁盘I/O,6.8.1 磁盘存放格式,磁盘可包含一个或多个圆形盘片,每片有两面。每面首先划分为若干半径不一样同心磁道,然后将每个磁道等分为若干扇区。各磁道即使周长不一样,但存放容量相同,各扇区存放容量也相同,普通每个扇区容量为512字节,内层磁道存放密度比外层磁道高。,磁盘存放空间分配以整数N个扇区为单位,称为簇,在不一样操作系统中,N可有不一样取值。这么一个文件在磁盘上占有整数个簇,一个簇只能分配给一个文件使用。,磁盘I/O以扇区为单位,一次传送一个扇区。,第六章 设备管理,28,第28页,6.8.2 磁盘I/O性能,普通以磁盘存取速度来衡量磁盘I/O性能。对磁盘存取操作包含三个步骤:首先磁头径向运动到指定磁道,然后旋转盘片,将指定要访问扇区旋转到磁头下,使磁头处于扇区开始位置,然后开始读或写数据。所以磁盘访问时间能够分为以下三部分。,(1)寻道时间Ts,这是把磁头移到指定磁道上用时间。,(2)旋转延迟Tr,这是指定扇区旋转到磁头下经历时间。,第六章 设备管理,29,第29页,(3)传输时间Tt,这是指把数据从磁盘读出或向磁盘写入数据所经历时间。由读写字节数和磁盘旋转速度决定。,其中,b为一次读写字节数,r为磁盘每秒转数,N为每条磁道字节数,对磁盘访问时间为三部分时间之和:T=Ts+Tr+Tt。在这三个时间中,寻道时间和旋转延迟与读写字节数无关,寻道时间所占百分比最大。,第六章 设备管理,30,第30页,6.8.3 磁盘调度,1.先来先服务算法,这种调度算法按进程请求访问磁盘时间先后次序进行调度。此算法优点是实现简单,且公平,每个进程磁盘I/O请求都能依次得处处理,不会出现某一进程请求长时间得不到满足情况。缺点是未对寻道进行优化,平均寻道时间较长。,第六章 设备管理,31,第31页,2.最短寻道时间优先算法,该算法选择这么磁盘I/O请求,其要访问磁道与当前磁头所在磁道距离最近,以使每次寻道时间最短。此算法只从当前角度考虑,没有考虑全局,表面看来平均寻道时间应该最短,不过不一定。,第六章 设备管理,32,第32页,3.扫描算法,扫描算法不但考虑到要访问磁道与当前磁道间距离,更优先考虑是磁头当前移动方向。比如,当磁头正在从里向外移动时,扫描算法选择下一个访问对象,是在当前磁头所在磁道之外距离当前磁道最近磁道。这么从里向外地访问,直至再无更外磁道需要访问时,磁头才返回从外向里移动,一样每次也是选择当前磁道之内距离最近磁道,到头后再返回,从里向外移动访问。因为此算法中磁头移动规律很象电梯运行,所以又称为电梯调度算法。,第六章 设备管理,33,第33页,4.循环扫描算法,要求磁头单向移动。比如,只从里向外移动,当磁头移到最外磁道并访问后,磁头马上返回到最里要访问磁道,再从里向外移动。,第六章 设备管理,34,第34页,6.8.4 磁盘高速缓存,当进程从磁盘读取数据时,为了提升读盘速度,能够采取缓冲技术。即在内存中开辟一个缓冲区用于接收从磁盘读取数据,这个缓冲区称为磁盘高速缓存,缓冲区大小与磁盘块相匹配。其工作原理类似于内存和CPU之间高速缓存。,当有一进程请求访问某盘块中数据时,先去查看磁盘高速缓存,看其中是否有进程所需访问盘块数据拷贝。若有,则直接从磁盘高速缓存中提取数据,而无须访问磁盘;若没有,则先将所需盘块读到磁盘高速缓存,然后从中提取数据送往请求进程数据存放区。,第六章 设备管理,35,第35页,6.9 LINUX系统设备管理,6.9.1 LINUX系统设备管理特点,LINUX系统把设备分为两类:,(1)块设备。用于存放信息,它对信息存取是以信息块为单位,如通常使用磁盘、磁带等。,(2)字符设备。通惯用于输入输出,作为人和计算机之间接口,它对信息俄存取是以字符为单位进行,如键盘、鼠标、显示器、打印机等。,LINUX系统把I/O设备看作文件,称为尤其文件。,第六章 设备管理,36,第36页,6.9.2 LINUX设备驱动程序接口,1.文件系统与设备驱动程序接口,第六章 设备管理,37,对字符设备特殊文件系统调用,open close read write,文 件 系 统,open close read write,对块设备文件,系统调用,对普通文件,系统调用,字符设备开关表,块设备开关表,open close read write,字符设备驱动程序,设备中止处理程序,open close,strategy,块设备驱动程序,设备中止处理程序,块设备,字符设备,中止向量表,高速缓冲模块,设备驱动,设备中止,设备中止,设备驱动,图6-9 文件系统与设备驱动程序接口,第37页,2.设备开关表,LINUX系统把块设备和字符设备又分别细分为若干类。如:块设备可分为硬盘、软盘、磁带、光盘等类,字符设备可分为终端设备、打印机等。为指定一类设备,将设备类从0开始次序编号,称为主设备号;同一类设备可能有许多,为了指定一台详细设备,需要一个次设备号来标识。所以,在指定一台详细设备时要给出:块设备/字符设备、主设备号、次设备号。,第六章 设备管理,38,第38页,设备开关表相当于一个二维矩阵,每一行含有同一类设备驱动程序入口地址,主设备号与行号一一对应;每一列是完成不一样操作(open、close、read、write)驱动程序入口地址。,第六章 设备管理,39,第39页,6.9.3 LINUX磁盘高速缓存,1.磁盘高速缓存,对文件系统一切存取操作,都能经过直接从磁盘上读或往磁盘上写来实现,但磁盘I/O速度较慢,所以使系统性能较低。为了降低对磁盘存取频率,LINUX使用了磁盘高速缓存技术。,LINUX磁盘缓冲管理策略是试图把尽可能多有用数据保留在缓冲区中。磁盘缓冲管理模块位于文件系统与块设备驱动程序之间。,第六章 设备管理,40,第40页,当从磁盘中读数据时,文件系统先从磁盘高速缓存中读,假如数据已在高速缓存中,则能够无须开启磁盘I/O,假如数据不在高速缓存中,则开启磁盘I/O,从磁盘读取数据送往高速缓存,进程再从高速缓存中读取数据。,当进程往磁盘上写数据时,先往高速缓存中写,方便随即又读它时,能从高速缓存中读取,而无须开启磁盘读取。LINUX采取了“延迟写”策略,即:假如缓冲区还没有写满,则不急于把缓冲区内容写到磁盘上,而是在缓冲管理数据结构中对该缓冲区设置延迟写标志,当高速缓存中数据延迟到必须往磁盘上写时候才进行写盘操作。,第六章 设备管理,41,第41页,2.磁盘缓冲管理数据结构,LINUX中使用多个内存缓冲区进行磁盘缓冲,为了合理有效地使用这些缓冲区,必须按一定策略进行管理。管理依据是缓冲区相关信息,为了能访问这些信息,必须将其按一定数据结构进行组织。,首先,对每个缓冲区,建立“缓冲首部”来存放该缓冲区相关信息。其内容有:,设备号dev:缓冲区内包含信息所属设备设备号。,块号blkno:该缓冲区对应磁盘物理块号。,状态flag:描述了缓冲区当前状态。包含:,第六章 设备管理,42,第42页,忙标志位BUSY:缓冲区当前是否正忙。,有效位AVE:缓冲区包含数据是否有效。,延迟写位DELWR:是否延迟写。,写标志位WRITE:是否正在把缓冲区内容写到磁盘上。,读标志位READ:是否从磁盘往缓冲区读取信息。,等候位WAIT:是否有一个进程正在等候该缓冲 区。,设备缓冲区队列前向指针b-forw,设备缓冲区队列后向指针b-back,空闲缓冲区队列前向指针av-forw,空闲缓冲区队列后向指针av-back,第六章 设备管理,43,第43页,要对全部缓冲区进行管理,必须将全部缓冲首部组织成一定数据结构,LINUX建立了两个缓冲区队列:空闲缓冲区队列和设备缓冲区队列。,为了对缓冲区进行分配,把全部空闲缓冲区组织成一个队列。此队列中全部缓冲区忙标志位BUSY均为0。该队列是一个双向循环链表。,设备号dev,块号blkno,状态flag,b-forw,b-back,av-forw,av-back,第六章 设备管理,44,第44页,对于每类设备都建立一个设备缓冲区队列,是与该类设备相关全部缓冲区组成队列。此队列中全部缓冲区首部忙标志位BUSY均为1。该队列是一个双向循环链表。,任何缓冲区首部,要么位于空闲缓冲区队列中,要么位于设备缓冲区队列中。,第六章 设备管理,45,第45页,3.LINUX磁盘缓冲区管理算法,LINUX提供磁盘高速缓冲区不属于某进程专用,而是由多进程共享,由操作系统进行统一管理。为了提升使用效率,必须采取适当管理策略。,当某进程要从一个磁盘读取数据时,先检验要读取磁盘块是否包含在某缓冲区中,假如不在,则从空闲缓冲区队列中分配给它一个空闲缓冲区;当某进程要将数据写入磁盘时,先看一下要写磁盘块是否在某缓冲区中,假如不在则为这个磁盘块分配一个空闲缓冲区。被分配空闲缓冲区,从空闲缓冲区队列中退出,进入对应设备设备缓冲区队列,该缓冲区BUSY位置1。,第六章 设备管理,46,第46页,当缓冲区信息读到对应进程内存区后,或进程信息写到缓冲区后,便释放进程使用缓冲区,将flag中BUSY位置0,送入空闲缓冲区队尾,即使置为延迟写缓冲区也送入空闲缓冲区队列。这么能够使有限缓冲区得到充分利用,满足多个并发进程需求。,当一个缓冲区被送往空闲缓冲区队尾时,并不退出设备缓冲区队列,而依然留在原队列中。这么做原因是:此次使用完成送往空闲缓冲区队列缓冲区,其保留信息可能被再次访问。假如将其保留在设备缓冲区队列中,当以后要读取磁盘数据依然保留在此缓冲区中时,能够直接从此缓冲区读,而无须开启磁盘I/O,提升了读盘速度。这正是使用磁盘高速缓存目标。,第六章 设备管理,47,第47页,假如要将一个使用完成送入空闲缓冲区队列缓冲区重新分配给其它设备,则能够将该缓冲区同时从空闲缓冲区队列和原设备缓冲区队列中抽出,送入新设备缓冲区队列。,因为被使用过缓冲区放在空闲缓冲区队列末尾,伴随不停地从空闲缓冲区队列上摘下缓冲区,后面缓冲区会不停向队首移动。假如一个延迟写标志位为1缓冲区移到空闲缓冲区队列头部,当其被重新分配之前,要先把其内容写到对应设备指定磁盘块中。,第六章 设备管理,48,第48页,6.9.4 LINUX字符设备缓冲区管理,1.字符缓冲区及其队列,LINUX中为字符设备数据传输设置了一个公用字符缓冲池,该缓冲池内含有若干个缓冲区,但每个缓冲区很小,只含几个或几十个字节。为合理使用这些缓冲区,将其组织成为一定数据结构。同块设备缓冲区管理类似,建立了空闲字符缓冲区队列和设备字符缓冲区队列。每个字符缓冲区由四部分组成:该缓冲区第一个字符位置、最终一个字符位置、指向下一个字符缓冲区指针、字符缓存区。,第六章 设备管理,49,第49页,第六章 设备管理,50,首字符位置,末字符位置,指向下一字符缓冲区,字符缓存区,字符缓冲区,第50页,对字符缓冲区操作是每次送入一个字符或取出一个字符。送入字符在字符缓存区尾部进行,即放在最终一个字符后面;取出字符从字符缓存区首部进行,即取第一个字符。最终一个字符位置不一定是字符缓存区末尾,伴随不停往字符缓存区中放入字符,最终一个字符位置会向后推移,直至字符缓存区末尾;第一个字符位置不一定是字符缓存区开始位置,伴随不停地从缓冲区中取出字符,第一个字符位置不停后移直至字符缓存区末尾。,第六章 设备管理,51,第51页,2.空闲字符缓冲区分配和回收,在一进程用字符设备进行I/O操作时,文件系统为该字符设备分配一个空闲缓冲区。分配时要检测空闲缓冲区队列,当队列非空时,从队首取下一个空闲缓冲区分配给该字符设备,送入该字符设备字符缓冲区队列,并把指向该缓冲区指针返回给调用进程;当队列空时,表明已经没有缓冲区可分配,则请求I/O操作进程被阻塞。,当字符缓冲区中数据被提取完后,便释放该缓冲区,将该缓冲区送入空闲字符缓冲区队列首部。(空闲字符缓冲区队列其实是一个栈。)若此时有因申请空缓冲区而阻塞进程,则将其唤醒。,第六章 设备管理,52,第52页,本章小结,本章讲述了I/O系统组成、数据传输控制方式、中止技术、缓冲技术、设备分配技术、SPOOLING系统、I/O控制过程、LINUX系统设备管理。,I/O设备与主机(CPU、内存)之间通信不是直接,而经过设备控制器,设备控制器是I/O设备和主机之间接口。在大型计算机系统中,为了使I/O操作和计算充分并行,设置了专门负责I/O操作控制通道。,I/O设备和进程之间数据传送控制方式通常有4种:程序直接控制方式、中止控制方式、DMA方式和通道控制方式。,第六章 设备管理,53,第53页,中止技术是计算机系统中普遍采取一个关键技术,引入这一技术主要原因是使CPU和设备并行工作。,缓冲技术有各种用途。缓冲设置方式有硬缓冲和软缓冲,缓冲技术分为针对某进程/作业专用缓冲机制和针对整个系统公用缓冲机制。专用缓冲机制有:单缓冲、双缓冲、循环缓冲,公用缓冲机制有公用缓冲池。,设备分配与很多原因相关。本章就设备三种类型:独享设备、共享设备及虚拟设备介绍了独享分配、共享分配和虚拟分配技术。SPOOLING技术通惯用于多道批处理系统,采取了通道技术、中止技术、多道程序设计技术、虚拟设备技术,使外围设备和主机充分并行操作,大大提升了主机和设备利用率。,第六章 设备管理,54,第54页,I/O控制过程从用户进程提出I/O请求开始,包含三个步骤:响应用户进程I/O请求做准备工作、设备驱动、设备中止处理。其中关键步骤是设备驱动,设备驱动程序是驱动物理设备和DMA控制器或I/O控制器进行I/O操作子程序集合,直接与硬件打交道。设备驱动程序与设备中止处理程序配合工作,完成用户进程交付整个I/O操作。,LINUX系统设备管理特点是把设备分为块设备和字符设备,将设备作为特殊文件,用户能够像使用普通一样使用设备文件。,第六章 设备管理,55,第55页,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服