gpt4 book ai didi

operating-system - 页码和偏移

转载 作者:行者123 更新时间:2023-12-03 13:21:01 24 4
gpt4 key购买 nike

我正在学习不同类型的内存管理。我不明白在虚拟地址中具有偏移位的意义。还有为什么页面大小由2赋予力量?

  • 我的主要困惑是:
    给我一个例子,在指令中使用偏移量来访问某个虚拟地址?
  • 我的第二个困惑是:
    通常的说法是,如果逻辑地址的大小为2^m且页面大小为2^n,则逻辑地址的高阶m-n位指定页号。
  • 最佳答案

    我认为您的主要和次要困惑是由于对该主题的普遍困惑所致:)让我讨论一下,希望我能有所帮助。首先,做个比喻-假设您要在城市中寻找房屋。想象每个房子都有一个唯一的编号-您可以想象房子的数量很快就会变得非常大且令人困惑。现在想象一下,您引入了街道的概念-现在,将门牌分组为漂亮的块后,门牌管理起来会更容易一些。因此:街道=页号,门牌号=偏移地址。
    拥有虚拟内存页的全部目的是允许计算机将内存分割成可管理的块,而不会浪费太多。将其刻成块(页面)可以对访问,分页和其他类似的东西进行精细控制。页面越小,您浪费的内存就越少(如果进程A需要32k的内存,并且页面大小是64k,则最终会得到一些未使用的内存),但是系统的开销。
    至于为什么页面大小是2的幂次,这减少了地址内没有浪费的空间。由于计算机(目前)是基于二进制的,所以一切都倾向于归结为2的幂。想象一下,如果您有基于10的因数的东西。二进制中的10为1010-您必须使用4位来保存它,所以为什么不使用全部值,则只能使用4位:0000-1111(0到15 = 16个值)。
    对不起,我已经摇摇晃晃了-希望这会向正确的方向 push 您!

    关于operating-system - 页码和偏移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15628671/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com