[606页]
第12章 文件系统
606–12-1-总体功能
607–12-1-1-MINIX文件系统
611–12-1-2-文件类型、属性和目录项
615–12-1-3-高速缓冲区
616–12-1-4-文件系统底层函数
616–12-1-5-文件中数据的访问操作
618–12-1-6-文件和目录管理系统调用
619–12-1-7-360KB软盘中文件系统实例分析
分成4个部分:高速缓冲管理;文件底层操作;文件数据访问;文件高层访问控制。
----1、高速缓冲管理
622–12-2-buffer.c程序
622–12-2-1-功能描述
628–12-2-2-代码注释
----2、文件底层操作
super.c,bitmap.c,truncate.c,inode.c和namei.c程序
638–12-3-bitmap.c程序
639–12-3-1-功能描述
639–12-3-2-代码注释
644–12-4-truncate.c程序
644–12-4-1-功能描述
644–12-4-2-代码注释
647–12-5-inode.c程序
647–12-5-1-功能描述
649–12-5-2-代码注释
658–12-6-super.c程序
658–12-6-1-功能描述
659–12-6-2-代码注释
667–12-7-namei.c程序
667–12-7-1-功能描述
668–12-7-2-代码注释
692–12-8-file_table.c程序
692–12-8-1-功能描述
692–12-8-2-代码注释
----3、文件数据访问
block_dev.c,char_dev.c,pipe.c,file_dev.c和read_write.c
693–12-9-block_dev.c程序
693–12-9-1-功能描述
694–12-9-2-代码注释
697–12-10-file_dev.c程序
697–12-10-1-功能描述
697–12-10-2-代码注释
699–12-11-pipe.c程序
699–12-11-1-功能描述
699–12-11-2-代码注释
704–12-12-char_dev.c程序
704–12-12-1-功能描述
704–12-12-2-代码注释
707–12-13-read_write.c程序
707–12-13-1-功能描述
707–12-13-2-代码注释
710–12-13-3-用户程序读写操作过程
----4、文件的系统调用接口的实现
712–12-14-open.c程序
713–12-14-1-功能描述
713–12-14-2-代码注释
720–12-15-exec.c程序
720–12-15-1-功能描述
723–12-15-2-代码注释
735–12-15-3-其他信息
739–12-16-sta.c程序
739–12-16-1-功能描述
739–12-16-2-代码注释
741–12-17-fcntl.c程序
741–12-17-1-功能描述
742–12-17-2-代码注释
744–12-18-ioctl.c程序
744–12-18-1-功能描述
745–12-18-2-代码注释
746–12-19-select.c程序
746–12-19-1-功能描述
750–12-19-2-代码注释
第12章 文件系统
本章涉及linux内核中文系统的实现代码和用于块设备的高速缓冲区管理程序。在开发Linux0.12内核文件系统时,Linus主要参照了Tanenbaum著的《MINIX操作系统设计与实现》一书,使用了其中1.0版的MINIX文件系统。因此在阅读本章内容时,可以参考该书有关MINIX文件系统
的相关章节。而高速缓冲区的工作原理可参见M.J.Bach的《UNIX操作系统设计》第3章内容。
表12-1给出了fs目录下的文件。