第23章 Linux内核源码介绍&内核升级
23.1为什么要阅读linux内核?
1)爱好,就是喜欢linux(黑客精神)
2)想深入理解linux底层运行机制,对操作系统有深入理解
3)阅读Linux内核,你会对整个计算机体系有一个更深刻的认识。作为开发者,不管你从事的是驱动开发,应用开发
还是后台开发,你都需要了解操作系统内核的运行机制,这样才能写出更好的代码。
4)作为开发人员不应该只局限在自己的领域,你设计的模块看起来小,但是你不了解进程的调用机制,你不知道进程.
为什么会阻塞、就绪、执行几个状态。那么很难写出优质的代码。
5)找工作面试的需要
老韩忠告,作为有追求的程序员,还是应该深入的了解一个操作系统的底层机制,(比如linux/unix) 最好是源码级别
的,这样你写多线程高并发程序,包括架构,优化,算法等,高度不一样的,当然老韩也不是要求小伙伴儿把一个
非常庞大的Linux内核每一-行都读懂。我觉得。你至少能看几个核心的模块。
23.2 linux0.01 内核源码
23.2.1基本介绍
Linux的内核源代码可以从网上下载,解压缩后文件一般也都位于linux目录下。内核源代码有很多版本,可以从linux0.01内核入手,总共的代码1w行左右,最新版本 5.9.8 总共代码超过700w行,非常庞大.
内核地址: https://www. kernel.org/
很多人害怕读Linux内核,Linux内核这样大而复杂的系统代码,阅读起来确实有很多困难,但是也不象想象的那
么高不可攀。老韩建议可以从linux0.01入手。
23.2.2 linux0.01 内核源码目录&阅读
老韩提示阅读内核源码技巧
1) linux0.01 的阅读需要懂c语言
2)阅 读源码前,应知道Linux内核源码的整体分布情况。现代的操作系统一般由进程管理、内存管理、文件系统、驱动程序和网络等组成。Linux内核源码的各个目录大致与此相对应.
3)在阅读方法或顺序上,有纵向与横向之分。所谓纵向就是顺着程序的执行顺序逐步进行;所谓横向,就是按模块进行。它们经常结合在一起进行。
4)对于Linux启动的代码可顺着Linux的启动顺序-步步来阅读;对于像内存管理部分,可以单独拿出来进行阅读分析。实际上这是一个反复的过程,不可能读一遍就理解
linux 内核源码阅读&自录介绍&main.c说明
23.3 linux 内核最新版和内核升级
23..3.1内核地址: https://www.kermel.org/ 查看
23.3.2下载&解压最新版
wget https:/cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.8.16.tar.gz
tar -zxvf linux-5.8. 16.tar.gz
23.3.3 linux 内核升级应用实例
将Centos系统从7.6内核升级到7.8版本内核(兼容性问题)
23.3.4具体步骤,看老师演示
uname -a //查看 当前的内核版本
yum info kernel -q //检测内核版本,显示可以升级的内核
yum update kernel /升级内核
yum list kernel -q //查看已经安装的内核
分类:
Linux
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器