uni-atlas (zh)

Unix 文件系统

Unix 文件抽象、inode、文件描述符、stdio 缓冲行为。COMP1521 系统编程的基础。

Unix 哲学的核心之一是「一切皆文件」(everything is a file)。本主题理解这句话背后的具体机制:

  • inode:文件在内核中的「身份证」,与文件名分离;为什么硬链接能成立。
  • 文件描述符 (fd):进程怎么持有打开的文件;父子进程之间怎么共享 fd;dup / dup2 在做什么。
  • stdio 缓冲:printfwrite 的区别;为什么 printf("hello"); fork() 会输出两次 “hello”。

学完本主题,你应该能解释:打开一个文件后,kernel 维护了哪些数据结构,以及为什么这些结构那么设计。

笔记

  • inode 到底是什么

    用「名字 / inode / data block」三段映射理解 Unix 文件系统的核心数据结构。