linux内核理解初步

内核组成部分

系统调用接口

1,进程管理

2,内存管理

3,文件管理。vfs

4,网络管理。

架构和硬件5,设备驱动。

Bootloader启动大多数都分为两个阶段

第一阶段主要包含依赖于CPU的体系结构硬件初始化的代码,通常都用汇编语言来实现。这个阶段的任务有:

基本的硬件设备初始化(屏蔽所有的中断、关闭处理器内部指令/数据Cache等)。

为第二阶段准备RAM空间。

如果是从某个固态存储媒质中,则复制Bootloader的第二阶段代码到RAM。

设置堆栈。

在第一阶段中为什么要关闭Cache?通常使用Cache以及写缓冲是为了提高系统性能,但由于Cache的使用可能改变访问主存的数量、类型和时间,因此Bootloader通常是不需要的。

跳转到第二阶段的C程序入口点。

第二阶段通常用C语言完成,以便实现更复杂的功能,也使程序有更好的可读性和可移植性。这个阶段的任务有:

初始化本阶段要使用到的硬件设备。

检测系统内存映射。

将内核映像和根文件系统映像从Flash读到RAM。

为内核设置启动参数。

调用内核。

相关推荐