操作系统---文件的空闲管理

文件存储空间的管理

实质上是一个空闲块的组织和管理问题,它包括空闲块组织,空闲块的分配和空闲块的回收等几个问题。

  1. 空闲区表法
      空闲表法属于连续分配方式。它与内存管理中的动态分区分配方式相似。
      将外存空间上一个连续未分配区域称为“空闲区”。操作系统为磁盘外存上所有空闲区建立一张空闲表,每个表项对应一个空闲区,空闲表包含“序号,第一空闲盘块号,空闲盘块数”等信息。它适用于连续文件结构。
      它为每个文件分配一个连续的存储空间。系统为外存上的所有空闲区建立一张空闲表,每个空闲区对应于一个空闲表项。

  2. 空闲链表法
      是将所有的空闲盘区拉成一条空闲链。根据构成链的基本元素的不同,可有两种链表方式:空闲盘块链、空闲盘区链。
      a. 空闲盘块链
      它是将磁盘上的所有空闲存储空间,以盘块为基本元素拉成一条链。优点是用于分配和回收一个盘块的过程非常简单;缺点是空闲盘块链可能很长。
      b. 空闲盘区链
      这是将磁盘上的所有空闲盘区(每个盘区可包含若干个盘块)拉成一条链。在每个盘区上除了含有用于指示下一个空闲盘区的指针外,还应标有指明本盘区大小(盘块数)的信息。这方法分配和回收过程较复杂,但空闲盘区链较短。

  3. 位示图法
    本方法利用二进制的一位来表示磁盘中一个盘块的使用情况,磁盘上所有的盘块都有与之对应的一个二进制位。当其值为0时,表示对应的盘块空闲,当其值为1时,表示对应的盘块已经分配。

  4. 成组链接法(NUIX系统采用)

    空闲表法和空闲链表由于空闲表太长而不适合大型文件系统的使用。成组链接法是两种方法相结合的一种管理方法,兼备了两种方法的优点而克服了两种方法的缺点。其大致的思想是:把空闲的n个空闲扇区的地址保存在第一个空闲扇区内,其后一个空闲扇区内则保存另一顺序空闲扇区的地址,以此类推,直至所有空闲扇区都予以链接。

下面为位示图法的例题:
  某文件管理系统在磁盘上建立了位示图(bitmap),记录磁盘的使用情况。若磁盘上的物理块依次编号为:0、1、2、…,系统中字长为32位,每一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用,如下图所示。
  假设将4195号物理块分配给某文件,那么该物理块的使用情况在位示图中的第__ (1) __ 个字中描述;系统应该将 __ (2) __。
  (1) A. 128 B. 129 C. 130 D. 131
  (2)
  A. 该字的第3位置“0” B. 该字的第3位置“1”
  C. 该字的第4位置“0” D. 该字的第4位置“1”
例题分析:
  因为物理块编号是从0开始的,所以4195号物理块其实就是第4196块。因为字长为32位,也就是说,每个字可以记录32个物理块的使用情况。4196/32=131.125,所以,4195号物理块应该在第131个字中(字的编号也是从0开始计数)。那么,具体在第131个字的哪一位呢?到第130个字为止,共保存了131*32=4192个物理块(0~4191),所以,第4195块应该在第131个字的第3位记录(要注意:0是最开始的位)。因为系统已经将4195号物理块分配给某文件,所以其对应的位要置1。
例题答案:
  D 、 B

某文件系统采用位示图法管理外存储空间,每个磁盘块4KB,已知一块磁盘容量为40GB,则表示该磁盘所需的位示图需要占用_______的内存空间
A. 1280KB
B. 10240KB
C. 4096KB
D. 10MB
解析:

一共需要40G/4KB=1010241024个磁盘块 表示这些磁盘块需要1010241024/8byte=1280KB
所以选 A

基本法求解位示图编号问题
实例

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值