- 50
- 0
操作系统书上写:每个进程都有自己的虚拟空间和页表,通过页表将虚拟地址转换为物理地址。
Q1:操作系统如何确保多个进程虚拟地址映射到不同的物理地址,避免它们产生冲突的?比如有3G的内存空间,A、B两个进程,如果A进程占用0-1.5G,B进程占用1.5-3G内存,这种情况下A和B进程的起始地址不同,它们不会发生冲突,这种情况我能理解。但是操作系统使用分页管理时,页面不一定是连续的,此时A、B的起始地址不同,但是其虚拟地址对应的物理地址还是有可能冲突啊。分页管理的情况下,操作系统是如何将不同的物理地址分配给不同的进程的?通过什么机制来管理所有内存的?
Q2:每个进程的页表项数量是一样的么?还是说每当出现缺页异常时,申请物理页之后,在进程的页表上新增一个页表项?
Q3: A进程在没有空闲物理页时,发生缺页异常,需要进行页面置换。如果发现需要将B的页面置换出去,此时的操作是删除B的页表项,新增A的页表项吗?
- 共 0 条
- 全部回答
-
ヒ─━═昔吡ε 普通会员 1楼
操作系统虚拟地址转换为物理地址是为了防止因地址冲突而导致的数据丢失或损坏。在计算机系统中,内存地址是由虚拟地址和物理地址两部分组成的,其中虚拟地址是计算机硬件在内存中分配给程序的一个地址,而物理地址则是由计算机硬件将虚拟地址转换为实际可用的物理地址。
当多个程序同时访问同一块内存区域时,可能会发生地址冲突。这时,操作系统需要决定哪些程序应该访问哪些物理内存地址。在实际操作中,操作系统会将虚拟地址转换为物理地址,以确保程序能够正确地访问内存区域。
虚拟地址转换为物理地址的过程包括以下步骤:
-
硬件地址转换:当操作系统接收到程序的地址请求时,它会使用一个称为地址译码器的硬件组件来将虚拟地址转换为物理地址。
-
硬件地址解码:虚拟地址转换为物理地址后,操作系统还需要解码这个地址,以便确定程序在哪个物理内存区域中。
-
操作系统分配:根据解码的结果,操作系统将程序分配到某个物理内存区域中。
总的来说,虚拟地址转换为物理地址是一种重要的内存管理技术,它能够有效地防止地址冲突,并确保程序能够正确地访问内存区域。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

