码农知识堂 - 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的解决办法

  • 相关阅读:
    Ubuntu18.04安装GNSS 处理软件 u-center
    [ vulhub漏洞复现篇 ] Apche log4j远程代码执行漏洞(CVE-2021-44228)
    解决cscript打开excel时宏互不可见的问题
    什么是 Rootkit?
    95 后阿里 P7 晒出工资单:狠补了这些个技术栈,真的香啊
    2023-09-12力扣每日一题
    神经网络学说的主要观点,神经网络宏观解释包括
    上海亚商投顾:三大指数小幅下跌 两市成交金额创年内新低
    k8s--基础--07--环境搭建--安装traefik
    Vue3.3 的新功能的一些体验
  • 原文地址:https://blog.csdn.net/sinat_22338935/article/details/127798387
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号