第5章 Linux内核体系结构
5.9 Linux 0.11采用的文件系统
- etc/ 目录主要含有一些系统配置文件;
- dev/ 含有设备特殊文件,用于使用文件操作语句操作设备;
- bin/ 存放系统执行程序。如sh、mkfs、fdisk等
- usr/ 存放函数库、手册和其他一些文件
- usr/bin 存放用户常用的普通指令
- var/ 用于存放系统运行时可变的数据或者是日志等信息
文件系统举例:
软盘启动的Linux 0.11系统中,bootimage是引导启动文件,rootimage用于提供根文件系统。
5.10 Linux内核源代码的目录结构
Linux0.11是单内核模式系统,文件之间关系非常紧密。
14个子目录,102个代码文件。
5.10.1 内核主目录linux
14个子目录,1个Makefile文件。
5.10.2 引导启动程序目录 boot
包括3个汇编语言文件,最先被编译。
5.10.3 文件系统目录 fs
Linux0.11 内核文件系统采用了1.0版本的MINIX文件系统。fs/目录是文件系统实现程序的目录,包括17个C语言程序,其关系如图所示。
可四个部分:
- 高速缓冲管理
- 低层文件操作
- 文件数据访问
- 文件高层函数
所有对文件系统中数据的访问,都需要首先读取到高速缓冲区中。
各个文件的作用:
-
file_table.c 目前只定义了一个文件句柄(描述符)结构数组
-
ioctl.c 引用kernel/chr_drv/tty.c中的函数,实现字符设备的io控制功能
-
exec.c 包含一个执行程序函数do_execve(),是所有exec()函数簇中的主要函数。
-
fcntl.c 程序用于实现文件i/o控制的系统调用函数。
-
read_write.c 程序用于实现文件读/写和定位三个系统调用函数。
-
stat.c 程序中实现了两个获取文件状态的系统调用函数