账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    操作系统虚拟地址转换为物理地址避免冲突的问题
    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
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • ヒ─━═昔吡ε 普通会员 1楼

      操作系统虚拟地址转换为物理地址是为了防止因地址冲突而导致的数据丢失或损坏。在计算机系统中,内存地址是由虚拟地址和物理地址两部分组成的,其中虚拟地址是计算机硬件在内存中分配给程序的一个地址,而物理地址则是由计算机硬件将虚拟地址转换为实际可用的物理地址。

      当多个程序同时访问同一块内存区域时,可能会发生地址冲突。这时,操作系统需要决定哪些程序应该访问哪些物理内存地址。在实际操作中,操作系统会将虚拟地址转换为物理地址,以确保程序能够正确地访问内存区域。

      虚拟地址转换为物理地址的过程包括以下步骤:

      1. 硬件地址转换:当操作系统接收到程序的地址请求时,它会使用一个称为地址译码器的硬件组件来将虚拟地址转换为物理地址。

      2. 硬件地址解码:虚拟地址转换为物理地址后,操作系统还需要解码这个地址,以便确定程序在哪个物理内存区域中。

      3. 操作系统分配:根据解码的结果,操作系统将程序分配到某个物理内存区域中。

      总的来说,虚拟地址转换为物理地址是一种重要的内存管理技术,它能够有效地防止地址冲突,并确保程序能够正确地访问内存区域。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部