索引顺序文件。.PPTVIP

  • 17
  • 0
  • 约7.99千字
  • 约 92页
  • 2017-06-24 发布于天津
  • 举报
索引顺序文件。

2. 盘块的分配 (1) 顺序扫描位示图,从中找出一个或一组其值为“0”的二进制位(“0”表示空闲时)。(如:找6个相邻空闲盘块,只要找位图中6个“0”) (2) 将所找到的一个或一组二进制位, 转换成与之相应的盘块号。假定找到的其值为“0”的二进制位,位于位示的第i行、第j列,则其相应的盘块号应按下式计算: b=n(i-1)+j 式中, n代表每行的位数。 (3) 修改位示图, 令map[i,j]=1。 3. 盘块的回收 (1) 将回收盘块的盘块号转换成位示图中的行号和列号。 转换公式为: i=(b-1)DIV n+1 j=(b-1)MOD n+1 (2) 修改位示图。 令map [i,j]=0。 优点:位图小,可调入内存,因而快,节省外存空间。 6.3.2 链接分配(用链表将离散的盘块链接成一个文件) 1. 隐式链接 图 6-8 磁盘空间的链接式分配 优点: 1、消除外存碎片 2、按需分配 3、无需事先知道文件 大小,可动态分配 4、对文件的增、删 、改很方便 缺点: 1、只适合顺序访问, 对随机访问效率极低 2、可靠性差,一个指针 出问题,整个链断 3、指针占空间(可用 簇减少指针数量,但 增加内部碎片) 2. 显式链接 图 6-9 显式链接结构 1、链接文件盘块的指针放在文件分配表 FAT中 2、每个文件的第一个盘块号放在自己的 文件控制块FCB中 3、整个系统一个文件分配表FAT 4、FAT驻留内存,检索速度快 图 6-10 MS-DOS的文件物理结构 6.3.3 索引分配 链接分配方式存在两个问题: (1) 不能支持高效的直接存取。大文件须在FAT中顺序地查找许多盘块号。 (2) FAT需占用较大的内存空间。须将整个FAT调入内存才能查到所有盘块。   建一个文件,在相应目录项中填上指向索引块的指针   索引块中依次记录了分配给该文件的盘块号,一个索引块中可记录成百上千个盘块号 优点: 1、索引分配方式支持直接访问 2、不会产生外部碎片 3、文件较大时优于链接分配方式 缺点: 小文件采用索引方式,索引块的利用率会很低。 1、单级索引分配 图 6-11 索引分配方式 2. 多级索引分配 图 6-12 两级索引分配 1、文件大了可能要多个索引块 2、文件太大单级索引效率会降低,采用多级索引 图 6-13 混合索引方式 混合索引方式: 将多种索引分配方式相结合,有直接、一级、二级、三级等 (1) 直接地址。   当文件不大于40 KB时(盘块大小为 4 KB ),便可直接从索引结点中读出该文件的全部盘块号。  提高对文件的检索速度,在索引结点中可设置10个直接地址项, 即用iaddr(0)~iaddr(9)来存放直接地址。 (2) 一次间接地址。(一级索引分配方式) 对于大、 中型文件, 利用索引结点中的地址项iaddr(10)来提供一次间接地址。   图中的一次间址块也就是索引块。在一次间址块中可存放1K个盘块号, 因而允许文件长达4 MB。 (3) 多次间接地址。(两级索引分配方式) 当文件长度大于4 MB+40 KB时(一次间址与10个直接地址项), 系统还须采用二次间址分配方式。这时,用地址项iaddr(11)提供二次间接地址。   在采用二次间址方式时,文件最大长度可达4 GB。   同理,地址项iaddr(12)作为三次间接地址, 其所允许的文件最大长度可达4 TB。 6.4 目 录 管 理 对目录管理的要求如下: 实现“按名存取”。 (按文件名,找文件所在位置) (2) 提高对目录的检索速度。(组织目录结构,提速) (3) 文件共享。(多用户共享文件副本,省空间) (4) 允许文件重名。 (不同用户,使用文件可重名) 6.4.1 文件控制块和索引结点 文件控制块 (文件目录项,文件目录也可看作目录文件) 基本信息类 ① 文件名 ; ② 文件物理位置(设备名,起始盘块,长度) ; ③ 文件逻辑结构 (流式、记录式); ④ 文件的物理结构 (顺序、链接、索引) (2) 存取控制信息类 (文件主、核准用户、一般用户) (3) 使用信息类 (建立、修改日期,已打开进程数、锁否) 图 6-14 MS-DOS的文件控制块 文件目录通常存放在磁盘 文件很多时,目录可能占很多盘块 查找文件时,先将目录文件的第一块调入内存 未找到则调入下一块,直到找到。 文件目录形式下,查找文件的顺序 2. 索引结点 1) 索引结点的引入 图 6-15 UNIX的文件目录 文

文档评论(0)

1亿VIP精品文档

相关文档