操作系统原理(ch8).ppt

2009-4-7 * 作业: 8.4 8.5 8.14 * 2009-4-7 * 2.二级目录 在单级目录中,对单级目录的搜索时间与单级目录表的长度n成正比; 在二级目录中,n个目录被划分成m个子集,如果每个子集有r个用户文件,则对二级目录的搜索时间与m+r成正比。这里,m+r≤n。因此,二级目录的搜索速度要快于单级目录。 2009-4-7 * 3.多级目录结构 目录文件:由文件的目录项组成的文件称为目录文件。 系统中有一个根目录(或根目录文件),在这个目录中可登记一般文件,也可以登记目录文件,在每个目录文件中可以登记一般文件,也可以登记目录文件。 根据这个递归定义就形成了一个倒立的树的结构。对于一棵树,它有一个树根(只有一个,根目录),在树根上可以长树叶(一般文件),也可以长树枝(子目录文件);对于每个树技又可以长树枝,也可以长树叶。 2009-4-7 * 文件系统的树形结构 1 4 3 2 6 5 14 13 12 11 10 7 8 9 2009-4-7 * 多级目录结构的特点 (1)层次清楚 由于分支结构,不同性质、不同用户的文件可以构成不同的子树,便于管理。不同层次,不同用户的文件可以被赋予不同的存取权限,有利于文件的保护。 (2)解决了重名问题 只要在同一子目录下的文件名不发生重复,就不会产生混乱。 (3)查找搜索速度快 对多级目录的查找每次只查找目录的一个子集,所以其搜索速度要比单级、二级目录快。 2009-4-7 * 7.5.3 便于共享的文件目录 从系统管理的角度看,有三种方法可以实现文件共享: 绕道法 链接法 基本文件目录表(BFD) 2009-4-7 * 1. 绕道法 绕道法要求每个用户处在当前目录下工作,用户对有文件的访问都是相对于当前目录进行的。 用户文件的固有名是由当前目录到信息文件通路上所有各级目录的目录名加上该信息文件的符号名组成。(为了访问某个文件而必须访问的各个文件的目录名与文件名的顺序连接称为文件的固有名) 2009-4-7 * 1. 绕道法 使用绕道法进行文件共享时,用户从当前目录出发向上返回到与所要共享文件所在路径的交叉点,再顺序下访到共享文件。 绕道法需要用户指定所要共享文件的逻辑位置或到达被共享文件的路径。 绕道法需要绕弯路访问多级目录,从而其搜索效率不高。 2009-4-7 * 绕道法原理图 与被共享文件所在路径的交叉点 当前目录 被共享文件 文件 2009-4-7 * 2. 链接法 将一个目录中的链指针直接指向被共享文件所在的目录。 链接法仍然需要用户指定被共享的文件和被链接的目录。 2009-4-7 * 3. 基本文件目录表(BFD) BFD方法把所有文件目录的内容分成两部分: 一部分包括文件的结构信息、物理块号、存取控制和管理信息等,并由系统赋予唯一的内部标识,称为基本文件目录表(BFD); 另一部分则由用户给出的符号名和系统赋予文件说明信息的内部标识符组成,称为符号文件目录表(SFD) 。 2009-4-7 * 3. 基本文件目录表(BFD) 系统通常预先规定赋予基本文件目录、空白目录、主目录MFD的符号文件目录固定不变的唯一标识符。 采用基本文件目录方式可以方便地实现文件共享。如果用户要共享某个文件,则只需给出被共享的文件名,系统会自动在SDF的有关文件处生成与被共享文件相同的内部标识符ID。 采用基本文件目录的多级目录结构 标识符 物理块号 0 1 2 3 4 5 6 7 8 9 用户名 ID Wang 3 Zhang 4 主目录(MFD) 空闲文件目录 文件名 ID a.c 5 b.c 6 Wang的SFD 文件名 ID f.c 6 z.c 7 Sub-d 8 Zhang的SFD a.c w.c 9 Sub-d的SFD ID b.c f.c z.c w.c 2009-4-7 * 8.5.4 目录管理 问题的提出: 存放文件说明信息的目录项构成目录文件。这些文件存放在外存中。 存取文件时,先要访问目录文件。如果访问每级目录都到外存,则需花费大量时间进行I/O操作,造成CPU浪费,降低处理速度。 解决办法:将当前正在使用的文件的目录表复制到内存。 2009-4-7 * 8.5.4 目录管理(续) 把目录文件复制到内存的操作称为打开文件(fopen),把删除文件的内存副本的操作称为关闭文件(fclose)。这两个操作一般以系统调用的形式提供给用户。 对于按BDF和SDF排列的多级文件目录,系统按以下方式打开一个文件: 2009-4-7 * 系统打开文件的步骤: (1)把主目录MFD中的相应表目,也就是与待打开文件相联系的有关表目复制到内存。 (2)根据(1)所复制得到的标识符,再复制此标识符所指明的基本文件目录表BDF的有关表目。 (3)

文档评论(0)

1亿VIP精品文档

相关文档