1.boot目录:主要功能是计算机上电后,引导内核启动,将代码加载到内存中,并做一些进入32位保护运行方式前的系统初始化工作。
1.1.bootsect.s:程序是磁盘引导块程序。编译后会驻留在磁盘的第一个扇区中,PC上电ROM BIOS自检后,将被BIOS加载到内存0x7C00处进行执行。
1.2.setup.s:程序主要用于读取机器的硬件配置参数,并把内核模块system移动到适当内存位置处。
1.3.head.s:程序会被编译连接在system模块的最前面,主要进行硬件设备的探测设置和内存管理页面的初始设置工作。
2.fs:linux的文件系统
2.1.bitmap.c:包含处理inode和磁盘块位图的代码
1.free_block():释放设备dev 上数据区中的逻辑块block。
2.new_block():向设备dev 申请一个逻辑块(盘块,区块)。
2.2.block_dev.c:块设备的读写方法
1.block_write():向指定设备从给定偏移处写入指定长度字节数据。
2.block_read():从指定设备和位置读入指定字节数的数据到高速缓冲中。
2.3.buffer.c:用于实现缓冲区高速缓存功能。
2.4.char_dev.c:字符设备的读写方法
2.5.exec.c:装载程序
2.6.fcntl.c:提供文件描述符的操作
2.7.file_dev.c:文件的读写方法
2.8.file_table.c:定义文件表数组(64 项)
2.9.inode.c:管理文件系统中inode节点结构
2.10.ioctl.c:用于设备输入输出操作
2.11.namei.c:(对i节点的操作)
2.12.open.c:文件属性的操作
2.13.pipe.c:管道读写操作的实现
2.14.read_write.c:文件读写的系统调用
2.15.stat.c:文件状态
2.16.super.c:超级块的资源控制,以及文件系统的操作
2.17.truncate.c:对inode的操作,主要是释放文件设备空间
2.18.Makefile:编译该路径下的的c文件为.o链接文件
3.include:主要存放头文件
3.1.asm:与CPU体系结构相关的部分头文件
3.1.1.io.h:
3.1.2.memory.h:
3.1.3.segment.h:
3.1.4.system.h:
3.2.linux:linux内核专用部分头文件
3.2.1.config.h:
3.2.2.fs.h:
3.2.3.hdreg.h:
3.2.4.head.h:
3.2.5.kernel.h:
3.2.6.mm.h:
3.2.7.sched.h:
3.2.8.sys.h:
3.2.9.tty.h:
3.3.sys:系统数据结构部分
3.3.1.stat.h:
3.3.2.times.h:
3.3.3.types.h:
3.3.4.utsname.h:
3.3.5.wait.h:
3.4.a.out.h:
3.5.const.h:
3.6.ctype.h:
3.7.errno.h:
3.8.fcntl.h:
3.9.signal.h:
3.10.stdarg.h:
3.11.stddef.h:
3.12.string.h:
3.13.termios.h:
3.14.time.h:
3.15.unistd.h:
3.16.utime.h:
4.init:内核初始化程序
4.1.main.c:
5.kernel:内核进程调度,信号处理,系统调用等程序
5.1.blk_drv:块设备驱动程序
5.1.1.blk.h:
5.1.2.floppy.c:
5.1.3.hd.c:
5.1.4.ll_rw_blk.c:
5.1.5.ramdisk.c:
5.1.6.Makefile:
5.2.chr_drv:字符设备驱动程序
5.2.1.console.c:
5.2.2.serial.c:
5.2.3.tty_io.c:
5.2.4.tty_ioctl.c:
5.2.5.keyboard.S:
5.2.6.rs_io.s:
5.2.7.Makefile:
5.3.math:数学协处理器仿真处理程序
5.3.1.math_emulate.c:
5.3.2.Makefile:
5.4.asm.s:
5.5.exit.c:
5.6.fork.c:
5.7.mktime.c:
5.8.panic.c:
5.9.printk.c:
5.10.sched.c:
5.11.signal.c:
5.12.sys.c:
5.13.system_call.s:
5.14.vsprintf.c:
6.lib:内核库函数
6.1._exit.c:
6.2.close.c:
6.3.ctype.c:
6.4.dup.c:
6.5.errno.c:
6.6.execve.c:
6.7.malloc.c:
6.8.open.c:
6.9.setsid.c:
6.10.string.c:
6.11.wait.c:
6.12.write.c:
6.13.Makefile:
7.mm:内存管理程序
7.1.memory.c:
7.2.page.s:
7.3.Makefile:
8.tools:生成内核Image文件的工具程序
8.1.build.c:
9.Makefile:编译辅助工具软件make的参数配置文件,linux目录下的这个Makefile还嵌套地调用了所有子目录中包含的Makefile文件