A进程是无法访问B进程空间内的数据的?如何在ubuntu等linux电脑上安装Android应用

发表时间:2018-02-26 06:42:02 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《摩托罗拉me525+刷机刷得开机亮红灯?为什么样Windows比Android“兼容性”好》相关知识。本篇中小编将再为您讲解标题A进程是无法访问B进程空间内的数据的?如何在ubuntu等linux电脑上安装Android应用。

我的理解是,这些都是通过虚拟内存来控制的,A、B进程中的所有栈和堆都各自对应①段连续的虚拟地址。当CPU在用户态执行进程A的代码时,CPU是不能访问非A空间中的虚拟地址的。

但是CPU是怎么知道某个虚拟地址属不属于进程A呢?

每个进程都有自己的页表,两个进程的页表是完全独立的。页表可以理解为虚拟地址到物理地址的查找表。这个查找表是由内核为进程建立的,内核建立查找表时保证让同①个物理地址只能出现在①个进程的页表里(除非特别指定要共享内存)。

进程每次内存访问都会先去查找表里查出物理地址再访问。这个查找变换的过程是由CPU硬件强制自动完成的(paging unit)。

由于a进程使用的物理内存在b进程中查不到,所以B进程无法访问a的内存。

在 x⑧⑥ 上,操作系统可以为不同的进程建立不同的页表, 并把两个进程的虚地址空间映射到不同的物理地址空间。哪个进程被操作系统在①个 CPU 上调度执行,操作系统就把哪个进程对应的页表 load 给 CPU。CPU 通过虚地址访存时,根据当前的页表找到对应的物理地址。只要不同进程的页表中做好了隔离,CPU 这边就不会错误的访问到其它进程的内存。

下载genynotion,然后安装app最快,其他模拟器都不好用,当然有些应用不兼容

编后语:关于《A进程是无法访问B进程空间内的数据的?如何在ubuntu等linux电脑上安装Android应用》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《联想品牌机原来配置系统是正版win7 32位家庭普通版?Gt740m 和gt940m 比咋样》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题