文件系统
存储管理:
文件系统负责将文件存储在存储设备(如硬盘、固态硬盘)中,并记录文件的位置和大小。
文件访问控制:
文件系统管理文件的访问权限,确保只有授权用户可以读取、写入或执行文件。
数据组织:
文件系统通过目录结构将文件组织起来,便于用户和应用程序定位和管理文件。
文件元数据管理:
每个文件都有元数据,如文件名、创建日期、所有者等信息,文件系统负责管理和维护这些元数据。
文件系统的分层设计:
目录
层次结构:
目录可以形成层次结构,也就是文件夹可以包含其他文件夹和文件,从而形成一个树状结构。
路径表示:
每个文件和目录在文件系统中都有唯一的路径表示其位置,例如在Unix/Linux系统中,路径可以是/home/user/documents/file.txt
。
绝对路径:通常以根目录开始,如C:\Users\username\Documents\file.txt。
相对路径:相对于当前工作目录的位置,如./folder/file.txt表示文件在当前工作目录的上一级目录中的folder文件夹中。
命名空间管理:
目录确保文件和目录在同一级别中具有唯一的名称,避免命名冲突。
访问权限:
目录可以设置访问权限,控制用户对其中文件和子目录的访问权限。
目录的实现:
目录在文件系统中的实现方式可以通过不同的数据结构来完成,其中线性列表和哈希表是两种常见的选择。
- 线性列表:拥有线性数据结构的公共优缺点,查找耗时,创建新文件需要先遍历是否文件重名
- 哈希表:避免了线性表的查找性能低的问题,但是需要处理哈希本身的问题:冲突和重新哈希