Linux内核目录文件简介.pdf
文本预览下载声明
LinuxV0.11 目录文件简介
● Makefile文件:该文件是编译辅助工具软件make 的参数配置文件。
● boot 目录:功能是当计算机加电时引导内核启动,将内核代码加载到内存中,并做一些
进入入32 位保护运行方式前的系统初始化工作。
①Bootsect.s:磁盘引导块程序,驻留磁盘第一个扇区。0x7C00
②Setup.s:读取机器的硬件配置参数,并把内核模块system移动到适当的内存位置处。
③Head.s:被编译连接在system 模块的最前部分,主要进行硬件设备的探测设置和内
存管理页面的初始设置工作。
● fs 目录:文件系统实现程序的目录。
1、file_table.c 文件中,目前仅定义了一个文件句柄(描述符)结构数组。
2、ioctl.c 文件将引用kernel/chr_dev/tty.c 中的函数,实现字符设备的io 控制功
能。
3、exec.c 程序主要包含一个执行程序函数do_execve(),它是所有exec()函数簇中的
主要函数。
4、fcntl.c 程序用于实现文件 i/o 控制的系统调用函数。
5、read_write.c 程序用于实现文件读/写和定位三个系统调用函数。
6、stat.c 程序中实现了两个获取文件状态的系统调用函数。
7、open.c 程序主要包含实现修改文件属性和创建与关闭文件的系统调用函数。
8、char_dev.c 主要包含字符设备读写函数rw_char()。
9、pipe.c 程序中包含管道读写函数和创建管道的系统调用。
10、file_dev.c 程序中包含基于i 节点和描述符结构的文件读写函数。
11、namei.c 程序主要包括文件系统中目录名和文件名的操作函数和系统调用函数。
12、block_dev.c 程序包含块数据读和写函数。
13、inode.c 程序中包含针对文件系统i 节点操作的函数。
14、truncate.c 程序用于在删除文件时释放文件所占用的设备数据空间。
15、bitmap.c 程序用于处理文件系统中i 节点和逻辑数据块的位图。
16、super.c 程序中包含对文件系统超级块的处理函数。
17、buffer.c 程序主要用于对内存高速缓冲区进行处理。
·虚框中的ll_rw_block 是块设备的底层读函数,它并不在fs 目录中,而是
kernel/blk_dev/ll_rw_block.c 中的块设备读写驱动函数。放在这里只是让我们清楚的看
到,文件系统对于块设备中数据的读写,都需要通过高速缓冲区与块设备的驱动程序
(ll_rw_block())来操作来进行,文件系统程序集本身并不直接与块设备的驱动程序打交
道。
● include 目录:头文件目录。
1、主目录:
①a.out.h a.out 头文件,定义了a.out 执行文件格式和一些宏。
②const.h 常数符号头文件,目前仅定义了i 节点中i_mode 字段的各标志位。
③ctype.h 字符类型头文件。定义了一些有关字符类型判断和转换的宏。
④errno.h 错误号头文件。包含系统中各种出错号。(Linus 从minix 中引进的)。
⑤fcntl.h 文件控制头文件。用于文件及其描述符的操作控制常数符号的定义。
⑥signal.h 信号头文件。定义信号符号常量,信号结构以及信号操作函数原型。
⑦stdarg.h 标准参数头文件。以宏的形式定义变量参数列表。主要说明了-个类型
(va_list)和三个宏 (va_start,va_arg 和va_end),用于vsprintf、vprintf、vfprintf
函数。
⑧stddef.h 标准定义头文件。定义了NULL, offsetof(TYPE, MEMBER)。
⑨string.h 字符串头文件。主要定义了一些有关字符串操作的嵌入函数。
⑩termios.h 终端输入输出函数头文件。主要定义控制异步通信口的终端接口。
⑪time.h 时间类型头文件。其中最主要定义了tm 结构和一些有关时间的函数原形。
⑫unistd.h Linux 标准头文件。定义了各种符号常数和类型,并申明了各种函数。
如定义了__LIBRARY__,则还包括系统调用号和内嵌汇编_syscall0()等。
⑬
显示全部