首页
›
Linux内核与驱动
›
057-Linux内核内存管理
›
《Linux内存映射编程与内核栈溢出调试》
VIP10
本课程属于:057-Linux内核内存管理
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux内存映射编程与内核栈溢出调试
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
虚拟地址空间概述
什么是虚拟地址空间 · 为什么需要虚拟地址空间 · 物理地址与虚拟地址的映射关系
虚拟地址空间概述
什么是虚拟地址空…
02
32位系统下的经典布局
3GB/1GB用户态与内核态划分 · 经典布局图 · 各区域功能简介
32位系统下的经…
GB/1GB
03
64位系统下的地址空间
x86_64架构的地址空间特点 · 48位虚拟地址 · 用户态与内核态的巨大空间
64位系统下的地…
x86
04
进程地址空间结构
task_struct中的mm_st… · 内存描述符 · VMA(虚拟内存区域)的概念
进程地址空间结构
task
05
代码段(.text)
代码段的起始地址与结束地址 · 只读属性 · ELF文件加载过程
text
代码段
06
数据段(.data/.bss)
已初始化数据段与未初始化数据段 · BSS段在内存中的优化
data/.bss
数据段
07
堆(Heap)的分配机制
brk/sbrk系统调用 · 堆的起始与当前断点 · 堆的动态增长
Heap
的分配机制
08
mmap系统调用基础
mmap原型 · 文件映射与匿名映射 · MAP_SHARED与MAP_PRI…
mmap
系统调用基础
09
mmap映射文件实战
使用mmap读取大文件 · 内存映射I/O的优势 · 与read/write的性能对比
mmap
映射文件实战
10
匿名映射与内存分配
匿名映射分配大块内存 · 与堆分配的对比 · MAP_ANONYMOUS标志
匿名映射
内存分配
11
mmap分配地址指定
mmap的addr参数 · MAP_FIXED标志 · 固定地址映射的风险与用途
mmap
分配地址指定
12
栈(Stack)的布局
栈的起始地址与增长方向 · 栈帧结构 · 局部变量的存储
Stack
的布局
13
栈的自动增长
栈溢出检测 · 守护页(Guard Page)机制 · ulimit -s限制
栈的自动增长
栈溢出检测
14
内核栈与用户栈的区别
内核栈的大小限制 · 内核栈的分配位置 · 中断栈与进程栈
内核栈
用户栈的区别
15
内核栈的分配实战
alloc_thread_stack… · 内核栈的缓存与复用
内核栈的分配实战
alloc
16
VMA的创建与销毁
do_mmap与do_munmap内… · VMA的查找与合并
VMA
的创建
17
缺页异常处理
page fault流程 · 匿名页与文件页的缺页处理 · COW(写时复制)机制
缺页异常处理
page
18
内存映射区域(/proc/pid/maps)
解析maps文件 · 各字段含义 · 地址区间与权限标志
proc/pid/map…
内存映射区域
19
内存映射区域(/proc/pid/smaps)
更详细的内存统计 · RSS/PSS/Private_Cl…
proc/pid/sma…
内存映射区域
20
共享内存与mmap
System V共享内存与POSIX… · mmap实现进程间通信
mmap
共享内存
21
mmap与文件系统
页缓存(Page Cache)与mm… · 脏页回写机制
mmap
文件系统
22
大页(Huge Pages)映射
透明大页(THP)与显式大页 · mmap使用MAP_HUGETLB
Huge
Pages
23
内存映射的同步
msync系统调用 · 文件映射的数据持久化 · MAP_SYNC标志
内存映射的同步
msync
24
mprotect与内存权限
修改VMA的读写执行权限 · 实现代码段自修改
mprotect
内存权限
25
mremap与地址重映射
动态调整映射大小 · 移动映射地址 · 实现高效realloc
mremap
地址重映射
26
内存碎片与VMA合并
内核如何合并相邻VMA · 碎片整理策略 · 避免过多VMA
VMA
内存碎片
27
mmap与动态链接器
共享库的加载过程 · ld.so如何利用mmap加载.so…
mmap
动态链接器
28
mmap与JIT编译器
JIT代码生成与执行 · mmap分配可执行内存 · W^X保护
mmap
JIT
29
内核栈溢出检测
CONFIG_VMAP_STACK特… · 栈溢出检测机制 · 内核Oops分析
内核栈溢出检测
CONFIG
30
综合实战
编写一个程序 · 使用mmap分配内存 · 创建共享映射
综合实战
编写一个程序
所属VIP或分类
同VIP:ARM64-Linux缺页异常定位与处理延迟优化
同VIP:ARM64-Linux页表管理与地址转换调试
同VIP:CMA连续内存分配:多媒体驱动与DMA内存配置