文件系统(学习笔记)

文件和文件系统

文件的概念
具有符号名的相关信息的集合,例如源程序,各种记录等等。
文件的基本特征
1、内容为一组信息。
2、可长期保存
3、可按名存取
文件的分类方式
1、按用途(系统文件、用户文件、应用程序文件)
2、按保护方式(只读、读写、无保护)
3、按信息流向(输入文件、输出文件、输入/输出文件)
4、按保存期限(临时文件、档案文件、永久文件)
5、按设备(硬盘文件、光盘文件)
文件属性
文件名、文件标识符、文件类型、文件大小、文件的建立时间、文件的物理位置、文件的保护信息。
文件系统
为了方便用户使用软件资源,由操作系统提供的为了管理文件的软件机构,文件系统中既包含用于文件管理的程序,也包含运行这些程序需要的数据结构。
一个理想的文件系统应该有:文件存储器、实现按名存取、具有多样的文件结构和存取方法、向用户提供一套方便的操作命令、保证文件信息的安全性、便于文件共享。

文件目录项和文件目录结构

文件目录
包含了文件的说明信息和控制信息,其中有文件的说明信息、文件目录表和文件目录项。
文件控制块(FCB)
内容:
1、基本信息(文件名、文件类型、物理位置)
2、文件逻辑结构(用户角度)
3、文件物理结构(系统角度)
4、存取控制信息(权限)
5、使用信息(例如修改时间)
目录管理要求
1、实现“按名存取”
2、文件共享
3、提高检索速度
4、允许重名

文件目录结构

一级目录结构:建立一张目录表,每个文件占有一项。
优点:管理方便
缺点:不允许重名,文件较多时查找耗时

二级目录结构:为每个用户建立独立目录结构,由一个主目录和若干用户目录组成,主目录中的目录项记录用户目录的名称和地址。
优点:部分解决了文件重名问题和文件共享问题,降低查找时间
缺点:增加系统开销,用户之间隔离

多级目录结构:有一个主目录,在根目录下有许多子目录和普通文件
优点:层次清晰,解决重名问题;便于管理和保护;有利于文件分类;提高检索速度。
缺点:禁止共享文件和目录。

文件目录的实现
线性表:存储文件名和数据块指针。
优点:编程简单。
缺点:运行费时。

哈希表:根据文件名进行哈希
优点:减少了目录检索时间
缺点:冲突问题,哈希函数对大小的依赖性。

文件逻辑结构和访问方法

文件结构分为逻辑结构和物理结构,逻辑结构又分无结构的字节流和有结构的记录式,而文件系统就是为了实现用户逻辑结构和相应存储设备上的物理文件之间映射,实现相互转换。
逻辑结构的基本要求
1、提高检索速度
2、便于修改
3、降低文件的存储费用
访问方法
顺序访问:严格按照先后次序访问。(一般用于变长文件)
直接访问(随机访问):一般针对定长文件,访问时指出记录号。
按键访问(key):按照给定的字段值访问,一般用于数据库。

文件的物理结构和存储介质

文件的物理结构
指一个文件在文件存储器上存储方式及其与文件逻辑结构的关系。
说明:
物理块:将文件的存储器的存储空间分为若干大小相等的块。(有时也可以多个快一起以簇的形式存在)
物理文件:文件存储器的文件
物理记录:存放文件记录的物理块

连续文件
把逻辑上连续的文件信息存储在连续的物理块中
优点:实现简单,存取速度块,在播放视频之类的需要不断的连续访问的工作时有优势。
缺点:不灵活,不能动态拓展;容易产生碎片
链接文件
把逻辑上连续的信息存储在不一定连续的物理块中,逻辑相邻的物理块中有指针指向下一个物理块,最后一个物理块指针为0.
优点:提高磁盘利用率,少有碎片;有利于文件增减。
缺点:指针需要额外空间,只能顺序存取
改进:使用文件分配表,文件分配表缓存在内存中,如下图。

在这里插入图片描述

优点:方便顺序存取,也容易随机存取。
缺点:不缓存FAT(文件分配表),将导致大量的磁头寻道时间,缓存的话又占用空间。

索引文件
在文件的目录表中为每个文件保留索引表块号。
优点:允许动态修改;允许随机存取。
缺点:索引表占用空间;降低存取速度(先访问索引表,在访问文件信息)

在这里插入图片描述

改良:多级索引,混合索引

存储介质
在这里插入图片描述

文件存储空间管理

基本分配单位为磁盘块(簇)
空白文件目录法
为所有的空白文件建立一张表,记录整个文件存储器的空闲空间,适合于静态分配(连续分配)。
在这里插入图片描述

空白快链表
适合动态分配,将所有空闲块连接成一个链表
优点:管理简单
缺点:工作效率第,分配和释放要读写多个盘块来完成对链的修改。

成组空闲块链表
利用空闲块管理空闲块,每个磁盘块记录尽可能多的空闲块而组成一组,各组间存在链表。
在这里插入图片描述

位映像表
适合文件动态和静态分配的最简单方法,使用一个位向量,每个块占用一位,0为空闲,一位占用。
优点:容易找到连续空白快,尺寸固定,通常不大,可以存在主存中。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值