文件系统知识复习

文件系统结构

连续结构

链接结构

  1. 链表分配
  2. 内存表分配 文件的起始块号从文件目录(FCB)中得到

索引结构

多级索引:块大小4KB,索引指针大小为4B,则二级索引支持最大文件为1K * 1K * 4KB

文件权限

第一个字符代表这个文件时目录、文件或链接文件等

Linux命令实现

Linux手册页节

  1. Section 1:用户命令(User Commands):包括常见的用户可执行命令,如ls、mkdir、grep等。
  2. Section 2:系统调用(System Calls):包括操作系统提供的底层系统调用接口,如fork、open、read等。
  3. Section 3:C库函数(Library Functions):包括C语言库函数,如printf、malloc、strlen等。
  4. Section 4:设备和特殊文件(Devices and Special Files):包括设备驱动程序和特殊文件的手册页。
  5. Section 5:文件格式(File Formats):包括常见文件格式的描述,如passwd文件、man页格式等。
  6. Section 6:游戏和演示(Games and Demos):包括一些游戏和演示程序的手册页。
  7. Section 7:其他(Miscellaneous):包括一些其他类型的手册页,如宏包、协议等。

硬链接与符号链接

  1. 符号链接:如果A是B的软链接,则A对应的目录项中的inode节点号与B对应的目录项中的inode节点号不相同,A的inode指向的数据块存的是B的路径
  2. 硬链接:而如果A是B的硬链接,则A的inode与B的inode一样
  3. 不允许硬链接到目录的原因:允许目录的硬链接可能会打破文件系统目录的有向无环图结构,可能创建目录循环,这可能会导致fsck以及其他一些遍历文件树的软件出错。
  4. inode的链接数的增减时机:
  • 创建文件
  • 创建硬链接
  • 创建符号链接
  • 删除文件或硬链接
  1. 文件夹一创建,其链接数便为2(根目录除外),原因:新建文件夹的父文件夹有一个目录项指向此文件夹,其次,新建文件夹的目录中有一个指向自身的目录项
  2. 普通文件一创建,链接数便为1

参考

[1] CSDN博客
[2] [鸟哥的Linux私房菜]
[3] CSDN博客


文件系统知识复习
http://bugeater.space/2023/08/28/文件系统知识复习/
Author
BugEater
Posted on
August 28, 2023
Licensed under