操作系统中文件存储空间的管理
一、文件存储空间管理的概念
由于文件存储设备是分成若干个大小相等的物理块,并以块为单位来交换信息的,因此,文件存储空间的管理实质上是一个空闲块的组织和管理问题,它包括空闲块组织,空闲块的分配和空闲块的回收等几个问题。
二、文件存储空间管理的方式
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的空闲块管理也使用类似的方法
操作系统中文件存储空间的管理相关推荐
- 六、文件管理(5.文件存储空间的管理)
一.存储空间的划分和初始化 存储空间的划分: 将物理磁盘划分为一个个文件卷(逻辑卷.逻辑盘). 在存储空间初始化时,需要将各个文件卷划分为目录区.文件区. (1) 目录区:主要存放文件 ...
- 系统盘压缩卷小于可用空间_操作系统中的可用空间管理
系统盘压缩卷小于可用空间 可用空间管理 (Free space management) As we know that the memory space in the disk is limited. ...
- 第八章 磁盘存储器的管理(二)——文件存储空间的管理
为实现存储空间分配,系统需要: 记住空闲存储空间使用情况:为空间设置相应的数据结构: 提供对存储空间分配.回收的操作手段. 典型的管理方法: 1)空闲表和空闲链表法 空闲表法:常用于连续分配管理方式 ...
- DJ6-4 文件存储空间的管理
目录 6.4.1 空闲表 1.存储空间的分配与回收 2.空闲表法的优缺点 6.4.2 空闲链表 1.空闲盘块链 2.空闲盘区链 6.4.3 位示图 1.位示图的表示 2.存储空间的分配 3.存储 ...
- linux操作系统中文件系统管理--实训
一.前言 linux操作系统实验报告.写实验报告当代大学生必备技能,这个实验报告,我丢在CSDN保存一下.截图是自己用自己的linux操作系统做的. 二.内容 1.项目实训目的 ·掌握Linux下文件 ...
- linux中文件输出输入,linux中文件输入输出的管理
一..输入输出的定义 1,输入:输入是指我们的键盘,鼠标等硬件在系统中录入的字符 2,输出:输出是指系统在接受到我们想要实现的功能字符后,经过进程的处理产生的字符, 输出会有两种出现,编号1为正确输出 ...
- 操作系统---文件的空闲管理
文件存储空间的管理 实质上是一个空闲块的组织和管理问题,它包括空闲块组织,空闲块的分配和空闲块的回收等几个问题. 空闲区表法 空闲表法属于连续分配方式.它与内存管理中的动态分区分配方式相似. 将外存空 ...
- 操作系统中的名词解释
1.说明现在操作系统的功能主要有哪些? 计算机系统的资源可分为设备资源和信息资源两大类.操作系统位于底层硬件与用户之间. 进程管理,其工作主要是进程调度,在单用户单任务的情况下,处理器仅为一个用户的一 ...
- linux操作系统 第07章 磁盘管理
第7章 文件管理 7.1 文件管理概述 7.1.1 文件与文件系统 1. 文件 文件是具有名字的一组相关信息的有序集合,存放在外部存储器中.文件的名字称为文件名,它是文件的标识.文件的信息可以 ...
最新文章
- html中的js点击ipunt后加一,iphone 端 ipunt输入框光标偏移
- C/C++循环输入问题
- python怎么自动生成测试报告_python生成接口自动化测试报告模版
- PostgreSQL触发器的使用
- pythonlist基本操作_Python 列表(list)简介及基本操作
- Go语言之标志符可见性
- deactivate Data synchronization
- 数据仓库事实表分类[转]
- require.js使用(一)
- php判断访问的当前设备是手机还是电脑
- 案例分享|数据可视化下的驱动业务增长
- 利用HBuilderX制作手机APP应用程序之知识问答
- spring ioc控制反转
- 大数据时代如何安全使用WIFI
- JAVA文件传输原理及介绍—狂神说
- 自适应控制与鲁棒控制的区别
- Neutron DVR实现multi-host特性打通东西南北流量提前看(by quqi99)
- 【ACwing】一、基础算法:1.1 递归枚举(指数型)
- 360技术笔试+技术能力笔试(1)——能力测评
- 新浪微博技术架构分析