PAGE / NUMPAGES
LINUX 内核源文件介绍以及头文件介绍.txt两人之间的感情就像织毛衣,建立的时候一针一线,小心而漫长,拆除的时候只要轻轻一拉。。。。*******************LINUX 内核(0.11)源文件介绍******************
1、内核源文件放置目录:
|
|————boot 系统引导汇编程序目录
|
|————fs 文件系统目录
|
|————include 头文件目录
|
|————init 内核初始化程序目录
|
|————kernel 内存进程调度、信号处理、系统调用等程序的目录
|
|————lib 内核库函数目录
|
|————mm 内存管理程序目录
|
|————tools 生成内核Image文件的工具程序目录
|
|————Makefile文件
|
2、引导启动程序目录boot
包含3个汇编语言文件,是内核源文件中最先被编译的程序。
功能:当计算机家电时引导内核启动,将内核代码加载到内存中,并完成系统初始化工作。
boot
|
|————bootsect.s 磁盘引导块程序,编译后会驻留在磁盘的第一个扇区中
|
|————setup.s 读取机器的硬件配置参数,并把内核模式system移动到适当的内存位置处个人收集整理 勿做商业用途
|
|————head.s 会被编译连接在system模块的最前部分,主要进行硬件设备的探测配置和内存管理页面的配置工作个人收集整理 勿做商业用途
|
3、文件系统目录fs
包含17个C语言程序
fs
|
|——buffer.c 管理高速缓冲区
|
|——file_table.c 在0.11仅定义了一个文件句柄(描述符)结构数组
|
|——ioctl.c 将引用kernel/chr_dev/tty.c中的函数,实现字符设备的IO控制功能个人收集整理 勿做商业用途
|
|——exec.c 主要包含一个执行程序函数do_execve()
|
|——fcntl.c 实现文件I/O控制的系统调用函数
|
|——read_write.c 实现文件读/写和定位的三个系统调用函数
|
|——stat.c 实现了两个获取文件状态的系统调用函数
|
|——open.c 主要包含实现修改文件属性和创建与关闭文件的系统调用函数
|
|——char_dev.c 主要包含字符设备读写函数rw_char()
|
|——pipe.c 包含管道读写函数和创建管道的系统调用函数
|
|——file_dev.c 包含基于i节点和描述符结构的文件读写函数。
|
|——namei.c 主要包括文件系统中目录名和文件名的操作函数和系统调用函数
|
|——block_dev.c 包含块数据读和写函数
|
|——inode.c 包含针对文件系统i节点操作的函数
|
|——truncate.c 用于在删除文件时释放文件所占用的设备数据空间
|
|——bitmap.c 用于处理文件系统中i节点和逻辑数据块的位图
|
|——super.c 包含对文件系统超级块的处理函数
|
4、头文件主目录include
有32个.h文件,其中主目录下有13个,sam子目录中有4个,sys子目录中有5个,linux子目录中有10个个人收集整理 勿做商业用途
include
|
|——a.out.h a.out头文件,定义了a.out执行文件格式和一些宏
|
|——const.h 常数符号头文件,目前仅定义了i节点中i_mode字段的各标志位
|
|——ctype.h 字符类型头文件。定义了一些有关字符类型判断和转换的宏
|
|——errno.h 错误号头文件。包含系统中各种出错号
|
|——fcntl.h 文件控制头文件。用于文件及其描述符的操作控制常数符号的定义
|
|——signal.h 信号头文件。定义信号符号常量,信号结构以及信号操作函数原型
|
|——stdarg.h 标准参数头文件。以宏的形式定义变量参数列表。定义了一个类型(va_list)和三个宏(va_start,va_arg和va_end),用于vsprintf、vprintf、vfprintf函数个人收集整理 勿做商业用途
|
|——stddef.h 标准定义头文件。定义了NULL,offsetof(TYPE,MEMBER)个人收集整