资源预览内容
第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
第9页 / 共24页
第10页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第5章 Linux的设备管理与文件系统,设备的概念 设备控制方式 Linux设备管理 目录与文件系统简介 Linux文件系统管理 操作系统中设备管理的主要对象是I/O设备,还可能涉及到设备控制器和I/O通道。现代计算机系统都配有种类繁多的I/O设备,I/O设备在整个计算机系统的成本中占有相当大的比重。,5.1 设备的概念,在计算机系统中,除了CPU和内存之外,其余的大部分硬件设备称为外部设备。外部设备包括常用的I/O(输入/输出)设备、外存设备以及终端设备等。 1、I/O设备的类型 按设备的所属关系可以将I/O设备分为两类:系统设备 、用户设备 。 按设备的信息交换的单位可将I/O设备分为两类:字符设备 、块设备。 按设备的共享属性可将I/O设备分为三类:独占设备 、共享设备 、虚拟设备 。,2、设备管理的任务和功能 主要任务 选择和分配I/O设备以便进行数据传输操作。 控制I/O设备和CPU(或内存)之间交换数据。 为用户提供一个友好的透明接口,把用户和设备硬件特性分开,使得用户在编制应用程序时不必涉及具体设备,由系统按用户的要求来对设备的工作进行控制。 提高设备和设备之间、CPU和设备之间以及进程和进程之间的并行操作程度,以使操作系统获得最佳效率。 主要功能 提供和进程管理系统的接口 进行设备分配 实现设备和设备、设备和CPU等之间的并行操作 进行缓冲管理 设备控制与驱动,4、I/O通道 虽然在CPU与I/O设备之间增加了设备控制器后,已能大大减少CPU对I/O的干预,但当主机所配置的外设很多时,CPU的负担仍然很重。为此,在CPU和设备控制器之间又增设了通道。设置I/O通道的目的是为了建立独立的I/O操作,不仅使数据的传送能独立于CPU,而且也希望有关对I/O操作的组织、管理及其结束处理也尽量独立,以保证CPU有更多的时间去进行数据处理。 5、缓冲技术 引入缓冲区的主要原因 缓和CPU与I/O设备间速度不匹配的矛盾。 减少对CPU的中断频率,放宽对CPU中断响应时间的限制。 提高CPU和I/O设备之间的并行性。,6、设备驱动 设备驱动程序又称为设备处理程序,它是I/O进程与设备控制器之间的通信程序,是一种低级的系统例程。 设备驱动程序的处理过程 将抽象要求转换为具体要求 检查I/O请求的合法性 读出和检查设备的状态 传送必要的参数 工作方式的设置 启动I/O设备,5.2 设备控制方式,1、I/O控制方式 在I/O控制方式的整个发展过程中,始终贯穿着这样一条宗旨,即尽量减少主机对FO控制的干预,把主机从繁杂的I/O控制事务中解脱出来,以便更多地去完成数据处理任务。 程序I/O方式 中断驱动I/O控制方式 DMA控制方式 I/O通道控制方式,2、设备分配与共享 在多道程序环境下,系统中的设备不允许用户(进程)自行使用,而是由操作系统中的设备分配程序负责。在某次设备分配可能和安全的前提下,设备分配程序向提出设备请求的进程分配设备。 设备分配中的数据结构 系统设备表(System Device Table,SDT) 设备控制表(Device Control Table,DCT) 控制器表(Controler Control Table,COCT) 通道控制表(Channel Control Table,CHCT),设备分配时应考虑的因素 设备的固有属性 设备分配算法 :先来先服务 、优先级最高者优先 设备分配中的安全性 :静态分配、动态分配 设备独立性 独占设备的分配程序 若不考虑设备独立性和多通路的情况,当某进程提出I/O请求后,系统的设备分配程序将按下述步骤进行设备分配。 分配设备 分配控制器 分配通道 注意:只有在设备、控制器和通道三者都分配成功时,这次设备分配才算成功。随后,便可启动I/O设备进行数据传送。,3、虚拟设备技术 在设备管理中,通过SPOOLing技术可将一台物理I/O设备虚拟为多台逻辑I/O设备,这就实现了所谓的虚拟设备。 SPOOLing技术的定义 为了缓和CPU的高速性与I/O设备的低速性之间的矛盾,曾引入了脱机输入/输出技术。该技术是利用专门的外围控制机,将低速I/0设备上的数据传送到高速磁盘上,或者相反。此时的外围操作与CPU对数据的处理可以同时进行,我们把这种在联机情况下实现的同时外围操作称为SPOOLing(Simultaneaus Periphemal Operating On-Line),或称为假脱机操作。,SPOOLing系统的组成 主要由3部分组成 : 输入井和输出井 输入缓冲区和输出缓冲区 输入进程SPi和输出进程SPo SPOOLing技术的实例,4、磁盘存储器管理 磁盘存储器不仅容量大,存取速度快,而且可以实现随机存取,是当前存放大量程序和数据的理想设备,故在现代计算机系统中,都配置了磁盘存储器,并以它为主来存放文件。 磁盘性能简介 磁盘的每个盘片有正反两个磁表面,若干张盘片可以组成一个盘组。每个盘面上有多条同心圆磁道,不同盘面上具有相同编号的磁道在同一个柱面上,从“0”开始按由外向里的次序顺序编号,称为“柱面号”。为区分不同的盘面,从“0”开始给每个盘面编号,称为“磁头号”。在磁盘初始化时把每个盘面划分成相等数量的扇区,按磁盘旋转的反向从“0”开始给各扇区编号,称为“扇区号”。每个扇区将磁道分割成弧段,我们称它为“块”。磁盘的每块上存放相等数量的信息,块是磁盘信息读写的最小单位。由此,要确定一个块所在的位置,就必须给出3个参数:柱面号、磁头号和扇区号。,启动磁盘执行输入输出操作时,首先要把移动臂移动到指定的柱面,称为寻道。同时磁盘控制器控制磁盘高速旋转,待指定的扇区旋转到磁头位置下时,读写控制电路让指定的磁头进行读写。 磁盘的访问时间分成3部分: 寻道时间 旋转延迟时间 传输时间,查看系统硬盘使用情况 磁盘调度 目前常用的磁盘调度算法有: 先来先服务(FCFS)算法 最短寻道时间优先(SSTF)算法 扫描(SCAN)算法 循环扫描(CSCAN)算法,5.3 Linux设备管理,1、设备文件 设备类型 主设备号与次设备号 设备文件 2、设备驱动程序概述 驱动程序 设备驱动程序的特点 查询与中断 DMA 设备驱动程序与内核的接口,3、设备驱动程序的结构 设备驱动程序的实现方法 字符设备驱动程序的结构 块设备驱动程序的结构 4、Linux系统中光盘的使用 在光盘驱动器中插入这张MP3光盘,进入/mnt目录,看到有cdrom目录和floppy目录,前一个很明显是用来安装光盘文件系统的,后一个则是用来安装软盘文件系统的。 用mount命令进行文件系统的安装。mount命令的基本格式如下: mount系统设备名称安装点 现在安装光盘文件系统,可以在命令行上键人: mount/dev/cdrom/mnt/cdrom 稍候片刻,光盘文件系统便安装上了。,5.4 目录与文件系统简介,文件:Linux系统和Unix系统一样,把一切都视为文件,包括目录、硬件接口设备等。 目录:其中包含许多文件项目的一类特殊文件。 子目录:被包含在另一个目录中的目录。,用于安装光盘,用于安装软盘,用户主目录,文件名:用来标识文件的字符串,它保存在一个目录文件项中。 路径名:由斜线字符(/)结合在一起的一个或多个文件名的集合。 文件命名:Linux的文件名几乎可以由ASCII字符的任意组合构成,文件名最长可多达255个字符。 管理文件的约定: 文件名应尽量简单,并且应反映出文件的内容。 除斜线(/)和空字符(ASCII字符为0)以外,文件名可以包含任意的ASCII字符。 习惯上允许使用下线符(-)和点(.)来区别文件的类型,使文件名更易读;但是应避免使用 ;| ” ! % & * ? () 。 同类文件应使用同样的后缀或扩展名。 以圆点(.)开头的文件名是隐含文件,默认方式下使用ls命令并不能把它们在屏幕上显示出来。,5.5 Linux文件系统管理,文件系统是操作系统中负责存取和管理信息的程序模块,它用统一的方法管理用户和数据信息的存储、检索、更新、共享和保护,并为用户提供方便有效的文件使用和操作方法。 1、Linux基本文件系统与Linux支持的文件系统 Linux基本文件系统 Linux系统支持的文件系统,2、文件名和通配符 文件名 Linux系统对文件名有以下规定: 文件名中不能包含任何对Shell有特殊含义的字符。这些字符是!?$ # * ( ) % | /等。 可使用长文件名,最长为256个字符。 文件名区分大小写。 文件分类 普通文件 目录文件 链接文件 设备文件,通配符 通配符的作用是代替一个或多个字符。 常用通配符及含义如下: “*”代表若干个任意字符。 “?”代表一个任意字符。 “”表示匹配方括号内的任意一个字符。 “a-y”表示匹配方括号内两个字符之间的任意一个字符。 “!”表示匹配不在方括号内的任意一个字符。,3、Linux文件系统结构 Linux操作系统将所有的文件系统放在唯一的根目录()下形成树形结构,采用树形目录结构来组织和管理系统的所有文件。根是所有目录的起始点,根目录下主要有以下的子目录。 /bin 存放常用命令和实用程序 /sbin /boot 该目录存放Linux引导程序,操作系统内核,以及相关文件 /dev 存放与硬件设备驱动程序有关的设备文件 /etc 又称杂项目录,存放了大量系统配置文件 /home 用于存放各用户的主目录,用户文件, /lib 存放常用程序的库函数文件 /mnt:移动存储设备的挂载点目录 /proc:存放操作系统运行时,进程(正在运行中的程序)信息及内核信息 /root: Linux系统超级权限用户root的主目录 /tmp: 临时文件目录,有时用户运行程序的时候,会产生临时文件 /usr 存放用户服务例程 /var 包括用于管理和维护本地计算机的文件,主要是一些进程频繁变动的文件,5.6 小结,Linux系统对计算机的所有的外部设备进行统一的分配和控制,对设备驱动、设备分配和共享等操作等进行统一的管理。 Linux设备管理主要是从Linux设备的原理、设备的控制方式和虚拟设备等方面来展开的;无论是哪个类型的设备,Linux都把它统一当作文件来处理,只要安装了驱动程序,任何用户都可以像使用文件一样来使用这些设备,而不必知道它们的具体存在形式。Linux把外部设备当作文件来处理,并根据数据交换的特性将外部设备分为三类:字符设备、块设备和网络设备。,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号