第三周 构造一个简单的Linux系统MenuOS
计算机三个法宝:
1、存储程序计算机
2、函数调用堆栈
3、中断
操作系统两把宝剑:
1、中断上下文的切换:保存现场和恢复现场
2、进程上下文的切换
一、阅读Linux内核代码
本周我们要学习如何阅读Linux内核源代码,首先打开Lstest Stable Kernel:linux-3.18.6
arch/目录在Linux内核中占有相当庞大的代码量,因为Linux支持很多CPU,这个arch/x86目录下的代码是我们重要关注的代码
根目录中比较关键的目录:
- Documentation/文档
- fs/文件系统
- init/内核启动相关的代码基本都在init目录下,里面的main.c是整个Linux内核启动的起点。它的起点是start_kernel
start_kernel函数相当于普通C程序的main函数
如上图所示,第500行这里就是初始化Linux内核的起点,之前的部分是汇编做硬件初始化。
- ipc/进程间通信
- kernel/Linux内核的核心代码在kernel目录中
- lib/公用的库文件
- mm/memmory management内存管理
- net/与网络相关的代码
- security/与安全相关的代码
- scripts/脚本
以上加粗的部分为我们重点关注的。
二、构造一个简单的Linux系统MenuOS
方法一:使用实验楼的虚拟机打开shell
时间: 2024-10-05 04:59:56