自从我看过 windows 95,有一个问题就引起我的兴趣:16 位程序如何以不同行程的身份而仍能够分享其地址空间?结论是,16 位程序所使用的内存总是来自4mb 以下和2gb 以上,所谓的可共享区域。现在让我们把眼睛移到 4gb 的上半部。从图5-1 你可以看出它被切割为两部份。2gb 至3gb 之间给所有行程共享,并意图给 ring3 操作系统码使用。在这个区域的最低部份,你将发现 16 位的global heap。而在它之上,你看到的是内存映像文件。这相当有趣,并且值得深思。
自从我看过 windows 95,有一个问题就引起我的兴趣:16 位程序如何以不同行程的身份而仍能够分享其地址空间?结论是,16 位程序所使用的内存总是来自4mb 以下和2gb 以上,所谓的可共享区域。现在让我们把眼睛移到 4gb 的上半部。从图5-1 你可以看出它被切割为两部份。2gb 至3gb 之间给所有行程共享,并意图给 ring3 操作系统码使用。在这个区域的最低部份,你将发现 16 位的global heap。而在它之上,你看到的是内存映像文件。这相当有趣,并且值得深思。