Memory 操作系统在内存中的位置

Memory 操作系统在内存中的位置,memory,memory-management,operating-system,Memory,Memory Management,Operating System,加尔文说: 我们可以将操作系统放在低内存或高内存中。影响该决定的主要因素是中断向量的位置。由于中断向量通常位于低内存中,程序员通常也将操作系统置于低内存中 我不太确定中断向量的位置如何影响操作系统在内存中的位置。我试着用谷歌搜索,但找不到令我满意的东西。 有人能澄清一下吗。根据您所讨论的体系结构,访问接近已执行代码的地址可能更容易/更短/更快。因此,对于内存较低的操作系统来说,当中断向量位于内存较低的位置时,它可能更容易访问中断向量 例如,在实模式下使用x86(与受保护模式相反),如果将操作系统

加尔文说:

我们可以将操作系统放在低内存或高内存中。影响该决定的主要因素是中断向量的位置。由于中断向量通常位于低内存中,程序员通常也将操作系统置于低内存中

我不太确定中断向量的位置如何影响操作系统在内存中的位置。我试着用谷歌搜索,但找不到令我满意的东西。
有人能澄清一下吗。

根据您所讨论的体系结构,访问接近已执行代码的地址可能更容易/更短/更快。因此,对于内存较低的操作系统来说,当中断向量位于内存较低的位置时,它可能更容易访问中断向量


例如,在实模式下使用x86(与受保护模式相反),如果将操作系统放入段0x0(中断向量也存在于该段中),则可以仅使用当前CS(显然是0x0)和16位宽索引引用中断向量。

主存有两个主要部分:

  • 具有低内存和中断向量的常驻操作系统,其中“中断向量是中断处理程序的内存地址”,即它是最低级别的内存之一
  • 高内存中的用户进程
  • 现在,为什么操作系统的内存很低?
    由于内存占用率不高,每个字节的成本也会增加,而且由于操作系统需要快速访问内存,因此应该将其排在最低的位置


    因此,中断向量的位置不是放置操作系统的直接原因,而是内存需求低。我们知道,中断向量将被放置在那里,因此操作系统也被放置在那里。

    低内存用于存储内存驻留程序以及使用物理内存部分的程序,而物理内存部分不是由页表直接映射的。而且,由于操作系统同时满足这两个标准,因此很明显,它将存储在低内存中。

    您指的是哪个内存?虚拟的还是物理的?我想你指的是虚拟的?@Jeff:-我指的是主内存,因此是物理的-你的意思是说,随着内存的增加,每个字节的访问成本也会增加??好吧,从操作系统的角度来看,确实如此。那么你的答案似乎是sense@zengr:您能否进一步说明为什么随着内存的增加,每个字节的成本会增加?它只是访问成本还是其他一些参数方面的成本?请举例说明为什么访问成本或其他成本会增加。谢谢。我想说的是,除非你的CPU非常慢,或者你的内存太少(对于手头的任务来说都是如此),否则这可能是一种方便而不是必要的(例如,你不想处理远指针,不想编写指针相关的代码并在很多地方使用它)。如今,大多数非平凡的设备使用超过64KB左右的内存。