文件系统

第五章 文件系统

文件

文件系统的用户接口包括文件的 命名类型属性对文件的操作

文件命名

所有操作系统都允许使用 1-8个字母组成的字符串

多数操作系统都支持文件名用 圆点 隔开分为两部分,圆点后面的部分称为 文件扩展名

文件结构

  1. 无结构字节序列(流式文件):
    • 代表:Windows、Unix;
    • 优点:提供灵活性
  2. 固定长度记录序列:
    • 中心思想:读操作返回一个记录,写操作重写或追加一个记录
  3. 树形结构:
    • 记录长度不定;
    • 在记录的固定位置包含一个 关键字域
    • 记录树 按关键字域排序

文件类型

  1. 正规文件,分类:
    • ASCII文件:可显示和打印,通常的文件编辑器可边际;
    • 二进制文件,不能直接显示和打印,需要专门编辑器;
  2. 目录 文件:管理文件系统的 系统文件
  3. 字符设备 文件:和 输入输出 有关;
  4. 块设备 文件:用于 磁盘类 设备;

文件存取

  1. 顺序存取:早期,从文件开始处读取信息,不能跳过;
  2. 随机存取:又称直接存取,可以以任意顺序读取文件信息;

文件属性

除了文件名和文件数据外,其他与文件相关的信息,如创建日期、文件大小、修改时间等。

文件操作

命令 功能
CREATE 创建
DELETE 删除(释放磁盘空间)
OPEN 打开
CLOSE 关闭
READ
WRITE
APPEND 在末尾写
SEEK 找到读取位置
GETATTRIBUTES 获取文件属性
SETATTRIBUTES 设置文件属性
RENAME 重命名

目录

目录是文件系统中实现 按名访问 的重要数据结构。

目录文件的结构

目录文件有两种常见的结构:属性放在 目录项 中和放在 i结点 中。

i结点:包含 文件属性文件块的磁盘地址 的数据结构。

目录文件的结构.png

目录结构

单层目录(根目录)

问题:文件命名、搜索效率低

单层目录(根目录).png

两级目录

优点:解决重名问题,查找快

问题:增加系统开销

两级目录.png

树形目录

优点:

  1. 便于文件分类
  2. 层级结构清晰
  3. 便于管理和保护
  4. 解决重名问题
  5. 查找速度快

问题:结构相对复杂

树形目录.png

路径名

采用 树形目录 时,需要有某种方法指明文件。

绝对路径名:从根目录到文件

相对路径名:从当前工作目录到文件

目录操作

命令 功能
CREATE 创建
DELETE 删除
OPENDIR 打开,列出目录中的文件和子目录的前提
CLOSEDIR 关闭
READDIR 以标准格式返回打开目录的下一级目录项
RENAME 重命名

文件系统的实现

实现文件

文件系统通常是以 2的n次方个连续的扇区 为单位对文件进行磁盘空间的分配,把 分配给文件的连续扇区 构成的 磁盘块 称为

文件存储的常用方式:

  1. 连续分配;
  2. 磁盘链接表;
  3. 内存的链接分配表;
  4. i-结点;

连续分配

把每个文件作为一连串的数据块放在磁盘上。

优点:

  1. 实现简单,记录每个文件用到的簇仅需存储两个数字即可:第一块的磁盘地址文件的块数
  2. 读操作性能好,在单个操作中就能从磁盘上读取整个文件;

缺点:磁盘变得零碎,空闲的连续簇形成 空洞

文件存储方式-连续分配.png

磁盘链接表

为每个文件构造簇的 链接表,每个簇开始的几个字节用于存放下一个簇的簇号,簇的其他部分存放数据,每个文件可以存放在不连续的簇中。

缺点:随机存取相当缓慢,要获得文件的第n块,每一次都要从头开始读取前面的n-1块。

文件存储方式-磁盘链接表.png

内存的链接分配表

将文件所在的磁盘的簇号放在内存的表(文件分配表)中。

典型:MS-DOS

缺点:必须把 整个表都存放在内存 中,磁盘容量大时,表占的内存比较大。

文件存储方式-内存的链接分配.png

i-结点

为每个文件赋予一个被称为 i结点 的数据结构,其中列出了 文件属性文件块的磁盘地址

文件存储方式-i-结点.png
文件存储方式-i-结点例题.png

实现目录

  1. CP/M 中的目录:以 为单位来记录文件长度;
  2. MS-DOS 中的目录:使用 文件分配表FAT 作为索引表来存放文件数据所在簇的簇号;
  3. UNIX 中的目录;
文件系统的目录实现.png

磁盘空间管理

磁盘空间管理是文件系统的重要功能,包括记录空闲磁盘信息、设计文件的存放方式,以及规定文件系统的 簇大小 等内容。

簇大小:文件系统为文件分配磁盘空间以 为单位。

簇大小过大:容易造成空间浪费。

簇大小过小:文件跨越簇,访问文件时间延长。

一般簇大小是 2的整数次幂连续的扇区

记录空闲块,跟踪记录空闲块的两种常用方法:

  1. 空闲簇链接表:用一些空闲簇存放空闲簇的簇号;
  2. 位图:用 n位 位图对应磁盘的 n个簇
    • 1:表示空闲簇;
    • 0:表示已分配簇;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,706评论 4 366
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,002评论 1 301
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,462评论 0 250
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,375评论 0 216
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,763评论 3 294
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,849评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,033评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,768评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,490评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,734评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,204评论 1 264
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,566评论 3 260
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,227评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,137评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,934评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,926评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,774评论 2 274

推荐阅读更多精彩内容