Linux内核学习参考资料汇总

今天开始从零学习Linux内核,在这里记录一些参考的文章链接,还有一些杂七杂八的笔记。会持续更新。

Linux Kernel 脉络和主干总结

内存寻址

cr0:PG标志位表示是否启用分页,CD标志位表示是否启用高速缓存电路,NW标志指明高速缓存是使用通写还是回写策略

cr1:

cr2:页目录项或页表项中有一个Present标志,当期为0时,表示所指的页(或页表)不在主存中,分页单元就会把这个线性地址(虚拟地址空间)存放到cr2中,并产生14号异常:缺页异常。

cr3:正在使用的页目录的物理地址存放在控制寄存器cr3中。进程切换时,内核会将当前cr3内容保存到前一个进程的进程描述符(task_struct)中,然后把下一个进程的进程描述符中的值装入cr3寄存器。这样,当新进程重新开始在CPU上执行时,分页单元指向一组正确的页表。

cr4:

Linux采用四级分页:页全局目录,页上级目录,页中间目录,页表。32位情况下,页上级目录和页中间目录全为0,但仍保留,以便同样的代码在32位和64位下都能使用。

进程管理

进程/线程/LWP

理解Linux的进程,线程,PID,LWP,TID,TGID

命名空间

Linux命名空间详解

Linux内核的namespace机制分析

文件系统

链接

硬链接与软链接的联系与区别

0%