当前位置: 首页 > news >正文

NJU OS 进程的地址空间

目录
  • 虚拟地址空间
  • mmap munmap mprotect
  • vvar / vdso
  • 入侵地址空间

虚拟地址空间

  • 地址空间的作用不是“真的给进程一大片 RAM”,而是给它一个连续、受保护、按页管理的虚拟地址视图。

  • 进程的最小可执行核心是:寄存器现场 + 虚拟地址空间。

  • MMU 根据页表把虚拟地址翻译成物理地址,并检查读/写/执行权限;非法访问通常会触发 page fault,最后可能变成 SIGSEGV

  • text:机器指令,通常只读、可执行。

  • rodata:字符串字面量、只读全局常量。

  • data + bss:已初始化/未初始化的全局变量、静态变量。

  • heap:动态分配区域;用户态常见接口是 malloc/new,底层常通过 brk/sbrkmmap 扩展。

  • mmap 区域:文件映射、匿名映射、共享库、JIT 代码、线程栈、vvar/vdso 等,现代进程里这块很重要。

  • 用户栈 stack:函数调用帧、局部变量、返回地址、保存的寄存器。

注意:

  • PC/RIP、通用寄存器不在栈里,也不在地址空间里;它们属于寄存器现场。
  • 一个 Unix 进程的完整状态还包括文件描述符、信号状态、调度信息、凭据、cwd、环境变量等;这些由内核维护,不是普通 load/store 能直接看到的内存。

fork 之后,子进程一开始看见的是父进程的整份地址空间;实现上常靠 Copy-on-Write,先共享物理页,写时再复制。

mmap munmap mprotect

  • mmap 的本质不是“读文件 API”,而是“建立一段虚拟地址区间与某个后端对象之间的映射关系”。
  • 这个后端对象可以是文件,也可以是匿名内存;映射还会规定权限、共享/私有语义等。
  • 因而 mmap 更像“把文件当内存”,而 fprintf/fscanf 更像“把文件当流”。
  • 两者不是包含关系:fprintf/fscanf 擅长文本格式化与解析,mmap 擅长随机访问、共享、按页懒加载。
  • munmap/mprotect 是与之配套的常见接口,分别解除映射,修改权限。
  • mprotect 可以修改一段映射的权限,例如把页改成只读、不可访问、可执行等。
  • 某些调试/监视机制会利用这一点:先把目标页设成不可写,等程序写它时触发 page fault,再由调试器介入分析。

现代 OS 依赖按页懒分配、缺页装入、共享零页、文件页缓存、swap、overcommit 等机制,所以“映射成功”和“能把每一页都写满”不是一回事。

vvar / vdso

  • vdso 是内核映射进用户地址空间的一小段用户态代码,用来加速某些原本常要陷入内核的操作,例如取时间。
  • vvar 是与之配套的一小段只读数据页,供 vdso 代码读取时钟基准等信息。
  • 可以粗略理解成:vdso 提供“代码”,vvar 提供“数据”;它们让一些操作在用户态就能完成,减少 syscall 开销。

入侵地址空间

  • game genie:外接设备,在游戏启动前扫描并修改变量(外挂)
  • 葫芦侠修改器:每次变量发生变化,扫描地址空间,确定是哪一个变量,进而实现破解
  • 透视:将人物的三角形放在障碍物的三角形上面
  • 变速齿轮:劫持关于时间的系统调用
  • dma:将游戏内的数据向外拷贝
http://www.rkmt.cn/news/1456228.html

相关文章:

  • 2026重庆旅游导游TOP榜单|纯玩无购物小团与真实游客反馈 - 随峰国旅
  • Vicuna-13B-Delta-v0完全指南:从LLaMA到智能聊天助手的蜕变之路
  • Arduino步进电机旋钮控制RGB灯光:从物理交互到嵌入式系统实践
  • 画BPMN工具推荐:从“能画”到“能落地”的选择指南
  • 如何用Fan Control彻底解决PC风扇噪音与散热难题:从零到精通完整指南
  • 在线DO仪十大品牌排行榜:2026年国产溶解氧仪表技术突围与精准选型指南 - 水质仪表品牌排行榜
  • 2026避坑指南|北京家庭天牛为什么总复发?16区根治方案+靠谱公司排名 - 苏易修缮
  • 实测Yi-9B-200K:如何用消费级GPU玩转200K超长文本处理?
  • Win11Debloat终极指南:一键清理Windows 11,提升51%系统性能
  • 2026重庆本地持证导游官方备案查询指南|正规导游筛选与避坑说明 - 随峰国旅
  • PDF文档批量处理与智能书签编辑:PDFPatcher工具使用指南
  • GPT2-WECHSEL-Chinese部署最佳实践:生产环境中的性能优化策略
  • 泉州黄金回收迎来本土透明联盟!百福、昌福、美昌三区鼎立,丰泽晋江鲤城全域畅达 - 百福黄金回收
  • 【限时解密】AI决策可信度评估框架v3.2(含可审计决策日志模板+ISO/IEC 23894合规对照表)
  • Java程序员必知必会Spring全家桶如何高效速通?
  • 终极指南:5分钟掌握跨数据库数据差异检测神器data-diff
  • 2026年北方成套冷冻机组厂家推荐榜单:技术实力、制冷效率与市场口碑深度解析 - 品牌企业推荐师(官方)
  • AI驱动的SOC升级指南:5步完成传统SIEM到智能安全中枢的零信任迁移
  • OneNote到Markdown迁移技术解析:如何实现高效无损的笔记格式转换
  • Python金融数据处理深度解析:mootdx高效方案全攻略
  • 3步构建个人数字记忆档案馆:GetQzonehistory完整指南
  • 雨天道路目标检测数据集 3600张 雨天 带标注 voc yolo
  • 20260603紫题训练总结 - Link
  • 高效B站视频下载指南:5分钟掌握BilibiliDown全功能使用技巧
  • 中文分词聚合分析终极指南:IK Analyzer在Elasticsearch中的特殊处理
  • 手柄映射工具AntiMicroX:让所有游戏都支持手柄操控的终极方案
  • 如何打造完美的跨平台音乐体验?LX Music Desktop终极指南
  • 基于yolov8与deepsort的多目标检测及追踪系统 基于视频/摄像头的车辆或其他目标追踪(可自己标注数据集,训练权重来继进行追踪
  • 2026年 温湿度监测系统/设备推荐排行榜:高精度、冷链仓储与实验室环境监控优质品牌精选 - 品牌企业推荐师(官方)
  • LeetCode hot 100 解题思路记录(二)