1.文件属性结构
文件属性主要有:文件类型、文件长度、文件的物理位置、文件的建立时间等。
2.文件的打开和关闭是干什么的?
所谓“打开”(open),是指系统将指名文件的属性(FCB——包括该文件在外存上的物理位置)从外存拷贝到内存打开文件表的一个表目中,并将该文件返回给用户。
所谓“关闭”(close),系统调用来关闭系文件,OS将会把该文件从打开文件表中的表目上删除掉。
打开文件——任何一个文件使用前都要先打开,即把文件的FCB送到内存。
关闭文件:把文件在主存中的FCB写入磁盘,并修改系统打开文件表和用户打开文件表。
3.文件的读、写、删除是干什么的?
读文件:在读一个文件时,须在相应系统调用中给出文件名和应读入的内存目标地址。此时,系统同样要查找目录,找到指定的目录项,从中得到被读文件在外存中的位置。在目录项中,还有一个指针用于对文件的读、写。
写文件:在写一个文件时,须在相应系统调用中给出该文件名及该文件在内存中的地址。为此,也同样须查找目录,找到指定文件的目录项,再利用目录中的写指针进行写操作。
删除文件:当已不再需要某文件时,可将它从文件系统中删除。在删除时,系统应先从目录中找到要删除的文件找到要删除文件的目录项,使之成为空项,然后回收该文件所占用的存储空间。
4.文件逻辑结构的类型和特点
(1)有结构文件
顺序文件:其中记录通常是定长记录,因而能用较快的速度查找文件中的记录。(顺序文件的优点适合顺序存取,批量存取的效率高。顺序文件的缺点变长记录文件随机直接存取效率低。)
索引文件:记录为可变长度时,为每个文件建立一张主索引表,每个逻辑记录在索引表中建立一个表项,以加快对记录的检索速度,每一个表项设一指针指向对应的逻辑记录。(索引文件很容易实现对逻辑文件的随机访问。)
顺序索引文件:将顺序文件的所有记录分成若干个组,并为顺序文件建立一张索引表,索引表的表项为每组第一个记录的键值和指向该记录的指针。(索引顺序文件一般按关键字顺序组织文件。)
(2)无结构文件
5.目录查询技术
当用户要访问一个已存在文件时,系统首先要利用用户提供的文件名对目录进行查询,找出该文件的文件控制块对应索引结点;然后,根据FCB或索引结点中所记录的文件物理地址,换算出文件在磁盘上的物理位置;最后,再通过磁盘驱动程序,将所需文件读入内存。目前对目录进行查询的方式有两种:线性检索法和Hash方法。
6.文件的共享
(1)基于索引结点的共享方式(硬链接)
(2)基于符号链的文件共享(软链接)