Linux中GFP的意思
linux gfp意思
e820与kernel物理内存映射
e820与kernel物理内存映射
linux内核e820来源及相关知识
Linux中的宏
Linux宏:_ _ ASSEMBLY _ _
Linux kernel中常见的宏整理
Linux-64位系统内存分配
Linux-64位系统内存分配
x86_64Linux的内存管理区
Linux page allocation failure 的问题处理 - lowmem_reserve_ratio
内联函数inline
嵌入式C语言自我修养 10:内联函数探究
linux驱动中使用static关键字的重要性
linux驱动中使用static关键字的重要性
内核符号表
内核符号表及使用
内核时间类型
Linux内核中的定时器
计时原理-timekeeper与clocksource
kprobe kretprobe example
kprobe kretprobe example
bcc使用kretprobe
中断和异常
LINUX-内核-中断分析-中断向量表(1)-x86
mmap()源码分析
mmap 源码分析
深入理解Linux内存分配
深入理解Linux内存分配
缺页处理函数hugetlb_fault()
hugetlb mips 分析(一)
Linux hugepage使用与实现
缺页错误page fault
linux内存管理–缺页异常处理
内存故障处理程序
了解页面错误和内存换入/换出:什么时候您应该担心?
page fault时发生了什么
图解|什么是缺页错误Page Fault
Linux 内核源码分析-内存请页机制
利用异常表处理 Linux 内核态缺页异常
为什么do_page_fault函数里代码需要判断用户态还是内核态?
linux核心分析之缺页中断
缓存的三座大山
图解|什么是缓存系统三座大山
TLB
什么是TLB?
TLB的作用及工作原理
转译后备缓冲区
bcc 工具
profile工具
在线流程图
freedgo
电子教材
Linux内核原理与应用
kprobe
An introduction to KProbes
Brendan Gregg 博客网站
Brendan Gregg’s Blog home
eBPF原理
eBPF在网易轻舟云原生的应用实践
eBPF简史
eBPF 简史
动态追踪技术
动态追踪技术漫谈(转载)
动态追踪技术漫谈(原文)
《性能之巅》学习笔记之Dtrace
内存条
程序员眼中的内存(理论篇)
内存条物理结构分析
SDRAM
哈希表
哈希表(散列表)原理详解
聊一聊哈希表
eBPF 继续深入的好文
BPF与eBPF
红帽企业版Linux 7中的eBPF简介
bpf(2)— Linux手册页
eBPF的注入函数
PPT:eBPF/BCC | bpftrace
PPT:Kernel analysis using eBPF
Linux内核数据类型 u32 u64
linux驱动-内核中的数据类型
Linux中数据类型
LWN:Data Types in the Kernel
android eBPF
使用 eBPF 扩展内核
LWN eBPF/bcc 全套
LWN1:A thorough introduction to eBPF
LWN2:An introduction to the BPF Compiler Collection
LWN3:Some advanced BCC topics
LWN4:Using user-space tracepoints with BPF
BCC & libbpf
BCC & libbpf
BPF Portability and CO-RE(libbpf)
linux tracing和profiling概论
linux tracing和profiling概论(tracepoints和probes)
Linux内核tracepoints
address_space
address_space, 页高速缓存
eBPF系列
ebpf原理分析
宋宝华:用eBPF/bcc分析系统性能的一个简单案例
eBPF监控工具bcc系列
glibc源码下载及在线阅读
源码下载:Index of /gnu/glibc
bootlin源码在线阅读
mmap源码分析
mmap源码分析
C语言mmap()函数:建立内存映射
Linux匿名内存映射
浅谈 Linux 的内存管理
NUMA与UMA
内存条物理结构分析
高效能虚拟机器之NUMA 架构
What is NUMA (non-uniform memory access)?
什么是SMP,UMA,NUMA
3种系统架构与2种存储器共享方式
系统和内存架构(System & Memory Architecture)
如何读论文
吴恩达教你如何读论文:绘制进度表格,论文至少看三遍,还要问自己问题
Linux内存可视化工具
如何在Linux上安装和使用Netdata监视工具
使用 smem 可视化显示Linux内存使用情况
Linux阅码场:使用 smem 可视化显示Linux内存使用情况
工具推荐:Netdata,Linux性能实时监测工具
在 Linux 上安装 NetData 性能监控工具
Linux学习书籍大全
Linux书籍
mmap介绍
Linux环境进程间通信: 共享内存
Linux 中 mmap() 函数的内存映射问题理解
共享内存mmap介绍
认真分析mmap:是什么 为什么 怎么用
C语言mmap()函数:建立内存映射
linux内存映射mmap原理分析
linux系统缓存命中率分析工具
linux系统缓存命中率分析工具
Linux内核文件Cache机制
编程获取Linux的内存占用和CPU使用率
编程获取Linux的内存占用和CPU使用率
BPF程序分类
一文搞懂所有bpf程序分类
读取proc文件系统信息
使用 /proc 文件系统来访问 Linux 内核的内容
位运算的奇技淫巧
位操作运算有什么奇技淫巧?(附源码)
Linux命令源码
Linux命令源码在线查看
在线查看linux源码的网站
在线查阅kernel源码
内存分页机制完全攻略
内存分页机制完全攻略
Linux性能优化实战
极客时间:Linux性能优化实战
bcc程序
eBPF监控工具bcc系列八BPF C
宋宝华:用eBPF/bcc分析系统性能的一个简单案例
Linux bpf 2.1、bcc的实现
eBPF监控工具bcc系列七开发脚本
eBPF监控工具bcc系列七开发脚本
bcc Python Developer Tutorial
bcc Reference Guide
怎么去转换任何系统调用为一个事件:对eBPF 内核探针的介绍| Linux 中国
Linux性能调优
理解Linux性能指标
《Linux性能优化实战》—倪朋飞,内存部分学习笔记
JIT编译
什么是JIT,写的很好
如何通俗易懂地介绍「即时编译」(JIT),它的优点和缺点是什么?
ebpf学习
eBPF全面深度学习
eBPF Tracing 入门教程与实例
BPF与eBPF与BCC
ebpf & bcc 中文教程及手册
Linux bpf 1.1、BPF内核实现
译:eBPF 内核探测:如何将任意系统调用转换成事件
怎么去转换任何系统调用为一个事件:对 eBPF 内核探针的介绍
深入理解 BPF:一个阅读清单(最全面+重要)
译:Cilium:BPF 和 XDP 参考指南
vimplus
超级强大的vim配置(vimplus)
vimplus github
修改终端字体为Droid Sans Mono Nerd Font
Ubuntu系统字体命令和字体的安装
终端乱码问题
ubuntu18.04安装ebpf
安装bcc、cachetop、cachestat
18.04可能与pthon3相关的问题解决
Linux安装Cmake3
linux安装cmake
软链接文件名闪烁
关于Linux中创建软连接ln -s出现红色闪烁文件名
bcc&libbpf
知乎:BCC & libbpf
ebpf好文
eBPF on Android
eBPF架构优势及其应用方向上的畅想
CentOS7环境变量配置
centos7 之 设置环境变量
LLVM&Clang
Clang与LLVM的关系
维基百科:LLVM
维基百科:Clang
VMware15安装
VMware Workstation Pro 1安装
CentOS7
centos7升级内核至最新
perf工具
Linux 效能分析工具: Perf
我的youtube订阅
Linux核心设计:ebpf
配套讲义笔记:Linux核心设计 透过ebpf观察作业系统行为
ebpf中文讲义:Linux核心设计 :透过eBPF观察作业系统行为
FBook:台湾Linux内核社区
centos7安装bpftrace
How to install bpftrace on CentOS
Linux文件系统
知乎:Cache 和 Buffer 都是缓存,主要区别是什么?
Linux Cache VS. Buffer
ebpf学习
ebpf学习网站(大全)
ebpf网络
bcc
bcc安装
注意问题: bcc 工具包的安装和使用
ebpf相关
基于 eBPF 的 Linux 可观测性
eBPF Tracing 入门教程与实例
Linux文件描述符
文件描述符(File Descriptor)简介
性能分析工具之火焰图
性能分析工具之火焰图:记录 Linux 系统下性能分析时相关工具火焰图使用方法
火焰图(FLAMEGRAPH)的简单学习
64位系统地址为什么是64位的
64位的处理器的地址总线一定也是64位吗
虚拟地址转换三 多级页表
UML各种图介绍
UML 各种图总结精华
Linux中的段
stack overflow:Linux memory segmentation
Linux中的段
Linux内核心脏:gitbook介绍64位Linux的子系统
linux-insides
Linux内核开发人员社区
Kernelnewbies
Linux 性能诊断
Linux 性能诊断:荐书《图解性能优化》
位运算的奇技淫巧
知乎:位运算有什么奇技淫巧
MIGRATE_TYPES
linux kernel 中MIGRATE_TYPES的理解
buddy伙伴系统
伙伴系统之伙伴系统概述–Linux内存管理(十五)
GFP_ZONE_TABLE
BiscuitOS/Linux 上构建 GFP_ZONE_TABLE
内核实践基地:Biscuit OS
Biscuit OS
Linux内核中的数据类型
linux驱动-内核中的数据类型
LWN好文:内核数据类型
Linux公社:Linux中数据类型
Linux内核数据类型及跨平台
系统的字节序
字节顺序
字节对齐
简书:字节对齐
使用__attribute__ 进行字节对齐
Sparse:Linux内核的C语义检查器
sparse(1)-Linux手册页
Linux内核开发文档:获得和使用Sparse
内核工具 – Sparse 简介:非常好的一篇文章
开发者知识库:__bitwise牵出的 内核工具 – Sparse
Support sparse-style attribute((bitwise)) (type attribute)
man手册:__bitwise的作用
Bitcuit OS实践:__bitwise
开发者知识库:sparse静态编译检查工具——定义CHECKER宏(也就是使能了sparse)
看Linux内核代码的基础
Linux内核源码特殊用法
__attribute__详解及应用
简书:__attribute__详解及应用
Linux的内核的compiler.h文件
云栖社区:内核compiler.h的学习
开发者知识库:Linux内核源码分析(1)——compiler.h分析
Sparse内核语法分析器:attribute((force))
StackOverflow:__attribute __((force))的作用是什么?
进入保护模式
Linux Kernel 2.6.37 启动过程:漫步进入保护模式
C语言中常量后缀,u或U,l或L,f或F问题
C语言中常量后缀,u或U,l或L,f或F问题
C语言运算符的优先级和结合性一览表
C语言中文网:C语言运算符的优先级和结合性
菜鸟教程:C运算符
菜鸟教程
菜鸟教程学习网站
Linux基础
/proc/sysrq-trigger详解
利用 SysRq 键排除和诊断系统故障
页面迁移:Migrate
避免内存分配死锁:gfp_allowed_mask
UCore内核
uCore OS实验指导书和源码网址
Linux内存管理系列
Linux内存管理——伙伴算法(Buddy System)
知乎:Linux内存管理—伙伴堆算法(1)—有个好图
动态链接器如何判断某个共享库已经加载进内存?
图解slub
struct page 的 lru 成员适用场景分析
别再说你不懂 Linux 内存管理了,10 张图给你安排的明明白白
LWN.net
LWN
硕士论文文献搜索网站
IEEE Xplore
iData
64位at&t汇编
64位at&t汇编
顶级 Linux 开发者推荐的编程书籍
知乎:顶级 Linux 开发者推荐的编程书籍
IA-32保护模式下的分页
知乎:IA-32保护模式下的分页
CPUID指令获取CPU信息
INTEL处理器识别和CPUID指令(二) CPUID指令
用cpuid指令获取cpu信息
Linux内核早期源码下载
Index of /Linux.old
Linux内核在线书籍(国外)
/www.kernel.org/doc/gorman/html/understand
X86 | 汇编 | ABI
x86
amd64 psABI在哪里
x86-64 System V ABI记录在哪里
Index of /elf
在i386和x86-64上UNIX和Linux系统调用的调用约定是什么
编程模型 | 处理器架构
数据模型
64位数据模型和64位架构
Linux上的64位汇编
Linux上的64位汇编程序设计
system V ABI
system V ABI
GCC
GCC扩展
GCC内联汇编
linux中的内联汇编-快速入门
GCC内联汇编基础
GCC文档
GNU-gcc-文档
BIOS中断
维基:BIOS中断呼叫
bios中断大全
BIOS中断列表
cmos 和 bios中断大全
OS Dev-BIOS
BIOS维护者的站点
中断
中断介绍
GDB
100个GDB小技巧
GDB修改汇编风格
Quick Guide to GDB — 图形界面调试
C标准库 | POSIX库
C标准库头文件
POSIX.1 and ISO C标准头文件
POSIX 信号量使用
如何使用C语言使用POSIX信号量
Linux命令查询
Linux命令大全
Linux命令大全(手册)
线程函数
C / C ++中的线程函数
用于Linux线程同步的互斥锁
线程
维基:线程
Unix/Linux系统编程例子
GeeksforGeeks社区
共用体(联合体)
C语言共用体(Union)
生产者与消费者
生产者消费者问题
C基础系列
C 语言中 void* 详解及应用
空字符 空格字符(字符) 空字符串 NULL的区别
C语言return的用法详解,C语言函数返回值详解
为什么一个C程序要从main()函数开始,以及main()函数结束(返回)时是返回给“谁”了。
return 和 exit 的区别
维基:write( )函数
GNU C库
GNU C库
AT&T汇编视频讲解
由尚德老师Linux内核编程之AT&T汇编
GDT、GDTR、LDT、LDTR的关系
两张图看懂GDT、GDTR、LDT、LDTR的关系
保护模式 段寄存器 段描述符 段选择子
内核源码下载镜像站点
Linux内核源码索引
Intel 处理器相关
TLB(快表 or 旁路转换缓冲器)
BTB
处理器分支预测
CPU缓存
奔腾4全景:Pentium 4是具有单个内核的单个CPU
Intel® 64 and IA-32 :卷3中文
汇编指令相关
CLI、STI 汇编指令有什么作用
(实模式+保护模式)模式切换的过程步骤(代码+文字解析)
保护模式及其编程——实模式与保护模式的切换
C语言调用Intel处理器CPUID指令的实例
在GCC中获取CPUID信息
lea指令
磁盘相关
磁盘存放数据原理
磁盘I/O那些事
硬盘的读写原理
磁盘运行3D演示
电脑中常用的“扇区”、“簇”、“块”、“页”等概念
硬盘基本知识:物理构造和逻辑单元
逻辑区块地址LBA
选购硬盘HDD、SSD、SSHD、IDE、SATA、SCSI、SAS、PCIe、M.2、USB
PCI-E、SATA SSD怎么选?一分钟看懂
Linux 0.11启动相关
两头约定,定位识别
主引导记录MBR
很好的视频教程
TED Ed:硬盘是如何工作的
TED Ed:计算机内存是如何工作的
TED Ed:二进制代码如何工作
TED Ed:晶体管如何工作
总线相关
深入PCI与PCIe之一:硬件篇
超详细系统总线PPT
DMA相关
维基:直接内存访问
mmap和DMA
DMA和中断处理
论文网站
THIS SITE USES COOKIES
硬件知识
UEFI和BIOS探秘:一起来探索UEFI/BIOS和固件的秘密
CPU系列文章索引
Cache
细说Cache-L1/L2/L3/TLB
维基:Cache
处理器的存储子系统(一)–概述
处理器的存储子系统(二)– Cache
多处理器编程:从缓存一致性到内存模型
Cpu Cache and Memory Ordering——并发程序设计入门
维基:CPU缓存
内存缓存
内存模型
并行编程简述-内存模型(1)
Linux内存管理
蜗窝科技内存管理文章
Linux阅码场原创精华文章汇总
工具相关
英特尔®内存延迟检查器v3.8
编程模型
Intel 80386程序员手册:编程基本模型
X86体系结构
x86体系结构概述:IA-32和x86-64
x64汇编
x64汇编简介
64位汇编参数传递
晶振
晶振的讲解及使用
很少人都不知道笔记本主板晶振作用,今天带大家先了解一下
初步了解电脑主板里的那些功能各异的石英晶振
电脑主板上的晶振出了问题,会对电脑带来什么影响?
有源晶振与无源晶振
CPU时钟相关
讲了这么多年的CPU频率,到底是什么
CISC和RISC指令集的区别
ARM和X86的区别
MMU,TLB和Cache
关于CPU Cache – 程序猿需要知道的那些事
linux-cache-line
MMU/TLB/Cache概述
为什么Linux用了4级页表
维基:TLB
TLB缓存是个神马鬼,如何查看TLB miss?
MMU,TLB,TTB和页表
GNU C学习
GNU C官网:学习GNU C
BookOS
Book OS
x86段寄存器
23-段描述符与段选择子
段寄存器和段描述符
IA-32体系结构CPU保护模式常见误区
Size of intel x86 Segment registers
描述符高速缓存
286 实模式下的描述符cache
段描述符缓存 - 罗伯特·科林斯(Robert R.Collins)
通过汇编获取GDT和GDTR的值
GDT教程
Hell of kernel Debugging
Linux内存分段
讨论:Linux内存分段
x86内存分段
维基:x86内存分段
内存模型
平坦模型
Linux Kernel学习(正一的站点)
Linux Kernel Exploration
保护模式及其编程
80x86保护模式及其编程
Intel 在线手册
英特尔80386参考程序员手册 — 英汉在线
逆向工程工具相关
IDA Pro使用简介
IDA Pro工具下载:Linux /windows
Ghidra工具安装使用教程
Ghidra官网下载
binaryninja首页
binaryninja入门指南
Win10下安装Ghidra相关
Win10安装jdk11及环境变量配置
JDK11 JAVA11下载安装与快速配置环境变量教程
centos7安装ghidra
Installing NSA’s Ghidra reverse engineering tool on CentOS 7 in 10 minutes.
Linux内存相关知识
Linux Kernel Exploration:内存管理
Linux内核级调试
Linux 系统内核的调试
Linux内核调试方法总结
Linux高端内存
别再说你不懂 Linux 内存管理了,10 张图给你安排的明明白白
图片素材网
PNG素材网
晶体管
晶体管基础知识
CPU die 上的层状铜线如何架起来的
芯片里面有几千万的晶体管是怎么实现的
如何像搭积木一样构建CPU?Intel和AMD都是怎么做的?
Intel Core处理器家族技术资源
英特尔®酷睿™处理器技术资源
电路仿真和原理图
CircuitLab
PCB印刷电路板
PCB知识大全
在线电子书
计算机维修技术 易建勋
计算机硬件技术——结构与性能 易建勋
微型计算机原理与接口技术 吴宁
Linux内核探秘:深入解析文件系统和设备驱动的架构和设计
图灵机
维特根斯坦的思考:图灵机的计算是思维吗
CPU运行展示
CPU运行时模拟
CPU频率
超能课堂(111):讲了这么多年的CPU频率,到底是什么?
睿频技术:SNB系列第六弹,Turbo Boost 2.0加速技术解析
计算机书籍相关
哪本《数据结构与算法》最好
实验楼
实验楼首页
MOOC课程相关
操作系统课程 — 李志军老师
网页书籍
How a CPU Work
罗伯特·柯林斯
深入的文章
centos7虚拟机扩容
VMware虚拟机CentOS 7 磁盘扩容
bochs配置
《一个64位操作系统的设计与实现》阅读笔记:centos7下bochs安装与环境搭建
CentOS7安装qt5.14
CentOS 7下安装Qt5.11
qt组件选择
GCC升级相关
GCC下载镜像:Index of /gnu/gcc
Linux升级安装GCC
解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21’ not found 的问题
在线画图工具
在线 UML 绘图软件
processon
word转pdf
ilovepdf
pdf转word
ilovepdf
前端入门
前端入门——day1(简介及推荐书籍和网站)
go web相关
技术周刊之基于beego web框架的RESTful API的构建之旅
go相关
Golang — GOROOT、GOPATH、Go-Modules-三者的关系介绍
前后端交互
前后端交互原理 深入理解
浅析前后端数据交互
前后端交互指南
前后端数据交互实例
一个小案例搞懂前、后端是如何进行数据交互的
需求规格说明书
知乎:软件需求规格说明书如何写?
软件需求规格说明书范例
需求分析师如何撰写需求规格说明书?
如何写《软件需求规格说明书》
需求规格说明书模板
软件需求规格说明书(范例)
常用的软件需求说明书模板
如何使用beego快速开发web系统
如何使用beego快速开发web系统【Golang 入门系列十三】
Golang的基础语法,mysql的使用,redis的使用,也讲了orm框架,如何创建一个webapi 服务
Go HTTP框架Beego - 快速入门
REST框架——RESTful
REST框架——RESTful
go编程环境配置
golang的win10安装
win10安装go环境
bee工具安装
bee工具安装踩坑|简单快速安装bee|but was required as: github.com/derekparker/delve
goland工具
Goland常用快捷键
MySQL安装与环境配置
在windows10上安装mysql详细图文教程
超级详细的mysql数据库安装指南
十大测评:2020最好的客户端推荐
Navicat
Navicat 在线手册 - Navicat 教程
Navicat for MySQL怎样执行SQL语句呢
Navicat Premium操作MySQL数据库—执行sql语句
beego
beego 路由详解
golang学习之旅:使用go语言操作mysql数据库
golang学习之旅:使用go语言操作mysql数据库
git提交本地项目到github远程仓库
如何使用Git将本地项目上传到Github(win10系统)
Git的使用–如何将本地项目上传到Github(两种简单、方便的方法)
github与远程仓库的关联与取消关联
git中本地与远程库的关联与取消
Git教程
易佰教程:Git使用
猴子都能懂的GIT入门
Git官方教程
廖雪峰:Git教程
C语言数据结构
数据结构与算法教程,数据结构C语言版教程
DIM-SUM
gitee源代码
工具链下载链接 提取码:c4qd
C/C++习题书
C/C++配套习题书