LK1-linux内核目录结构

版权声明:版权归作者所有,转载请注明出处。Copyright is owned by the author, please indicate the source。 https://blog.csdn.net/m0_37631324/article/details/89427906

一、根目录结构

      linux kernel 1.0版本总共有33个目录,559个文件。在根目录下有21个目录和文件。下面是目录树:

.

├── CHANGES             //相对于上一版本变化

├── COPYING             //版权相关内容

├── CREDITS              //重大贡献者名单及连系方式

├── Configure           //配置文件,类似Kconfig

├── Makefile              //编译规则文件

├── README              //内核使用的简要介绍

├── boot                      //内核启动文件

├── config.in              //与.config功能类似,内核模块配置宏清单

├── drivers                 //驱动相关

├── fs                        //文件系统相关

├── ibcs                    //-未实现

├── include             //内核库的头文件

├── init                   //内核初始化相关,main函数

├── ipc                  //进程间通信

├── kernel            //内核主要功能和子系统实现

├── lib                   //内核自带库文件

├── makever.sh     //生成版本的一个脚本

├── mm               //内存管理函数

├── net                //网络协议栈

├── tools              //相关工具

└── zBoot           //解压system zImage 的工具

       对于一些和源码不相关的内容,比如:COPYING,CREDITS以及未实现目录或功能,比如:ibcs等不会分析介绍。

       内核源码是采用makefile文件来进行管理的,而编译工具是gcc工具链,终端运行的是sh程序,而且源码中使用到了shell脚本,所以在Linux相关知识分类中会参考官方文档和其他资料详细学习make,gcc和shell。

二、boot目录

       由于林纳斯·托瓦兹最初是想为自己的x86系统编写一个操作系统,所以Linux 1.0只支持在x86架构系统上运行。Linux最开始启动的代码在boot目录下

boot/

├── bootsect.S    //由BIOS 加载进内核,将setup和system加载进内存

├── setup.S         //由bootsect加载,初始化硬件,建立gdt,idt,获取相关信息等工作

└── head.S        //为main函数运行准备环境,准备好之后跳转到main执行

     启动阶段使用的是汇编语言,所以在Linux相关知识分类中也会简要介绍一些汇编语言的知识。

猜你喜欢

转载自blog.csdn.net/m0_37631324/article/details/89427906
今日推荐