文件的逻辑结构
无结构文件
有结构文件
定长和可定长
顺序文件
注意:只有顺序存储的定长记录才能完成随机存储,链式存储和顺序存储的变长记录是无法实现随机存储的
索引文件
索引顺序文件
多级索引顺序文件
总结
文件目录
文件控制块
单级目录结构
两级目录结构
多级目录结构
绝对路径
相对路径
无环图目录结构
索引节点(FCB的改进)
将除了文件名之外的所有信息都存放在索引节点中,在检索文件的时候就可以不用检索其他的信息,以加快检索速度
文件的基本操作
打开文件
打开文件本质上就是将文件从磁盘调入内存中,每个程序都有一个文件打开表,系统也有一个打开文件表,如果有多个进程打开文件,在系统文件区中需要计数器加一
关闭文件
写文件
保存文件调用了写文件
总结
文件共享
复制和共享的区别
基于索引结点的共享方式(硬链接)
基于符号链的共享方式(软连接)
类似于快捷方式
文件保护
口令保护
加密保护
访问控制
文件层次结构
真题
2020:系统打开文件表中不管有多少程序在访问都只有一个表项表示被访问的文件。不同进程的打开文件表中,就算表示的是同一个文件,表项的内容都不相同
2018: 提前读,延迟写,为文件分配连续的簇,采用磁盘高速缓存,都可以提高文件的访问速度。
2018:文件系统用1m个簇存放文件索引结点,族大小为4k,,索引结点占64B,用512m个簇存放文件数据,若一个图像文件大小为5600B,则给文件系统最多能存放的图像文件是多少?
一个文件需要两个簇才放的下,512m个簇则可以存放256m个文件,4kx1m/64B=64M个索引文件,文件数量首索引上限和数据上限控制,所以最多能放64m个图像文件
2017:若文件f1的硬链接为f2,两个进程分别打开f1和f2,获得对应的文件描述为fd1和fd2,则f1和f2共享同一个内存索引结点,fd1和fd2分别指向各自的用户打开文件表的一项,当时f1和f2的读写指针位置不同,虽然都指向同一个文件,但是f1还是从f1出发的,f2是f2出发的。
2014:一个文件被用户进程首次打开即白执行了Open操作,会把文件的FCB调入内存,而不会把文件内容读入到内存中,只有进程希望获取文件内容的时候才会读入文件内容在内存。
2013:若文件系统索引结点中有直接地址项和间接地址项,则下列下列选项中,与单个文件长度无关的因素是?
A.索引结点总数 B.间接地址索引的级数 C.地址项的个数 D.文件块大小
解:结点索引总数是记录所有文件大小的,间接地址索引级数越多单个文件的容量越大,地址项越多单个文件容量越大,文件块越大每个地址项的数据就越多所以单个文件容量也越大,选A。
2012:
read系统调用的参数不包括文件名称,要读一个文件之前需要先open一个文件,在open的过程中参数包含文件的路径名与文件名,而read只需要使用open返回的值就可以了,不需要上传文件名,read需要上传的参数有1.文件描述符2.buf缓冲区首地址3.传送字节数。