操作系统笔记:文件管理

操作系统笔记
原作者视频地址:https://www.bilibili.com/video/BV1YE411D7nH?spm_id_from=333.337.search-card.all.click
本人为自学整理的文档

第四部分:文件管理

1.文件的概念

以计算机硬盘为载体的存储在计算机上的信息集合(目录也算文件类型)

2.文件的结构

(1)文件的逻辑结构
a.无结构文件(流式文件—>字符流文件【记事本文件】和字节流文件【视频、图片文件】):以字节为单位,没有具体结构
b.有结构文件(记录式文件)
有结构文件主要有四种,下面逐个说明:
【1】顺序文件
在物理存储上,存取顺序一致;
如果是可变长文件,用链表存储,特点是方便增删;如果是定长文件,用数组存储,特点是方便查找
【2】索引文件
索引表,定长文件,记录的是记录的地址,特点是可以实现快速定位和可变长

【3】索引顺序文件
也是一张索引表,记录的是一组记录(链表)的地址,而链表的查找依然是效率较低,如果想要减小后面的链表大小,就要增大索引表,可以考虑多级索引表
【4】直接文件或散列文件
映射结构,将复杂的数据压缩成关键字,用户通过hash函数计算关键字对应的值,用这个值索引查找超大的数据数组,得到Value
(2)文件的物理结构
a.文件控制块(目录也算文件类型):记录文件的相关信息
b.索引节点(将FCB拆成两部分)

c.目录结构:多级目录
一个文件如何被共享?
将一个文件标记为可共享,这样就将这个文件暴露在其他要使用者面前,然后就可以进行共享操作,每增加一个共享用户,共享文件的计数器就会加一
,减少一个用户计数器就会减一,直到计数器值为0,如果没有使用者使用了,就将文件标记为非共享,这样使用者就看不到这个文件了,这样的做法实现了
逻辑上的删除,物理上文件是依然存在的

3.文件的共享和保护

(1)文件共享
硬链接(基于索引节点实现共享):将共享文件的索引节点指针添加到当前目录
软链接(基于符号链实现共享):创建lnk文件(类似快捷方式)加入任何目录,通过lnk文件访问共享文件
(2)文件保护
口令保护、加密保护、访问控制

4.文件系统管理


1.文件系统的实现
(1)目录实现(目录就是为了查找)
线性列表(链表和数组),哈希表

(2)文件实现(注意每一个表就是对外存的一次I/O操作)
2.文件分配方式:
连续分配—>记录起始块号和长度,将文件分成多个逻辑块,然后连续分配在磁盘的物理块,优点是支持顺序访问和直接访问,缺点是扩展文件不方便,有可能产生磁盘碎片(外部碎片:由于过小而不可用的外存)

链接分配—>记录起始和结束块号
隐式链接如下(不给文件分配表,通过当前块才能访问下一块):

说明:直接访问就是按磁盘的顺序对文件的分块位置进行访问,如上图1->10->7,要想访问7时必须访问10才能找到7,这个过程可能已经找到7很多次了
显示链接如下:

说明:a.前面的隐式链接是必须把第一个块读出来才能找到下一块,而显示链接有一个表来给出下一块的地址
b.显示链接就是典型的用空间换时间,通过对磁盘创建一个文件分配表,并将这个表加载到且需要常驻在内存中
c.一个磁盘只有一个文件分配表

索引分配—>对文件建立文件的索引表

如果索引表记录不完所有的块,就引入多级索引表,前一级记录下一级的地址
3.文件存储空间管理
空闲表法:建立空闲盘块表,将连续空闲块的首个块号和带上首个的连续总空闲块记录,适用于连续分配方式

空闲链表法:一种记录每个盘块,一种记录连续盘区

成组链接法

位示图法(所有盘块都列出来)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜以冀北

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值