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

Linux/AndroidOS中进程间的通信线程间的同步 - 虚拟内存操作

前言

介绍在进程的虚拟地址空间上执行操作的各个系统调用。

  • mprotect()系统调用修改一块虚拟内存区域上的保护信息。
  • mlock()和 mlockall()系统调用将一块虚拟内存区域锁进物理内存,从而防止它被交换出去。
  • mincore()系统调用让一个进程能够确定一块虚拟内存区域中的分页是否驻留在物理内存中。
  • madvise()系统调用让一个进程能够将其对虚拟内存区域的使用模式报告给内核。
  • 此文章介绍的技术实际上与 IPC 一点关系也没有,之所以放在本文章里是因为有时候将它们与共享内存结合起来使用。

1 改变内存保护:mprotect()

2 内存锁:mlock()和 mlockatt()

3 确定内存驻留性:mincore()

4 建议后续的内存使用模式:madvise()

相关文章:

  • 企业级RAG架构设计:从FAISS索引到HyDE优化的全链路拆解,金融/医疗领域RAG落地案例与避坑指南(附架构图)
  • PCIe - ZCU106(RC) + KU5P(EP) + 固化
  • 利用 Kali Linux 进行信息收集和枚举
  • 用python实现鼠标监听与手势交互
  • 【KWDB 创作者计划】一文掌握KWDB的时序表管理
  • iOS与HTTPS抓包调试小结
  • QT生成保存 Excel 文件的默认路径,导出的文件后缀自动加(1)(2)等等
  • 上传下载接口
  • 02 mysql 管理(Windows版)
  • vue3+element plus实现甘特图效果
  • 接口自动化工具如何选择?以及实战介绍
  • 生成式人工智能技术在高校心理健康服务中的应用; 希尔的三阶段助人理论:探索、领悟和行动
  • PHP分页显示数据,在phpMyadmin中添加数据
  • 深入理解高性能网络通信:从内核源码到云原生实践
  • 云原生 MySQL 架构:从容器化到 Serverless
  • Golang领域Beego框架的中间件开发实战
  • 互联网大厂Java求职面试:云原生与AI融合下的系统设计挑战-2
  • OrangePi Zero 3学习笔记(Android篇)1 - 搭建环境
  • Nyx-1 思路整理
  • 系统学习算法:动态规划(斐波那契+路径问题)
  • 上海:下调个人住房公积金贷款利率
  • 【社论】跑赢12级狂风,敦煌做对了什么
  • 体坛联播|米兰逆转热那亚豪取3连胜,阿诺德官宣离开利物浦
  • 日本来信|劳动者的书信④
  • 胖东来回应“浙江‘胖都来’卖场开业”:已取证并邮寄律师函
  • 马克思主义理论研究教学名师系列访谈|高福进:思想政治理论课要伴随时代不断更新和变化