一、文件存储空间管理


(一)存储空间的划分与初始化

  • 安装 Windows 操作系统的时候,一个必经步骤是——为磁盘分区(C: 盘、D: 盘、E: 盘等)

(二)存储空间管理

1. 空闲表法

  • 适用于“连续分配方式”
  • 如何分配磁盘块:与内存管理中的动态分区分配很类似,为一个文件分配连续的存储空间。同样可采用首次适应、最佳适应、最坏适应等算法来决定要为文件分配哪个区间。
  • 如何回收磁盘块:与内存管理中的动态分区分配很类似,当回收某个存储区时需要有四种情况:
    ①回收区的前后都没有相邻空闲区;
    ②回收区的前后都是空闲区;
    ③回收区前面是空闲区;
    ④回收区后面是空闲区。
    总之,回收时需要注意表项的合并问题

2. 空闲链表法

(1)空闲盘块链

(2)空间盘区链

  • 连续分配、离散分配都适用

3. 位示图法

  • 如何分配:若文件需要K个块,
    ①顺序扫描位示图,找到K个相邻或不相邻的“0”;
    ②根据字号、位号算出对应的盘块号,将相应盘块分配给文件;
    ③将相应位设置为“1”。
  • 如何回收:
    ①根据回收的盘块号计算出对应的字号、位号;
    ②将相应二进制位设为“0”

4. 成组链接法

  • 空闲表法、空闲链表法不适用于大型文件系统,因为空闲表或空闲链表可能过大。UNIX系统中采用了成组链接法对磁盘空闲块进行管理。
  • 文件卷的目录区中专门用一个磁盘块作为“超级块”,当系统启动时需要将超级块读入内存。并且要保证内存与外存中的“超级块”数据一致。

  • 如何分配?
  • Eg :需要1个空闲块
    ①检查第一个分组的块数是否足够。1<100,因此是足够的。
    ②分配第一个分组中的1个空闲块,并修改相应数据
  • Eg :需要100个空闲块
    ①检查第一个分组的块数是否足够。100=100,是足够的。
    ②分配第一个分组中的100个空闲块。但是由于300号块内存放了再下一组的信息,因此300号块的数据需要复制到超级块中每个分组正式分配出去之前,需要把下一个分组的链接信息复制到超级块中;而且超级块永远要保持在连头。
  • 如何回收?
    Eg :假设每个分组最多为100个空闲块,此时第一个分组已有99个块,还要再回收一块
  • 假设每个分组最多为100个空闲块,此时第一个分组已有100个块,还要再回收一块。
  • 需要将超级块中的数据复制到新回收的块中,并修改超级块的内容,让新回收的块成为第一个分组

操作系统文件存储空间管理(存储空间的划分与初始化)相关推荐

  1. 15 操作系统第四章 文件管理 文件的物理结构 文件存储空间管理

    文章目录 1 文件的物理结构 (文件分配方式) 1.1 文件块.磁盘块 1.2 文件分配方式--连续分配 1.3 文件分配方式--链接分配 1.3.1 链接分配--隐式链接 1.3.2 链接分配--显 ...

  2. 操作系统之文件系统:4、文件存储空间管理(空闲表法、空闲链表法、位示图法、成组链接法)

    4.文件存储空间管理 思维导图 文件的初始化和划分 文件存储空间管理方法 1.存储空间管理--空闲表法 2.存储空间管理--空闲链表法 3.存储空间管理--位示图法 4.存储空间管理--成组链接法 思 ...

  3. 四十三、文件存储空间管理

    一.知识总览 二.存储空间的划分与初始化 三.空闲表法(适用于连续分配方式) 四.存储空间管理-空闲链表法 五.存储空间管理-位示图法 六.总结

  4. 计算机系统基础:文件的存取和存储空间管理知识笔记

    1.文件的存取 文件的存取实际上就是针对文件存储器上物理块的读写操作.存取方法主要有顺序存储.随机存储两种. 2.文件存储空间管理 磁盘分配表:外存空闲空间管理的数据结构. 2.1 空闲空间管理方法 ...

  5. 操作系统-文件存储空间管理

    一.存储空间的划分与初始化 操作系统可以将一块磁盘划分为不同的逻辑盘(C盘/D盘),每个逻辑区分为目录区和文件区 二.存储空间管理方法 存储空间管理方法要从以下几个方面考量, 1)用什么方法管理和组织 ...

  6. Mountain Duck for Mac(云存储空间管理软件) v2.6.7永久破解版

    如何将您的云空间进行本地化管理?那就全靠Mountain Duck这款好用的云存储空间管理软件了!Mountain Duck Mac与我们熟悉的Cyberduck是一对孪生兄弟.这只山鸭擅长的是将你的 ...

  7. 文件管理:文件存储空间管理

    文件存储空间管理 文件管理:文件存储空间管理 1.1 存储空间的划分与初始化 1.1.1 逻辑卷 1.1.2 目录区与文件区 1.2 存储空间管理的方法 1.2.1 空闲表法 1.2.2 空闲链表法 ...

  8. oracle存储空间管理,Oracle存储空间管理

    Oracle存储空间管理 1.查看每个数据文件的剩余表空间(一个表空间只对应N个数据文件,N一般等于1) 主要是利用表dba_free_space(表空间剩余空间状况)和dba_data_files( ...

  9. 4.1.5 文件存储空间管理

    目录 思维导图 存储空间的划分和初始化 空闲表法 空闲链表法 空闲盘块链 空闲盘区链 位示图法 成组链接法 思维导图 存储空间的划分和初始化 空闲表法 空闲链表法 空闲盘块链 空闲盘区链 位示图法 成 ...

最新文章

  1. 通过图形界面配置Exchange2010 DAG
  2. 漫画:IT人的大阅兵,十分精彩!
  3. 记录平时编程或者阅读英文文档的时候不认识的英文单词
  4. 智慧交通day01-算法库02:imutils
  5. JQzoom的一些问题
  6. Java SringBoot demo
  7. 【英语】The Little Prince
  8. 第十五讲 循环体for基础
  9. Cockroachdb 三、副本设置
  10. 性能优化,进无止境---内存篇
  11. rua出300道四则运算题
  12. php laravel 忘记密码,Laravel实现找回密码及密码重置,详细操作
  13. 浅谈大根堆,小根堆,以及堆排序(python)实现
  14. CA周记 - 在 Azure ML 上用 .NET 跑机器学习
  15. 摇一摇语音报时(序)
  16. 没有同理心_在设计上超越同理心
  17. 展示软件下载v2.0
  18. MAC终端常用命令行(后续继续更新,敬请关注)
  19. PhpStorm 10.0.3汉化破解版
  20. ProgressBar控件

热门文章

  1. 第14课:实战之用 Python 写一个简易爬虫
  2. Oracle EBS财务模块(一)基本功能
  3. Linux的安装与系统介绍
  4. python DataScience数据分析笔记day06
  5. Js push整个数组
  6. 一篇文章读懂摄像头帧率、码流、分辨率的关系
  7. PHP PDF内容识别 抓取信息 方法
  8. 爱快可迅速普及家庭专线?
  9. 好看无边框网站通用的文字源码 广告代码
  10. STM32F4PWM详解