Linux设备管理.ppt
《Linux设备管理.ppt》由会员分享,可在线阅读,更多相关《Linux设备管理.ppt(40页珍藏版)》请在三一办公上搜索。
1、第4讲 Linux设备管理,设备管理的目标,计算机的设备进行管理有两大目标:一是提高设备的利用率;二是方便用户使用。,课程内容:,Linux设备管理分类Linux设备驱动程序的接口Linux磁盘高速缓存管理Linux的字符设备缓冲区管理Linux的设备驱动Linux系统I/O软件层次结构,一、Linux中设备的分类与表示,(1)字符设备 如键盘、鼠标、显示器、打印机等。通常用于输入输出,作为人和计算机之间的接口,信息的存取以字符为单位进行。(2)块设备 如磁盘、磁带等,用于存储信息,它对信息的存取控制是以信息块为单位的。,特别文件,每个设备都有自己的设备名,用户通过设备名来访问具体物理设备,设
2、备名存放在/dev目录下。硬盘:/dev/hda,/dev/sda 软盘:/dev/fd0 光盘:/dev/cdrom 鼠标:/dev/psaux(ps/2)/dev/input/mice(USB)打印机:/dev/lp 控制台:/dev/console网卡:/dev/eth0但是像块设备磁盘、磁带上的普通文件和目录不是特殊文件。,二、Linux设备驱动程序的接口,1、文件系统与设备驱动程序的接口,Linux系统中,用户程序通过文件操作方式如打开、关闭、读写等来使用设备,由文件系统转入设备驱动程序。在Linux中系统提供块设备开关表和字符设备开关表作为核心与设备驱动程序之间的接口。每一种设备类
3、型在表中占用一个表目,包含若干数据项,其中有一项为该类设备驱动程序入口地址,在系统调用时引导核心转向适当的驱动程序接口。,块设备开关表,字符设备开关表,2、文件的系统调用过程,对设备特殊文件的系统调用,根据文件类型转入块设备开关表或字符开关表进行打开、关闭块设备或字符设备的操作。字符设备特殊文件的系统调用Read、Write转向字符开关表中指示的设备驱动程序,而对普通文件或目录文件的Read、Write系统调用则通过高速缓冲模块转向设备驱动模块中的策略(Strategy)过程。,字符设备开关表,块设备开关表,字符设备,块设备,中断向量表,三、Linux磁盘高速缓存管理,1、磁盘高速缓存策略,L
4、inux磁盘缓冲管理策略试图把尽可能多的有用数据保存在缓冲区中。从磁盘中读数据时,文件系统先从磁盘高速缓存中读,如果数据已在高速缓存中,则不必启动磁盘I/O,直接在高速缓存中读取;如果数据不在高速缓存中,则启动磁盘时I/O,从磁盘读取数据送往高速缓存,进程再从高速缓存中读取数据。Linux采取了“延迟写”策略。,2、磁盘缓冲区管理的数据结构,Linux使用多个内存缓冲区进行磁盘缓冲,为了合理有效地使用这些缓冲区,设置了一定的数据结构按照一定策略进行管理。管理的依据是缓冲区的相关信息,为了能访问这些信息,必须将其按一定的数据结构进行组织。每一个缓冲区建立“缓冲首部”来存放该缓冲区的相关信息,缓冲
5、首部,忙标志位BUSY:缓冲区当前是否忙 有效位AVE:缓冲区包含的数据是否有效 延迟写位DELWR:是否延迟写 写标志位WRITE:是否正在把缓冲区的内容写到磁盘上 读表示位READ:是否从磁盘往缓冲读取信息 等待位WAIT:是否有一个进程正在等待该缓冲区,空闲缓冲区队列(BUSY=0),设备缓冲区队列(BUSY=1),3、Linux磁盘缓冲区管理算法,高速缓冲区的分配,当某进程要从一个磁盘读取数据时,先检查要读取的磁盘块是否包含在某个缓冲区中,如果不在,则从空闲缓冲区队列中分配给它一个空闲缓冲区;当某进程要将数据写入磁盘时,先看一下要写的磁盘块是否在某个缓冲区,如果不在则为这个磁盘块分配一
6、个空闲缓冲区。被分配的空闲缓冲区从空闲缓冲区队列中退出,进入相应设备的设备缓冲区队列,该缓冲区的BUSY位置1。,当缓冲区的信息读到相应进程的内存后,便释放进程使用的缓冲区,将Flag中的BUSY位置0,送入空闲缓冲区队尾;同时也将置为延迟写的缓冲区也送入空闲缓冲区队列。这样可以使有效的缓冲区得到充分利用,满足多个并发进程的需要。,当一个缓冲区被送往空闲缓冲区队尾时,并不退出设备缓冲区队列,而仍然留在原队列中。这样做的原因是,此次使用完毕送往空闲缓冲区队列的缓冲区,其保留的信息可能被再次访问。如果将其保留在设备缓冲区队列中,当后来要读取的磁盘数据块仍然保留在此缓冲时,可以直接从此缓冲区读,而不
7、必启动磁盘I/O,提高了读盘速度,这正是使用磁盘高速缓存的目的。,“延迟写”缓冲区的处理,如果要将一个使用完毕送入空闲缓冲区队列的缓冲区分配给其他设备,则可以将该缓冲同时从空闲缓冲区队列和原设备缓冲区队列中抽出,送入新的设备缓冲区队列。因为被使用过的缓冲区在空闲缓冲区队列的末尾,随着不断地空闲缓冲区队列上摘下缓冲区,后面的缓冲区会不断向队首移动,如果一个延迟写标志位为1的缓冲区移到空闲缓冲区队列的头部,当其被重新分配之前,要先把其内容写到相应设备的指定的磁盘块中。,四、Linux字符设备缓冲区管理,(1)字符缓冲区及其队列,Linux中为字符设备的数据传输设置了一个公用的字符缓冲池,该缓冲池内
8、含有若干个缓冲区,但每个缓冲区很小,只含几个或十几个字节。为合理使用这些缓冲区,将其组织成一定的数据结构。同块设备缓冲区的管理类似,建立空闲字符缓冲区队列和设备字符缓冲区队列。,字符缓存区数据结构,(2)空闲字符缓冲区的分配和回收,在一进程用字符设备进行I/O操作时,文件系统为该字符设备分配一个空闲缓冲区。分配时要检测空闲缓冲区队列,当队列非空时,从队首取下一个空闲缓冲区分配该字符设备,送入该字符设备的字符缓冲区队列,并把指向该缓冲区的指针返回给调用进程;当队列为空时,表明已经没有缓冲区可分配,则请求I/O操作的进程被阻塞。当字符缓冲区中的数据被提取完后,便释放该缓冲区,将该缓冲区送入空闲字符
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 设备管理

链接地址:https://www.31ppt.com/p-5438152.html