一、文件存储空间管理的概念

由于文件存储设备是分成若干个大小相等的物理块,并以块为单位来交换信息的,因此,文件存储空间的管理实质上是一个空闲块的组织和管理问题,它包括空闲块组织,空闲块的分配和空闲块的回收等几个问题。

二、文件存储空间管理的方式

1. 空闲表法(空闲文件目录)

操作系统为磁盘外存上所有空闲区建立一张空闲表,每个表项对应一个空闲区,空闲表中包含序号、空闲区的第一块号、空闲块的块数等信息。

空闲表法适用于连续文件结构,其分配的方式是,在系统为某个文件分配空闲块时,首先扫描空闲表项,如找到合适的空闲区项,则分配给申请者,并把该项从空闲表中去掉。如果一个空闲区项不能满足申请者的要求,则把空闲表中的另一项满足要求的分区分配给申请者(连续文件结构除外)。如果一个空闲表项所含块数超过申请者要求,则为申请者分配了所要的物理块后,再修改该表项。

2. 空闲链表法(自由链表法)

将所有空闲盘区拉成一条空闲链,根据空闲链所有的基本元素不同,可以把链表分成两种形式:空闲盘块链和空闲盘区链。

空闲盘块链是将磁盘上的所有空闲分区,以盘块为单位拉成一条链,当用户创建文件请求分配存储空间时,系统从链首开始,依次摘下适当数目的空闲盘块分配给用户;当用户删除文件时,系统将回收的盘块依次加入到空闲盘块链的末尾。

空闲盘区链是将磁盘上的所有空闲盘区(每个空闲盘区可包含若干个盘块)拉成一条链。在管理的线性表中,每一个表项对应一个空闲区,增加一项存放指向空闲块的指针,将磁盘上的所有空闲区(可包含若干个空闲块)拉成一条链。每个空闲区上除含有用于指示下一个空闲区的指针外,还有本盘区大小(盘块数)的信息。

3. 位示图法

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

4. 成组链接法

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

以下以UNIX操作系统为例,说明成组链接法的原理。

(1) UNIX操作系统采用索引结构存放文件物理块的地址

在UNIX 操作系统中,一个块定义为512 bytes,每一个文件对应一个唯一的机内代码,称为i节点,在文件的i节点中,放有存放文件的物理块号,由对应文件的逻辑字节偏移量计算出逻辑块号后,就可搜索i节点的地址索引结构而得文件的物理块号。

(2) UNIX system 的i节点中,定义有一个40字节长的字符数组。

由于每个物理块占用3个字节,因此,此字符组最多可以放下13个物理块号。显然,对于大于13个物理块(6.5KB)的文件,i节点中的索引数组将无法存放所有的物理块号。

(3) UNIX系统把文件分为小型、中型、大型和巨型四种。

(4) UNIX 系统文件的物理结构如图1

(5)UNIX的空闲块管理也使用类似的方法

操作系统中文件存储空间的管理相关推荐

  1. 六、文件管理(5.文件存储空间的管理)

    一.存储空间的划分和初始化 存储空间的划分:         将物理磁盘划分为一个个文件卷(逻辑卷.逻辑盘). 在存储空间初始化时,需要将各个文件卷划分为目录区.文件区. (1) 目录区:主要存放文件 ...

  2. 系统盘压缩卷小于可用空间_操作系统中的可用空间管理

    系统盘压缩卷小于可用空间 可用空间管理 (Free space management) As we know that the memory space in the disk is limited. ...

  3. 第八章 磁盘存储器的管理(二)——文件存储空间的管理

    为实现存储空间分配,系统需要: 记住空闲存储空间使用情况:为空间设置相应的数据结构: 提供对存储空间分配.回收的操作手段. 典型的管理方法: 1)空闲表和空闲链表法 空闲表法:常用于连续分配管理方式 ...

  4. DJ6-4 文件存储空间的管理

    目录 6.4.1  空闲表 1.存储空间的分配与回收 2.空闲表法的优缺点 6.4.2  空闲链表 1.空闲盘块链 2.空闲盘区链 6.4.3  位示图 1.位示图的表示 2.存储空间的分配 3.存储 ...

  5. linux操作系统中文件系统管理--实训

    一.前言 linux操作系统实验报告.写实验报告当代大学生必备技能,这个实验报告,我丢在CSDN保存一下.截图是自己用自己的linux操作系统做的. 二.内容 1.项目实训目的 ·掌握Linux下文件 ...

  6. linux中文件输出输入,linux中文件输入输出的管理

    一..输入输出的定义 1,输入:输入是指我们的键盘,鼠标等硬件在系统中录入的字符 2,输出:输出是指系统在接受到我们想要实现的功能字符后,经过进程的处理产生的字符, 输出会有两种出现,编号1为正确输出 ...

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

    文件存储空间的管理 实质上是一个空闲块的组织和管理问题,它包括空闲块组织,空闲块的分配和空闲块的回收等几个问题. 空闲区表法 空闲表法属于连续分配方式.它与内存管理中的动态分区分配方式相似. 将外存空 ...

  8. 操作系统中的名词解释

    1.说明现在操作系统的功能主要有哪些? 计算机系统的资源可分为设备资源和信息资源两大类.操作系统位于底层硬件与用户之间. 进程管理,其工作主要是进程调度,在单用户单任务的情况下,处理器仅为一个用户的一 ...

  9. linux操作系统 第07章 磁盘管理

    第7章   文件管理 7.1  文件管理概述 7.1.1  文件与文件系统 1. 文件 文件是具有名字的一组相关信息的有序集合,存放在外部存储器中.文件的名字称为文件名,它是文件的标识.文件的信息可以 ...

最新文章

  1. html中的js点击ipunt后加一,iphone 端 ipunt输入框光标偏移
  2. C/C++循环输入问题
  3. python怎么自动生成测试报告_python生成接口自动化测试报告模版
  4. PostgreSQL触发器的使用
  5. pythonlist基本操作_Python 列表(list)简介及基本操作
  6. Go语言之标志符可见性
  7. deactivate Data synchronization
  8. 数据仓库事实表分类[转]
  9. require.js使用(一)
  10. php判断访问的当前设备是手机还是电脑
  11. 案例分享|数据可视化下的驱动业务增长
  12. 利用HBuilderX制作手机APP应用程序之知识问答
  13. spring ioc控制反转
  14. 大数据时代如何安全使用WIFI
  15. JAVA文件传输原理及介绍—狂神说
  16. 自适应控制与鲁棒控制的区别
  17. Neutron DVR实现multi-host特性打通东西南北流量提前看(by quqi99)
  18. 【ACwing】一、基础算法:1.1 递归枚举(指数型)
  19. 360技术笔试+技术能力笔试(1)——能力测评
  20. 新浪微博技术架构分析

热门文章

  1. 好心情医生:精神病性症状≠精神分裂症
  2. 什么是迭代器(Iterator)
  3. 在EXCEL表格中经常会遇到有合并单元格时,汇总计算的公式无法直接下拉自动填充计算,掌握这个小技巧一键汇总
  4. 巴西棕榈蜡的提取方式
  5. 极流行的四型人格分类,你是哪一种?
  6. mysql sql宽字节注入_sql注入之(宽字节注入篇)
  7. Nodejs+express 代码工程打包 PKG
  8. 多目标跟踪评价指标总结——MOTA、IDF1、HOTA等
  9. openGL平行光、点光、聚光
  10. UVA 10306 e-Coins(二维完全背包)