Linux技術博客文檔
綜合
- Linux 內核揭秘
- Linux 內核教學
- https://linux-kernel-labs.github.io/
- linux-source-code-analyze
- http://www.rzrgm.cn/LoyenWang/
- https://github.com/0voice/kernel_memory_management
- https://blog.csdn.net/u010923083/category_10971696.html
- Linux 核心設計/實作 (Linux Kernel Internals)
- Linux閱碼場原創精華文章匯總
- 蝸窩科技
- 蘭新宇 專欄文章目錄
- 零基礎開發操作系統
- Youtube轉載視頻
- The Linux Foundation 技術分享
- 內核大仙 B站技術分享
- https://www.l2h.site/archives/
- Yizhou Shan's Home Page
- Linux Kernel Teaching
- https://book.aikaiyuan.com/
- What every SRE should know about GNU/Linux shell related internals: file descriptors, pipes, terminals, user sessions, process groups and daemons
- Youtube上的Linux internals視頻
- 專欄 Linux源碼分析
- ChinaUnix上的內核源碼板塊
- 記錄一點OS問題診斷
- Meta 開發者社區
- Oracle Linux Blog
- Linux 逆向工程資料
- Linux Trouble Shooting Cheat Sheet
- 不同版本的內核在線文檔:https://www.kernel.org/doc/html/
- Linux Kernel Testing and Debugging
- humjb_1983
- Linux Kernel Teaching
- 紅帽Linux技術文檔:Oracle Linux Training Station
- B站:
- Linux-Kernel-Programming
- https://aeb.win.tue.nl/linux/lk/lk.html#toc1
- 內核release記錄:https://lwn.net/Kernel/Index/#Releases
論壇技術分享
感興趣的幾個議題
mmap_sem鎖
- The LRU lock and mmap_sem
- Zone-lock and mmap_sem scalability
- How to get rid of mmap_sem
- The ongoing search for mmap_lock scalability
頁回收算法
OOM
內存交換
Page
Memcg
塊子系統
WriteBack
虛擬化
國際
LSFMM-BPF(Storage_Filesystem_Memory-Management_and_BPF_Summit)
LPC (Linux_Plumbers_Conference)
Kernel Recipes
KVM論壇
國內
內核大會
-
19屆
-
18屆
-
17屆
-
16屆
龍蜥社區
歐拉社區
內核社區
鏡像網站
內核地圖
內核API
內核開發用到的工具
啟動和初始化
并發
- Is Parallel Programming Hard, And, If So, What Can You Do About It?
- 并發原語
- RCU concepts
- 內核中的鎖機制
- 內核鎖使用指南
- PV qspinlock原理
LOCKDEP
- Linux 死鎖檢測模塊 Lockdep 簡介
- Enhancing lockdep with crossrelease
- The kernel lock validator
- Linux中的spinlock機制[五] - 死鎖問題
原子操作
spinlock
- Linux中的spinlock機制[一] - CAS和ticket spinlock
- Linux中的spinlock機制[三] - qspinlock
- Linux中的spinlock機制[二] - MCS Lock
RCU
- McKenney, Paul E 的文章匯總
- What is RCU? – “Read, Copy, Update”(翻譯by ChatGPT)
- What is RCU, Fundamentally? (翻譯)
- RCU-1——內核文檔翻譯——Data-Structures.rst
- RCU-1——內核文檔翻譯——Expedited-Grace-Periods.rst
- 12 what is RCU 2013 Paul McKenny at IISc
- Linux 核心設計: RCU 同步機制
- The design of preemptible read-copy-update
- Linux中的RCU機制[一] - 原理與使用方法
- Linux中的RCU機制[二] - GP的處理
- Linux中的RCU機制[三] - 性能與實時性
- Linux內核同步機制之(七):RCU基礎
- Linux2.6.11版本:classic RCU的實現
- Linux2.6.23 :sleepable RCU的實現
- Using RCU’s CPU Stall Detector
- INFO: rcu_sched detected stalls on CPU/tasks
- 使用 RCU 的 CPU Stall檢測器
- RCU-3——經典(可搶占)RCU代碼分析
- Linux RCU原理剖析(二)-漸入佳境
底半部
處理器
x86處理器
ARM64處理器
CPU熱拔插
異常和中斷
程序加載和執行
編譯器和調試器技術
- Unwind 棧回溯詳解
- Unwinding a Stack by Hand with Frame Pointers and ORC
- Unwinding a Stack by Hand with Frame Pointers and ORC 翻譯 (By ChatGPT)
- The Linux x86 ORC Stack Unwinder
- The ORCs are coming
- 內核文檔
- Compile-time stack validation
- 內核郵件 Compile-time stack metadata validation
- DWARF詳解
- 窺探一下DWARF描述
- 用圖文帶你徹底弄懂GDB調試原理
- 100個gcc小技巧
- x86_64 內聯匯編
- Stack unwinding
- 在內核態對進程的用戶態的棧進行回溯
- DWARF, 調試信息存儲格式
- Linux Debuginfo Formats: DWARF, ELF, dwo, dwp - What are They All?
- Linux tracing/profiling 基礎:符號表、調用棧、perf/bpftrace 示例等(2022)
- How debuggers work: Part 3 - Debugging information
- Function Stack Unwinding
- Linux .eh_frame section以及libunwind
- DWARF stack walks and fast symbolization for BPF
- fedora: Changes/fno-omit-frame-pointer
- perf tools: Add libdw DWARF unwind support
hook技術
ptrace
Qos
設備模型
- linux 內核設備管理模型sysfs(入門篇)
- linux 內核設備管理模型sysfs(進階篇)
- linux sysfs link(sysfs_create_link)
- linux kobject-uevent(熱插拔事件)
- 深入理解程序的本質
- Rules on how to access information in sysfs
進程調度
- LWN:https://lwn.net/Kernel/Index/#Scheduler
- Linux Schedule
- Linux schedule 2、調度算法
- Linux核心概念詳解 —— CFS
- Linux調度器
- 聊一聊 Linux 上信號處理過程中的信號棧幀
- Linux調度系統全景指南(上篇)
- Linux調度系統全景指南(中篇)
- Linux調度系統全景指南(下篇)
- Linux調度系統全景指南(終結篇)
- Linux 系統的平均負載(Load Avarage)
- bug:scheduling while atomic"和"bad: scheduling from the idle thread"
- Reducing jitter on Linux with task isolation
- 深入理解Linux內核之進程喚醒
- 深入理解Linux內核之內核搶占
- 深入理解Linux內核之主調度器(上)
- 深入理解Linux內核之主調度器(下)
- 深入理解Linux內核之進程睡眠(上)
- 深入理解Linux內核之進程睡眠(下)
- cond_resched的使用
- 為什么內核線程不能被kill掉?
- 喚醒實時進程時對目標cpu的選擇策略與存在的問題
- 從幾個問題開始理解CFS調度器
- 采用sched_feat作為內核調試控制開關
- Linux進程管理與調度 專欄
- Linux進程調度-組調度及帶寬控制
進程熱遷移
sched_ext
內存管理
- Memory Management APIs
- Linux Memory Management Documentation
- 基本概念
- Linux內存管理文檔
- Folio
- x86_64的內核內存布局
- 深入理解Linux內存管理 專欄
- 基于ARM64的Linux頁表技術分析
- 一步一圖帶你構建 Linux 頁表體系 —— 詳解虛擬內存如何與物理內存進行映射
- 一步一圖帶你深入理解 Linux 物理內存管理
- 一步一圖帶你深入理解 Linux 虛擬內存管理
- 從內核世界透視 mmap 內存映射的本質
- 深入理解Linux內核共享內存機制- shmem&tmpfs
- Linux內存管理中鎖使用分析及典型優化案例總結
內存一致性和緩存一致性
- 說透緩存一致性與內存屏障
- 宋寶華:原理和實戰解析Linux中如何正確地使用內存屏障
- 如何使用屏障指令
- ARMv8/ARMv9的內存屏障barrier(CPU的亂序和推測執行)
- 高速緩存與一致性專欄索引
- 編譯亂序
- 辨析三種一致性:緩存一致、內存一致、數據一致
- 內存模型系列(上)- 內存一致性模型(Memory Consistency)
- CPU緩存一致性協議MESI
- 與程序員相關的CPU緩存知識
- Linux-Kernel Memory Model
- Linux kernel memory barriers
- 為什么我們不應該使用volatile類型
- READ_ONCE()
- Unaligned Memory Accesses
- Linux內核同步機制之(三):memory barrier
- 高速緩存與一致性
- ARM的內存模型測試工具
缺頁異常
- 一文聊透 Linux 缺頁異常的處理 —— 圖解 Page Faults
- 缺頁異常 (Page fault)實現分析及優化
- The story of pagefault_disable/enable
- 投機性缺頁異常(SPF)原理分析
- per-VMA locks技術分析
memblock內存分配器
伙伴系統
- 伙伴系統---相關知識點
- 如何根據gfp flag找到對應的zone
- per_cpu_pageset(PCP)技術分析
- 深度剖析 Linux 伙伴系統的設計與實現
- 深入理解 Linux 物理內存分配全鏈路實現
SLUB
- 多圖詳解Linux內存分配器slub
- 細節拉滿,80 張圖帶你一步一步推演 slab 內存池的設計與實現
- 深度解析 slab 內存池回收內存以及銷毀全流程
- 從內核源碼看 slab 內存池的創建初始化流程
- 深入理解 slab cache 內存分配全鏈路實現
- 深度解讀 Linux 內核級通用內存池 —— kmalloc 體系
- 圖解slub
- GDB擴展 —— slab分析命令
Percpu
反向映射
PageCache
內存回收
LRU
DAMON
MGLRU
- https://docs.kernel.org/next/mm/multigen_lru.html
- LWN:如何合并 multi-generational LRU!
- MGLRU Looks Like One Of The Best Linux Kernel Innovations Of The Year
- MGLRU - Yu Zhao
- mg-lru-helper
- 在啟動參數中添加配置來查看MGLRU的配置信息:mminit_loglevel=8
- 動態調整MGLRU的參數
- MGLRU(Multi-Gen LRU)技術原理分析
- 一文講透MGLRU
內存交換
zswap
zram
- ZRAM那點事(1) ZRAM和ZSMALLOC的簡介
- ZRAM那點事(2) ZRAM使用中3個問題以及主線改進
- ZRAM那點事(3) 我對ZRAM的1個提高
- ZRAM那點事(4) 對ZRAM提高的一些思路
- zRAM內存壓縮技術分析及優化方向
內存遷移
- 宋寶華:論Linux的頁遷移(Page Migration)完整版
- linux那些事之numa balance
- numa balance實現淺析
- linux內存源碼分析 - 內存碎片整理(實現流程)
- linux內存源碼分析 - 內存碎片整理(同步關系)
- 頁面遷移(page migrate)技術分析及使用優化
臟頁回寫
內存規整
ZRAM
大頁
NUMA
- numa_NUMA_學習筆記
- numa balance實現淺析
- Introduction to NUMA and Hugepage
- linux內核那些事之mempolicy(1)
- linux內核那些事之mempolicy(2)
- NUMA Memory Policy
- NUMA Deep Dive Part 1: From UMA to NUMA
- NUMA簡介&內存配置策略
- numastat、numactl命令詳解
- 十年后數據庫還是不敢擁抱NUMA?
- NUMA 延遲測試工具:Intel? Memory Latency Checker
內存熱拔插
DMA-BUF
RAS
Memory Failure
故障注入
- fault-injection
- Linux內核調試技術——Fault-injection故障注入
- https://www.nongnu.org/failmalloc/
- https://github.com/linux-test-project/ltp/blob/master/tools/insert_kernel_faults.sh
內核熱補丁
- Kernel Livepatching
- openEuler kernel技術分享-第16期-openEuler內核熱補丁介紹
- 揭露內核黑科技 - 熱補丁技術真容
- 用戶態和內核態熱補丁的技術實現與應用
- 內核熱補丁原理介紹、制作、使用、驗證方法
- Ftrace Hook (Linux內核熱補丁) 詳解
- 內核熱補丁技術揭秘
安全和可靠性
- 內核文檔 模塊簽名
- 內核文檔 RAS
- kptr_restrict 向用戶空間內核中的指針
- Linux提權方法論
- Linux Kernel Runtime Guard
- vmlinux-to-elf
- 像黑客一樣使用命令行
- CFI
- 內核加固文檔:
- OPTEE
LSM
TEE
內核跟蹤技術
文件IO
算法和結構
鏈表
紅黑樹
Maple Tree
驅動開發
電源管理
宕機log收集
云計算
本文來自博客園,作者:dolinux,未經同意,禁止轉載

浙公網安備 33010602011771號