linux目录是源代码的主目录,在该主目录下包括所有的14个子目录,还有唯一的一个Makefile文件。
目录结构如下图
这个Makefile文件是编译辅助工具软件make的参数配置文件。make工具软件的主要用途是通过识别哪些文件已被修改,从而自动的决定在一个含有多个源程序的文件的程序系统中哪些文件需要被重新编译。因此make工具软件是程序项目的管理软件。
接下来进入boot
boot中含有三个汇编语言文件,是内核源代码中最先被编译的程序。这三个程序完成的主要功能是当计算机加电时引导内核启动,将内核代码加载到内存中,并做一些进入32位保护运动方式前的系统初始化工作。其中bootsect.s和setup.s程序需要使用as86软件来编译,而head.s需要用GNU as来编译。
bootsect.s程序是磁盘引导块程序,编译后会驻留在磁盘的第一个扇区中(引导扇区,0磁道(柱面),0磁头,第一个扇区)。在PC上电ROM BIOS自检后,将被BIOS加载到内存0x7c00处进行执行。
setup.s程序主要用于读取机器的硬件配置,并把内核模块system移动到适当的内存位置处。
head.s程序会被编译连接在system模块的最前部分,主要进行硬件设备的探测设置和内存管理页面的初始设置工作。