1、文件系统是操作系统中管理和存取文件的软件机构,由负责文件操作和管理的程序模块、所需的数据结构、以及访问文件的一组操作组成
2、功能:
用户:实现“按名存取”的功能
系统:构造文件结构、提供存取文件的方法、提供文件共享功能、文件保护、辅存空间管理、提供一组文件操作命令
3、文件的逻辑结构:
流式文件(无结构):流式文件是按信息的个数或以特殊字符为界进行存取的;
记录式文件(有结构的文件):定长记录、变长记录(需要一个字节记录记录的大小)
4、文件存取方法:顺序存取、任意存取(要指出起始存取位置(例如记录号))
5、物理结构:
连续文件:由一组分配在磁盘连续区域的物理块组成的。
特点:速度快、长度一经固定不易改变、增生和扩充不易
串联文件:串联文件结构是按顺序由串联的块组成的,即文件的信息存于若干块物理块中,每个物理块的最末一个字作为链接字,它指出后继块的物理地址。文件的最后一块的链接字为结束标记“∧”,它表示文件至本块结束。
特点:较好地利用辅存、易于文件进行扩充和增生、连续存储时速度较快
索引文件:系统为每个文件建立逻辑块号与物理块号的对照表。这张表称为该文件的索引表。文件由数据文件和索引表构成。这种文件称为索引文件。
特点:易于文件的增删、直接读写任意记录
间接索引:文件目录项中有一组表项,其内容登记的是第一级索引表块的块号。第一级索引表块中的索引表项登记的是文件逻辑记录所在的磁盘块号。
注意二级在前面
6、UNIX系统的索引文件结构
目录项=文件名(不是块)+对应i节点(索引节点)编号
i节点:UNIX系统把文件目录项中除了名字以外的信息全部存放到一个数据块上
7、
8、
9、文件物理结构
10、文件目录:文件目录是记录文件的名字、存放地址及其他有关文件的说明信息和控制信息的数据结构。
一级文件目录:系统将已建立的所有文件的文件名、存放地址及有关的 说明信息放在一张表中,这张表称为一级文件目录。
特点:按名存取较容易、不允许两个文件有相同的名字。
多级(树型)文件目录:在多级目录系统中(除最末一级外),任何一级目录的目录项可以描述一个目录文件,也可以描述一个非目录文件(数据文件),而数据文件一定在树叶上。
11、
所谓“链接”,就是在相应目录表目之间进行链接,即:一个目录中的表目直接指向另一个目录表目所在的物理位置。
这种链接不是直接指向文件,而是指向相应的目录表目。这种办法也称为连访,被共享的文件称为连访文件。
12、文件的保护是指文件本身不得被未经文件主授权的任何用户存取,而对于授权用户也只能在允许的存取权限内使用文件。
如何进文件的保护: 需要对用户的权限进行验证。
13、VFS:虚拟文件系统也成称虚拟文件系统转换,它是一个内核软件层,用来处理与UNIX标准文件系统相关的所有系统调用。
一个用户程序中的写操作请求通过VFS的映射、实际文件系统的具体实施,最终将信息写到物理介质上。
VFS虚拟文件系统、支持的文件系统类型: 磁盘文件系统、网络文件系统、特殊文件系统
VFS通用的文件系统模型包含的内容 :
该模型包括了所有不同类型的文件系统常用的功能和操作,它定义了所有文件系统都支持的基本的、概念上的接口和数据结构。
14、fs_struct结构体和file_struct结构体的作用
描述进程的当前目录(或根目录)的信息;描述与每个进程所有相关的信息,如打开的文件及文件
描述符等;
15、open( )系统调用的主要工作:调用的服务例程为sys_open()函数