码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 博客目录导读


    文章目录

    • 一、linux代码如何编写记录系列
      • 1.linux驱动代码
      • 2.linux应用代码
    • 二、内核源代码分析
      • 1. linux进程调度系列
      • 2. linux内存管理系列
      • 3. linux虚拟文件系统
      • 4. linux中断
      • 5.linux内核启动流程
      • 6.linux内核锁
      • 4.其他
    • 三、arm64底层学习
    • 四、eBPF学习
    • 五、工作笔记
      • 1.调试
      • 2.其他
    • 六、Ubuntu环境搭建

    以前使用龙芯4.19的内核代码注释:https://github.com/RichkingLi/linux-4.19.40-note.git
    现在使用飞腾5.10的linux内核代码注释:https://github.com/RichkingLi/phytium-linux-kernel-5.git

    一、linux代码如何编写记录系列

    1.linux驱动代码

    如何编写杂项设备驱动
    如何编写字符设备驱动
    字符设备驱动接口
    最方便的字符设备驱动的写法
    驱动中断编程
    驱动等待队列,poll和select编程
    驱动中定时器,taskle,工作队列编程
    如何创建设备文件
    驱动GPIO操作归纳
    驱动中的资源共享和临界代码保护
    nand flash驱动编写步骤
    nor flash驱动编写步骤
    使用内核API函数找到I2C和串口控制器发送数据
    linux驱动-gpio

    2.linux应用代码

    进程相关函数归纳
    多进程通信相关函数归纳
    Linux文件目录操作
    多线程相关函数归纳
    网络编程函数归纳

    二、内核源代码分析

    1. linux进程调度系列

    linux进程调度(一)-进程概述
    linux进程调度(二)-进程创建
    linux进程调度(三)-进程终止

    linux进程调度(四)-进程调度分析

    2. linux内存管理系列

    linux内存管理(一)-内存管理架构
    linux内存管理(二)-内存数据结构分析
    linux内存管理(三)-mmap的系统调用
    linux内存管理(四)-munmap的系统调用
    linux内存管理(五)-引导内存分配器
    linux内存管理(六)-伙伴分配器
    linux内存管理(七)-slab分配器
    linux内存管理(八)-不连续页分配和页表
    linux内存管理(九)-缺页异常分析
    linux内存管理(十)-页表管理
    linux内存管理(十一)-页回收总览
    linux内存管理(十二)-直接页面回收
    linux内存管理(十三)-内存规整过程分析
    linux内存管理(十五)-内存池
    linux内存管理(十四)-内存OOM触发分析
    linux内存管理(十五)解析设备树中的内存信息过程分析
    linux内存管理(十六)-kmalloc函数解析
    页表结构详细说明

    重写:
    重写-linux内存管理-缺页异常分析(上)
    重写-linux内存管理缺页异常分析(下)
    重写-linux内存管理-伙伴分配器(一)
    重写-linux内存管理-伙伴分配器(二)内存碎片整理
    重写-linux内存管理-伙伴分配器(三)内存回收

    3. linux虚拟文件系统

    linux虚拟文件系统(一)-文件系统架构
    linux虚拟文件系统(二)-ext4文件系统结构
    linux虚拟文件系统(三)-ext4文件系统注册分析
    linux虚拟文件系统(四)-文件系统挂载操作分析
    linux虚拟文件系统(五)-文件打开操作分析
    linux虚拟文件系统(六)-文件关闭操作分析

    4. linux中断

    tasklet内核源代码分析
    软中断内核源码分析
    GIC寄存器详解
    arm64架构的linux中断分析(零)
    arm64架构的linux中断分析(一)
    arm64架构的linux中断分析(二)
    arm64架构的linux中断分析(三)
    arm64架构的linux中断分析(四)
    arm64架构的linux中断分析(五)中断的使用

    5.linux内核启动流程

    看linux内核启动流程需要的arm汇编学习笔记(一)
    看linux内核启动流程需要的arm汇编学习笔记(二)
    linux内核启动分析(一)
    linux内核启动分析(二)
    linux内核启动分析(三)

    6.linux内核锁

    读操作系统导论记录linux下锁的历史发展
    linux内核自旋锁的代码分析
    linux内核读写自旋锁的代码分析
    linux内核顺序锁的代码分析
    linux内核互斥锁的代码分析
    linux内核信号量的代码分析
    linux内核RCU锁的代码分析

    4.其他

    三、arm64底层学习

    ARMv8常用寄存器记录
    ARM系统中9种中断响应步骤记录
    arm64虚拟化学习笔记
    Ubuntu22.04使用qemu运行armv8的TFA、optee和linux全过程

    四、eBPF学习

    eBPF学习记录(一)eBPF介绍
    eBPF学习记录(二)使用bpftrace开发eBPF程序
    eBPF学习记录(三)使用BCC开发eBPF程序
    eBPF学习记录(四)使用libbpf开发eBPF程序
    eBPF学习记录(五)linux内核源代码编译eBPF程序
    eBPF学习记录(六)bpftrace常用例子记录

    五、工作笔记

    1.调试

    驱动调试工具整理
    linux用户态使用gpio中断方法
    嵌入式linux使用trace调试步骤记录
    Ftrace
    kdump环境搭建
    proc文件系统下各参数解析

    2.其他

    launchpad(零)kylinos下使用launchpad.dev线上编译
    launchpad(零)ubuntu下制作最小deb包
    launchpad(一)ubuntu下使用launchpad.net的环境配置
    launchpad(二)ubuntu使用launchpad.net线上编译
    launchpad(三)ubuntu拉取launchpad.net的deb文件
    麒麟操作系统使用dconf配置环境变量记录
    dpdk环境搭建

    linux ldd 移植
    使用cgroup控制cpu、内存、IO资源实践
    systemd开机启动和关机回调脚本
    ubuntu下使用yocto制作龙芯文件系统
    yocto rootfs 支持pam
    yocto使用记录
    yocto添加包管理deb
    yocto添加登录用户和密码
    yocto生成各种格式的文件系统
    yocto的bitbake过程记录
    Buildroot根文件系统构建
    启动docker步骤
    makefile记录
    嵌入式通过绑定实现双网卡冗余
    vmlinux
    thttpd服务器修改时间后导致CPU占用率过高
    OpenCV移植到ARM-Linux(Exynos4412)全过程
    Page Cache引起的业务问题处理
    sd卡分区制作脚本
    linux性能测试工具的记录
    linux文件的隐藏属性、特殊属性和ACL权限
    linux基础命令1
    linux3.10修复i2c adapter无法使用dts创建device
    iso启动盘替换文件注意修改md5sum.txt
    linux开启和使用swap
    linux系统下_proc深度解析

    六、Ubuntu环境搭建

    Ubuntu环境搭建零:安装Linux虚拟机
    Ubuntu环境搭建一:安装tftp服务器程序
    Ubuntu环境搭建二:搭建samba服务器
    Ubuntu环境搭建三:VIM配置
    ubuntu环境搭建四:安装和使用git
    ubuntu环境搭建五:修改中文字符集
    ubuntu环境搭建六:安装chrome浏览器
    Ubuntu每次启动都显示System program problem detected的解决办法

  • 相关阅读:
    .o .a .lo .la
    FFmpeg入门详解之15:音频基本概念
    DC电源模块在电容滤波器上的设计
    阿里P8最新内部疯传的 2022年【失传资料】Java面试总结手册
    2024 年,我想和这个世界聊聊
    60行自己动手写LockSupport是什么体验?
    大数据:Flume安装部署和配置
    【多目标优化求解】基于matlab非支配排序灰狼优化(NS-GWO)算法求解多目标优化问题【含Matlab源码 2015期】
    面向桥隧施工工地的环境参数监测与通风控制系统设计
    Python 中的后台进程
  • 原文地址:https://blog.csdn.net/sinat_22338935/article/details/127798387
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号