【操作系统复习】文件的分配方式 & 文件存储空间管理

文件的物理结构探讨的是文件数据应该怎样存放在外存中

文件块

与内存管理类似,外存也进行块进行划分。文件也进行块进行划分。那么一个文件的地址就可以表示为
(块号,块内地址) (块号,块内地址) (块号,块内地址)

文件的分配方式

为文件分配外存的块

  1. 连续分配
    连续分配方式就是每个文件在磁盘上占用一组连续的块。
    那么FCB关于外存地址保存的就需要的起始的物理块号与块数。
    支持顺序访问与随机访问。在顺序读写的时候速度是最快的。
    文件的拓展不方便。连续分配存储空间利用率低。
  2. 隐式链接
    每一块保存下一块的块号。FCB中记录起始块号与结束块号。
    好处是拓展文件简单。
    但只支持顺序查找,不支持随机访问。
  3. 显示链接FAT
    维护一个特定的数据结构,每一项保存物理块号与下一块块号,用-1表示这个块是最后一个块。FCB保存起始块号就行。一个磁盘只设置一个FAT并且常驻内存。
    好处是支持随机访问也支持顺序访问。同时查找块号只需要访问FAT表而不需要访问磁盘。速度也快。
    缺点FAT占空间
  4. 索引分配
    为每一个文件设置一张索引表,索引表中记录了文件各个逻辑块对应的物理块号。FCB中保存一个字段表示这个文件的索引文件所在的物理块号
    如果文件太大可以使用连接的方式,将几个索引块链接起来。但文件太大,每一块都要读入。
    另外一种方式是多级索引。但对大文件有利,小文件要像大文件读多次磁盘。
    混合索引:开放部分直接索引地址,这部分直接指向地址块。以及间接索引指向一个索引表。二级间接索引表指向一个索引表,但这个索引表表象也指向新的索引表。

存储空间管理

还没有分配的块怎么进行管理

  1. 空闲表法
    维护一个空闲表,每一项存储第一个空闲盘块号与空闲盘块数。
    与内存管理类似,如果需要分配。可以采用首次适应等算法。
    需要注意的是在回收磁盘块如何维护这个数据结构
  2. 空闲链表法
    操作系统保存链头与链尾指针。空闲的块会保存指向下一个空闲块的指针。
  3. 位示图法
    利用二进制为表示块是空闲的还是非空闲的。
  4. 成组链接法
    一个块内部由下一组空闲盘块数以及空闲块号组成。一般空闲块号第一个都会保存这些信息。其他块号可以不保存信息。内存会保存一个这一个信息,成为超级块。
    如果需要分配,就在超级块查找是否还有空闲块,如果有分配即可。如果这个是最后一个块,那么在将自己这个块分配出去之前,将指向下一个块的块内容复制到超级块当中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值