文件控制块FCB
用于存储与文件相关的信息,与文件一一对应。通常包含文件权限、日期、所有者、大小、数据块的指针。
文件目录
inode
UNIX中,每一个文件有对应的inode,里面包含文件的信息,与FCB类似。系统内部不使用文件名,而使用inode号码来识别文件。
打开
打开文件时,需要记录有关信息:
有的操作系统提供锁功能,来避免边写边读,导致值不可复现错误:
关闭
存取
顺序访问
从头到尾访问
直接访问
从某点切入访问
借助索引访问
磁盘可以进行分区;盘或者分区可以通过RAID进行保护;包含文件系统的分区通常称为卷。
目录可以视为文件名称构成的符号表。
单级目录
最简单的目录,所有文件都在同一目录中,按名访问,文件必须有唯一的名称
两级目录
每个用户有自己的UFD。用户搜索文件时,只搜索自己的UFD,解决了名称碰撞。但是这种隔离性让用户之间进行合作变得困难。
树形目录
使得用户可以创建自己的子目录并相应地组织文件
无环图目录
不同目录可以拥有同一个文件或目录,允许用户之间共享子目录和文件
虚悬指针问题:如果一个用户删除了该文件,而另一个用户不知道
解决方法:可以采用引用计数方案。
设文件F1的当前引用计数值为1,先建立F1的符号链接文件F2,再建立F1的硬链接文件F3,然后删除F1。此时,F2和F3的引用计数值分别是?
硬链接:新文件和被链接文件指向同一个节点,引用计数值加1。当删除被链接文件时,引用计数值减1,直到引用计数值为0时,才能真正删除文件。
软链接:又叫符号链接,新文件中只包含了被链接文件的路径名,和被链接文件指向不同的节点。建立软链接文件时,文件的引用计数值不会增加。当被链接文件删除时,新文件仍然是存在的,只是不能通过新文件访问被链接文件。因此删除软链接时,引用计数值不变化。
因此,在本题中,当建立F2时,F1和F2的引用计数值都为1。当再建立F3时,F1和F3的引用计数值就都变成了2。当后来删除F1时,F3的引用计数值为2-1=1。F2的引用计数值仍然保持不变。
通用图目录
在添加链接时,可能破坏树形结构,形成有环的图。
文件系统被访问前,需要先被挂载在挂载点上。
文件需要进行访问权限控制。许多系统使用三种用户类型:所有者、组、其他,提供读、写、执行三种权限控制,这样共计3*3=9位控制点,每种类型3位,可用一个八进制数表示。
原文:https://www.cnblogs.com/zxuuu/p/13021782.html