CH5 LINUX设备管理与文件系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Chapter5设备管理与文件系统LINUX技术与应用2本章要点:设备的基本概念设备控制方式Linux设备管理Linux文件系统LINUX技术与应用35、1设备的基本概念在计算机系统中,除了CPU和内存之外,其余的硬件设备称为外部设备。外部设备包括常用的I/O(输入/输出)设备、外存设备以及终端设备等。现代计算机系统都配有种类繁多的I/O设备,I/O设备在整个计算机系统中占有相当大的比重。操作系统中设备管理的主要对象是I/O设备。LINUX技术与应用41、I/O设备的类型按所属关系可分为:系统设备:系统生成时已登记于系统中的标准设备,如键盘、鼠标、显示器等。用户设备:系统生成时未登记于系统中的非标准设备,如光盘、U盘、打印机、扫描仪、监控器等。按信息交换单位可分为:字符设备:以字符为单位进行输入输出,如键盘、打印机、显示器。也称为低速字符设备,字符的传输包括逐位(串行)传输和逐字节(并行)传输。块设备:以数据块为单位进行输入输出,数据块大小一般为8-1024B。如光盘、硬盘、软盘、U盘。可以用ls命令查看:ls–l/dev/hdc按共享属性可分为:独占设备:一段时间内只允许一个进程访问,又称临界资源,如打印机。所有的字符设备都是独占设备。多个并发进程必须互斥访问该类设备。共享设备:一段时间内允许多个进程访问,而在某一时刻,只允许一个京城访问,其他进程需要等待。必须是可寻址的、可随机访问的,如磁盘。虚拟设备:通过虚拟技术把一台独占设备变为一台共享设备,即把一台物理设备变成若干逻辑设备,供若干用户同时使用。LINUX技术与应用52、设备管理的任务和功能主要任务选择和分配I/O设备以便进行数据传输操作。控制I/O设备和CPU(或内存)之间交换数据。为用户提供一个友好、统一的透明接口,把用户和设备硬件特性分开,使得用户在编制应用程序时不必涉及具体设备,由系统按用户的要求来对设备的工作进行控制。提高设备和设备之间、CPU和设备之间,以及进程和进程之间的并行操作程度,以使操作系统获得最佳效率。主要功能提供和进程管理系统的接口进行设备分配实现设备和设备、设备和CPU等之间的并行操作进行缓冲管理设备控制与驱动LINUX技术与应用63、设备控制器设备控制器是CPU与I/O设备之间的接口,它接收从CPU发来的命令并去控制I/O设备工作。设备控制器通常由以下三部分组成:CPU与设备控制器的接口设备控制器与设备的接口I/O逻辑LINUX技术与应用73、设备控制器(续)I/O逻辑:根据CPU发来的地址信号去选择一个设备接口,从而实现对该设备的控制。数据寄存器控制/状态寄存器I/O逻辑控制器与设备接口1控制器与设备接口i数据线地址线控制线CPU与控制器接口控制器与设备接口数据状态控制数据状态控制……LINUX技术与应用84、I/O通道虽然在CPU与I/O设备之间增加了设备控制器后,已能大大减少CPU对I/O的干预,但当主机所配置的外设很多时,CPU的负担仍然很重。为此,在CPU和设备控制器之间又增设了通道。设置I/O通道的目的是为了建立独立的I/O操作,不仅使数据的传送能独立于CPU,而且也希望有关对I/O操作的组织、管理及其结束处理也尽量独立,以保证CPU有更多的时间去进行数据处理。LINUX技术与应用94、I/O通道(续)I/O通道的连接:控制器1控制器4控制器3控制器2通道2通道1CPULINUX技术与应用105、缓冲技术引入缓冲区的主要原因缓解CPU与I/O设备间速度不匹配的问题。减少对CPU的中断频率,放宽对CPU中断响应时间的限制。提高CPU和I/O设备之间的并行性。LINUX技术与应用116、设备驱动设备驱动程序又称为设备处理程序,它是I/O进程与设备控制器之间的通信程序,是一种低级的系统例程。设备驱动程序的处理过程将抽象要求转换为具体要求检查I/O请求的合法性读出和检查设备的状态传送必要的参数工作方式的设置启动I/O设备LINUX技术与应用125.2设备控制方式1、I/O控制方式在I/O控制方式的整个发展过程中,始终贯穿着这样一条宗旨,即尽量减少主机对I/O控制的干预,把主机从繁杂的I/O控制事务中解脱出来,以便更多地去完成数据处理任务。⑴程序查询I/O控制方式⑵中断驱动I/O控制方式⑶DMA控制方式⑷I/O通道控制方式LINUX技术与应用132、设备分配与共享在多道程序环境下,系统中的设备不允许用户(进程)自行使用,而是由操作系统中的设备分配程序负责。在某次设备分配可能和安全的前提下,设备分配程序向提出设备请求的进程分配设备。⑴设备分配中的数据结构系统设备表(SystemDeviceTable,SDT)设备控制表(DeviceControlTable,DCT)控制器表(ControlerControlTable,COCT)通道控制表(ChannelControlTable,CHCT)LINUX技术与应用14⑵设备分配时应考虑的因素设备的固有属性设备分配算法:先来先服务、优先级最高者优先设备分配中的安全性:静态分配、动态分配设备独立性⑶独占设备的分配程序若不考虑设备独立性和多通路的情况,当某进程提出I/O请求后,系统的设备分配程序将按下述步骤进行设备分配。分配设备分配控制器分配通道注意:只有在设备、控制器和通道三者都分配成功时,这次设备分配才算成功。随后,便可启动I/O设备进行数据传送。LINUX技术与应用153、虚拟设备技术在设备管理中,通过SPOOLing技术可将一台物理I/O设备虚拟为多台逻辑I/O设备,这就实现了所谓的虚拟设备。⑴SPOOLing技术的定义为了缓和CPU的高速性与I/O设备的低速性之间的矛盾,曾引入了脱机输入/输出技术。该技术是利用专门的外围控制机,将低速I/0设备上的数据传送到高速磁盘上,或者相反。此时的外围操作与CPU对数据的处理可以同时进行,我们把这种在联机情况下实现的同时外围操作称为SPOOLing(SimultaneausPeriphemalOperatingOn-Line),或称为假脱机操作。LINUX技术与应用16⑵SPOOLing系统的组成输入井和输出井输入缓冲区和输出缓冲区输入进程SPi和输出进程SPo⑶SPOOLing技术的实例将独占设备打印机设置为共享设备。LINUX技术与应用174、磁盘存储器管理磁盘存储器不仅容量大,存取速度快,而且可以实现随机存取,是当前存放大量程序和数据的理想设备,故在现代计算机系统中,都配置了磁盘存储器,并以它为主来存放文件。⑴磁盘性能简介磁盘的每个盘片有正反两个磁表面。每个盘面上有多条同心圆磁道,不同盘面上具有相同编号的磁道在同一个柱面上,从“0”开始按由外向里的次序顺序编号,称为“柱面号”。为区分不同的盘面,从“0”开始给每个盘面编号,称为“磁头号”。在磁盘初始化时把每个盘面划分成相等数量的扇区,按磁盘旋转的反向从“0”开始给各扇区编号,称为“扇区号”。每个扇区将磁道分割成弧段,我们称它为“块”。磁盘的每块上存放相等数量的信息,块是磁盘信息读写的最小单位。由此,要确定一个块所在的位置,就必须给出3个参数:柱面号、磁头号和扇区号。LINUX技术与应用18磁盘结构:移动臂读写磁头转动方向柱面磁道轴LINUX技术与应用19启动磁盘执行输入输出操作时,首先要把移动臂移动到指定的柱面,称为寻道。同时磁盘控制器控制磁盘高速旋转,待指定的扇区旋转到磁头位置下时,读写控制电路让指定的磁头进行读写。磁盘的访问时间分成3部分:寻道时间旋转延迟时间传输时间LINUX技术与应用20⑵查看系统硬盘使用情况⑶磁盘调度算法先来先服务(FCFS)算法最短寻道时间优先(SSTF)算法扫描(SCAN)算法循环扫描(CSCAN)算法LINUX技术与应用215、3Linux设备管理1、设备文件设备类型主设备号与次设备号设备文件2、设备驱动程序概述驱动程序设备驱动程序的特点查询与中断DMA设备驱动程序与内核的接口LINUX技术与应用223、设备驱动程序的结构设备驱动程序的实现方法字符设备驱动程序的结构块设备驱动程序的结构LINUX技术与应用235、4LINUX文件系统文件系统:指文件存放在物理存储设备上的组织方法,主要体现在文件和目录的组织上。文件:在Linux系统中,一切都被视为文件,包括普通文件、目录、硬件设备等。目录:为Linux提供了一种方便而有效的方式进行文件的管理。是包含有许多文件项目的一类特殊文件。LINUX技术与应用24Linux中的/文件系统:用户主目录光盘挂载目录软盘挂载目录LINUX技术与应用251、LINUX文件文件名文件名应尽量简单,并且应反映出文件的内容。除斜杠(/)和空字符(ASCII字符为\0)以外,文件名可以包含任意的ASCII字符。可使用长文件名,最长为256个字符。文件名区分大小写。习惯上允许使用下划线(-)和点(.)来区别文件的类型,使文件名更易读;但是应避免使用;|`”’$!%&*?\()[]。同类文件应使用同样的后缀或扩展名。以圆点(.)开头的文件名是隐藏文件,默认方式下使用ls命令并不能把它们在屏幕上显示出来。LINUX技术与应用26常用通配符:“*”代表若干个任意字符。“?”代表一个任意字符。“[…]”表示匹配方括号内的任意一个字符。“[a-y]”表示匹配方括号内两个字符之间的任意一个字符。“[!…]”表示匹配不在方括号内的任意一个字符。LINUX技术与应用27文件类型普通文件目录文件链接文件设备文件可用ls命令查看LINUX技术与应用282、Linux目录目录是文件系统中组织文件的形式。文件系统将文件组织在若干目录和其子目录中,最上层的目录称作根目录,用“/”表示,其他的所有目录都是从根目录出发而生成的。这种目录结构类似于一棵倒置的树,所以又称为“树状结构”。Linux只有一个根:/Windows有几个分区就有几个根:C:,D:,E:目录的命名规则与文件的命名规则相同。LINUX技术与应用293、Linux文件系统类型早期的Linux操作系统使用ext2文件系统,从RedHat7.2开始使用ext3文件系统。ext3文件系统是ext2文件系统的后续版本,除了对原有版本的增强外还多一个inode项,用来记录文件系统的日志。ReiserFS文件系统以其高性能闻名于世,一直以来用于高端的Unix系统上。Swap文件系统用于实现虚拟内存。Linux通过创建虚拟文件系统(VFS),还支持以下文件系统:msdos,vfat,iso9660,nfs,smb。LINUX技术与应用304、挂载和卸载文件系统Linux系统在使用光盘或U盘时,必须执行挂载(mount)命令。挂载命令可将这些存储介质指定到系统中的某个目录,然后直接访问相应的目录即可读写存储介质上的数据,用户可以在shell命令环境中使用mount挂载任何文件系统。将一个文件系统的顶层目录挂到另一个文件系统的子目录中,使它们成为一个整体称为挂载,被挂载的子目录称为挂载点。在Linux中所有文件都是以目录来组织的,所谓的挂载可将光盘、软盘或其他文件系统当作一个目录来访问,这个目录就是挂载点。LINUX技术与应用31mount命令在Linux中,要使用磁盘分区或其他储存设备(软盘、光驱、U盘等),必须先挂载(Mount),然后通过挂载目录来访问。挂载目录必须是已经存在的目录。功能:将某个文件系统挂载到某个目录上。格式:mount[选项][设备名][挂载点]例如:mountmount-tiso9660/dev/cdrom/mnt/cdrommount-tvfat/dev/fd0/mnt/flopymount-tvfat–oro/dev/sdb1/mnt/usbLINUX技术与应用32

1 / 41
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功