2017-08-12 29 views
0

为什么给定16位虚拟地址和32KB物理内存,如果您将页框设为4KB,那么为什么映射0-4K,4K-8K等?给定16位地址,为什么你可以写64KB程序?据我所知4KB = 4 * 1024字节= 4 * 1024 * 8位= 32768位。 不知怎的,它不检查?操作系统中的页框

就像Tannenbaum需要0-4K地址,这应该是4KB页框,这是没有意义的?谢谢。

谢谢。

+0

16位地址不是指个别位(除非架构由于某种原因有1位字节),它指的是一个字节。所以你可以解决65536个不同的字节,或64KB。 – struthersneil

回答

1

我明白你的困惑,给出16位,可以解决2^16不同的地址。每个地址的大小都是1个字节。

让我们考虑一个具有2位虚拟空间的系统。

___________ 
00 | 1 byte | 
01 | 1 byte | 
10 | 1 byte | 
11 | 1 byte | 
    ----------- 

您有2^2个不同的地址,每个地址都是大小字节。所以你的总虚拟空间是4个字节而不是4个位。