- 博客(268)
- 收藏
- 关注
原创 Linux 内存管理之address_space
本文介绍了Linux内核中用于管理文件页缓存(page cache)和内存映射的关键数据结构address_space。address_space通过基数树(radix tree)组织同一文件的所有缓存页,并提供了快速查找机制。
2025-07-10 19:36:17
851
原创 Linux 内存管理之page cache
Page Cache通过内存缓存磁盘文件数据,显著提升I/O性能,其优势基于内存访问速度远高于磁盘和被访问数据的高概率重复性。 详细区分了File-backed pages(文件页)和Anonymous pages(匿名页)两种内存类型,包括其数据结构差异、内存回收特性及swap机制。
2025-06-25 19:37:34
933
原创 Linux 内核自旋锁spinlock(四)--- queued spinlock
Linux 内核自旋锁spinlock(四)--- queued spinlock简介。
2025-02-21 20:19:02
1242
原创 Linux 内核自旋锁spinlock(三)--- MCS locks
Linux 内核自旋锁spinlock(三)--- MCS locks简介。
2025-02-21 11:17:38
741
原创 Linux ARM64 将内核虚拟地址转化为物理地址
本文介绍一种通用的将内核虚拟地址转化为物理地址的方案以及一种适用于ARM64 将内核虚拟地址转化为物理地址的方案,给出了对应的代码示例。
2025-02-11 10:31:14
1323
原创 Linux 内核自旋锁spinlock(二)--- ticket spinlock
Linux 内核自旋锁spinlock--- ticket spinlock简介。
2025-02-10 11:39:49
1171
原创 Linux 内核自旋锁spinlock(一)
在软件工程中,自旋锁是一种用于多线程应用程序中的同步原语,用于保护共享资源。当一个线程尝试获取自旋锁但发现它已被另一个线程持有时,该线程不会立即进入睡眠状态(如传统互斥锁的情况),而是会在一个循环中持续“自旋”,不断检查锁是否可用。这种行为被称为忙等待。自旋锁能够避免操作系统进程重新调度或上下文切换的开销,因此在线程可能仅会短暂阻塞的情况下,自旋锁非常高效。出于这个原因,操作系统内核经常使用自旋锁。对于操作系统内核:在SMP系统上,各个CPU可能同时处于核心态,在理论上可以操作所有现存的数据结构。
2025-01-17 20:57:42
1138
原创 Linux x86_64 程序动态链接之GOT 和 PLT
Linux x86_64 程序动态链接之 GOT 和 PLT延时绑定技术,以及给出了一个demo。
2025-01-14 17:23:08
1041
原创 Ubuntu12.04/Ubuntu20.10/Ubuntu22.10更换阿里云源
Ubuntu12.04/Ubuntu20.10/Ubuntu22.10更换阿里云源简介
2024-08-14 16:23:50
1430
原创 Intel 和 ARM 对ROP/COP/JOP的缓解措施
前向转移(forward):将控制权定向到程序中一个新位置的转移方式, 就叫做前向转移, 比如jmp和call指令。这里我们主要保护的间接跳转,间接跳转是运行时才知道函数地址,而直接跳转在编译阶段就已经确定(攻击者很难利用)。后向转移(backward):而将控制权返回到先前位置的就叫做后向转移, 最常见的就是ret指令。现代CPU的增强功能,如非可执行堆栈和非可写代码页,有助于防止传统形式的代码注入。然而,比如在x86架构中,指令解码可以从任意字节开始,这为攻击者提供了一组不同于程序员意图的指令。
2024-07-12 17:58:14
1523
原创 Shadow Call Stack and Branch Target Identification for improved security on ARM64
Shadow Call Stack and Branch Target Identification for improved security on ARM64
2024-07-09 17:43:35
1296
原创 Linux arm64平台指令替换函数 aarch64_insn_patch_text_nosync
Linux arm64平台指令替换函数aarch64_insn_patch_text_nosync简介
2024-07-08 16:51:49
1220
原创 Linux x86_64平台指令替换函数 text_poke_smp/bp
Linux x86_64平台指令替换函数 text_poke_smp/bp简介
2024-07-05 17:30:37
1257
原创 Linux 内存管理 SLUB 分配器
来自文章https://lwn.net/Articles/229984/的翻译
2024-06-04 16:32:20
1222
原创 Linux CFS调度器之周期性调度器scheduler_tick函数
Linux CFS调度器之周期性调度器scheduler_tick函数简介
2024-05-30 17:45:19
1545
20
原创 Linux gurb2简介
Linux gurb2简介以及/etc/default/grub文件、/etc/grub.d/文件夹、/boot/grub2/grub.cfg和grubx64.efi文件简介。
2024-05-22 18:52:57
2183
原创 Linux .eh_frame section以及libunwind
Linux .eh_frame section的描述以及libunwind库的使用。
2024-05-17 17:54:28
3091
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人