物理地址、虚拟地址、虚拟内存、分段、分页以及Windows/Linux内存管理

本文详细介绍了物理地址、虚拟地址和虚拟内存的概念,并探讨了分段和分页存储管理的区别。分段侧重满足用户需求,长度不固定,而分页以固定大小的页进行内存分配,旨在提高内存利用率。Windows和Linux的内存管理通过页表进行虚拟地址到物理地址的转换,实现进程间内存隔离。
摘要由CSDN通过智能技术生成

每日三问/操作系统篇<1>:物理地址、虚拟地址、虚拟内存是什么?

  • 物理地址:内存芯片级的单元寻址,是放在寻址总线上的地址,加载到内存地址寄存器中的地址,内存单元的真正地址。物理地址是明确的、最终用在总线上的编号,不必转换,不必分页,也没有特权级检查。

  • 虚拟地址:没有经过分页机制和分段机制转换的地址,也就是段寄存器和变址寄存器内容的组合。

    • 逻辑地址:上层程序员可以操作的地址,和段相关的偏移地址部分,也就是变址寄存器中存储的32位偏移地址,而其他寄存器上的地址往往对于上层程序员来说是不可更改甚至是不可见的. 只有在实模式下,逻辑地址才和物理地址一致(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑地址也就是在保护模式下程序执行代码段限长内的偏移地址(假定代码段、数据段如果完全一样).应用程序员仅需与逻辑地址打交道,而分段和分页机制对您来说是完全透明的,仅由系统编程人员涉及.应用程序员虽然自己可以直接操作内存,那也只能在操作系统给你分配的内存段操作。
    • 线性地址:逻辑地址到物理地址变换之间的中间层。虚拟地址通过分段机制以后,可以得到段基址、段界限以及段偏移地址(即逻辑地址),段基址与段偏移地址的组合就是线性地址。

    虚拟内存空间图:

  • 虚拟内存:操作系统的一项技术,当程序被载入内存时,运用虚拟内存技术可以让程序误以为自己正在独占电脑
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值