$cover

前言

很早从折腾服务器或是树莓派的时候,就想深入学习一下Linux内核,很喜欢研究一些这种底层的东西,感觉会很复杂但很深入,而且未来的工作也要和这个打交道了,所以趁着现在空闲,准备系统的学习一下Linux内核,这个系列当作自己的一个学习记录,希望能坚持学完。

这次是跟着《Linux内核设计与实现》(第三版)这本书学习的,这本书介绍的还是2.6版本的内核,目前已经迭代到6.13了,有很多内容都已经被修改了,但一是因为搜索了一下也没有其它很好的资料来介绍当前的Linux内核,二也是可以从这个勘正的过程中学到很多新的东西,了解这么修改的原因是什么,我觉得也能更深入的了解Linux内核,当然主要还是第一个原因。

Linux内核设计简介

第一章的内容主要是对Linux系统的一些历史介绍,倒没有太多的东西。

众所周知Linux是源自于Unix的修改,Linux系统包含内核,C库,工具集以及一些系统的基本工具(登录程序SHELL,桌面环境:GNOME)。

内核运行在系统态,拥有受保护的内存空间和访问硬件设备的所有权限,也就是内核空间。应用程序则通过系统调用来和内核进行通信。也即通过系统调用在内核空间中运行,对应的,内核被称为运行在进程上下文中。

内核拥有访问硬件设备的所有权限指的是内核通过中断机制来管理系统的硬件设备。硬件设备想和系统通信,发出一个异步的中断信号去打断处理器的执行,继而打断内核的执行,中断信号中包含中断号,然后内核通过中断号查找对应的中断服务程序,从而调用这个程序响应和处理中断。

kernel

这章确实没什么东西,That’s all。