Skip to content

strli/kernel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux源码阅读笔记

​ Linux源码阅读笔记用于记录阅读源码过程中遇到的问题。阅读源码本身是一个自底向上的过程,并且对于每一层中,如何编程与操作也有简单的介绍。

1、base目录

简单的介绍现代计算机的组成,包括PCIE总线、CPU、GPU、内存、主板等。

操作:在硬件的层次中,除去了解硬件的架构以外,CPU只能简单的调节主频

率,内存除去调整主频以外还能调整时序等,GPU与主板可以刷BIOS。

搜索关键词:GPU BIOS 超频

2、efi目录

现代主板大部分都采用了efi的引导方式,这里主要介绍的是efi引导过

程中,主板固件部分的efi运行原理以及过程。

操作:存储在主板固件中的数据是可以导出的,导出的数据为aml格式的,具体

操作见:https://github.com/strli/efi

3、grub2目录

在主板固件中Bios初始化以后(这里指的是efi),将会由系统引导器来

负责为操作系统提供一些准备,然后引导操作系统,grub2是一个开源的

gnu项目,目前三大主流系统中,windos使用winNT引导,linux主要采

用grub2,MacOS主要采用Clover(这里是针对非主流Mac用户)。

4、linuzefi与initrdefi

grub2执行完成后,将会向系统内核传递参数,并将控制权交给内核。

vmlinux:(https://en.wikipedia.org/wiki/Vmlinux#bzImage)

​ linux系统的内核,编译内核源码之后生成的文件。

initrd:(https://en.wikipedia.org/wiki/Initrd)

​ 是一个临时的根文件系统,它在初始化期间被 Linux 内核使用,而那时其他

的文件系统尚未被挂载。

5、systemd

linux内核初始化完成以后,所有的硬件都已经就绪,程序需要的运行环境也

已经准备好了,此时系统的第一个进程systemd就会运行(早起第一个运行的

程序都是init,但是由于init是线性执行,影响效率),systemd是一个相对复

的进程,由多个部分组成,与系统其他功能耦合度较高,由于linux本身是微内

核架构,所以也有人反对使用。

About

kernel源码阅读笔记

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published