EmmmuaCode EmmmuaCode
首页​
导航🚀​
  • 数据结构
  • 计算机网络
  • Java基础

    • JavaSE
    • JVM虚拟机
    • JUC并发编程
  • JavaWeb

    • Servlet
    • MVC
    • filter|listener
  • HTML
  • CSS
  • JavaScript
  • Vue
  • uni-app
  • Spring5
  • SpringMVC
  • SpringBoot2
  • SpringCloud
  • SpringSecurity
  • 搜索引擎

    • ElasticSearch
  • 消息队列

    • RabbitMQ
  • 服务器

    • Nginx🌐
  • 服务框架

    • Dubbo
  • Python基础
  • 数据分析
  • Hadoop
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • NoSQL数据库概论
    • Redis
    • MongoDB
    • HBase
  • 框架

    • MyBatis
    • MyBatis-Plus
    • ShardingSphere
  • 部署

    • Linux
    • Docker
  • 管理

    • Maven
    • Git
  • 友情链接
  • 优秀博客文章
  • 索引

    • 分类
    • 标签
    • 归档
  • 其他

    • 关于
Github (opens new window)

wufan

海内存知己,天涯若比邻。
首页​
导航🚀​
  • 数据结构
  • 计算机网络
  • Java基础

    • JavaSE
    • JVM虚拟机
    • JUC并发编程
  • JavaWeb

    • Servlet
    • MVC
    • filter|listener
  • HTML
  • CSS
  • JavaScript
  • Vue
  • uni-app
  • Spring5
  • SpringMVC
  • SpringBoot2
  • SpringCloud
  • SpringSecurity
  • 搜索引擎

    • ElasticSearch
  • 消息队列

    • RabbitMQ
  • 服务器

    • Nginx🌐
  • 服务框架

    • Dubbo
  • Python基础
  • 数据分析
  • Hadoop
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • NoSQL数据库概论
    • Redis
    • MongoDB
    • HBase
  • 框架

    • MyBatis
    • MyBatis-Plus
    • ShardingSphere
  • 部署

    • Linux
    • Docker
  • 管理

    • Maven
    • Git
  • 友情链接
  • 优秀博客文章
  • 索引

    • 分类
    • 标签
    • 归档
  • 其他

    • 关于
Github (opens new window)
  • Linux

    • Linux基础篇
    • Linux 目录结构
    • Linux 远程登录到Linux服务器
    • Linux Vi和Vim编辑器
    • Linux 虚拟机关机、重启和用户登录注销
    • Linux 用户管理
    • Linux 实用指令
    • Linux 组管理和权限管理
    • Linux 定时任务调度
    • Linux 磁盘分区、挂载
    • Linux 网络配置
    • Linux 进程管理
    • Linux RPM与YUM
    • Linux 搭建JavaEE环境
    • Linux Shell编程
    • Linux Python开发平台Ubuntu
    • Python定制篇-APT软件管理和远程登录
    • Linux 日志管理
    • Linux 定制自己的Linux
    • Linux 源码介绍&内核升级
      • 为什么要阅读Linux内核s
      • Linux0.01内核源码
        • 基本介绍
        • Linux 内核源码目录&阅读
      • Linux内核最新版和内核升级
        • 内核地址 查看
        • 下载&解压最新版
        • Linux内核升级应用实例
        • 具体步骤
    • Linux 备份与恢复
    • Linux 可视化管理-webmin和bt运维工具
  • Docker

    • Docker 简介
    • Docker 安装
    • Docker 常用命令
    • Docker 镜像原理
    • 本地镜像发布到阿里云
    • 将本地镜像推送到私有库
    • Docker 数据卷
    • Docker 软件安装
  • Maven

    • Maven 简介
    • Maven 基础
    • Maven 高级
  • Git 基础

    • Git 概述
    • Git 安装
    • Git 常用命令
    • Git 分支操作
    • Git 团队协作机制
    • IDEA 集成Git
    • IDEA 集成 GitHub
    • 自建代码托管平台-GitLab
  • studynotes
  • project-management
  • Linux
wufan
2021-12-20
目录

Linux 源码介绍&内核升级

# Linux 源码介绍&内核升级

# 为什么要阅读Linux内核s

  1. 爱好,就是喜欢linux(黑客精神)
  2. 想深入理解linux底层运行机制,对操作系统有深入理解
  3. 阅读Linux 内核,你会对整个计算机体系有一个更深刻的认识。作为开发者,不管你从事的是驱动开发,应用开发还是后台开发,你都需要了解操作系统内核的运行机制,这样才能写出更好的代码。
  4. 作为开发人员不应该只局限在自己的领域,你设计的模块看起来小,但是你不了解进程的调用机制,你不知道进程为什么会阻塞、就绪、执行几个状态。那么很难写出优质的代码。
  5. 找工作面试的需要,作为有追求的程序员,还是应该深入的了解一个操作系统的底层机制,(比如 linux/unix)最好是源码级别的,这样你写多线程高并发程序,包括架构,优化,算法等,高度不一样的,当然也不是要求小伙伴儿把一个非常庞大的Linux内核每一行都读懂。我觉得。你至少能看几个核心的模块。

# Linux0.01内核源码

# 基本介绍

Linux 的内核源代码可以从网上下载,解压缩后文件一般也都位于linux目录下。内核源代码有很多版本,可以从linux0.01内核入手,总共的代码1w行左右,最新版本 5.9.8总共代码超过700w行,非常庞大.

内核地址 (opens new window)

很多人害怕读Linux 内核,Linux内核这样大而复杂的系统代码,阅读起来确实有很多困难,但是也不象想象的那么高不可攀。建议可以从linux0.01 入手。

# Linux 内核源码目录&阅读

  • 提示阅读源码技巧
  1. linux0.01 的阅读需要懂c语言
  2. 阅读源码前,应知道Linux 内核源码的整体分布情况。现代的操作系统一般由进程管理、内存管理、文件系统、驱动程序和网络等组成。Linux内核源码的各个目录大致与此相对应.
  3. 在阅读方法或顺序上,有纵向与横向之分。所谓纵向就是顺着程序的执行顺序逐步进行;所谓横向,就是按模块进行。它们经常结合在一起进行。
  4. 对于Linux启动的代码可顺着Linux 的启动顺序一步步来阅读;对于像内存管理部分,可以单独拿出来进行阅读分析。实际上这是一个反复的过程,不可能读一遍就理解
  • linux内核源码阅读&目录介绍&main.c说明

01

02

# Linux内核最新版和内核升级

# 内核地址 (opens new window) 查看

03

# 下载&解压最新版

wget htts:/fastly.kernel.org/pub/linux/kermel/v5.x/linux-5.8.16.tar.gz

tar -zxvf linux-5.8.16.tar.gz

# Linux内核升级应用实例

将CentOS系统从7.6内核升级到7.8版本内核(兼容性问题)

04

# 具体步骤

uname -a //查看 当前的内核版本

yum info kernel -q //检测内核版本,显示可以升级的内核

yum update kernel //升级内核

yum list kernel -q //查看已经安装的内核

重启centos即可

#Linux
上次更新: 2024/04/21, 09:42:22
Linux 定制自己的Linux
Linux 备份与恢复

← Linux 定制自己的Linux Linux 备份与恢复→

最近更新
01
微信支付功能的实现与流程
11-21
02
购物车与结算区域的深入优化与功能完善
11-21
03
购物车与结算区域的功能实现与优化
11-21
更多文章>
Theme by Vdoing | Copyright © 2023-2024 EmmmuaCode | 黔ICP备2022009864号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式