一、Windows Embedded CE 6.0的内存管理模型
与以前版本的Windows CE相比,Windows Embedded CE 6.0的内存管理模型有了很大的变化,这主要体现在Windows Embedded CE 6.0的虚拟地址空间不再是一个4GB平面架构模型,而是一个如图1所示的立体架构模型。虽然Windows Embedded CE 6.0所能访问的线性虚拟地址空间仍然为4GB(232),所有进程共享一个唯一的2GB的内核空间,但对于2GB的用户空间来讲,却不再由所有进程来共享,每个进程只占用32MB的虚拟地址空间,而是每个进程独占2GB的用户空间,且可以有32K个进程同时运行。这样,每个进程所占有的虚拟地址空间就由原来的32MB提高到了2GB,同时可运行的进程数也由原来的32个一下子提高到了32768个。
需要注意的是,尽管Windows Embedded CE 6.0的虚拟内存模型是一个立体的架构,但在某一时刻,由于只能有一个进程在活动,这样,这个活动进程所占用的特定的2GB的用户空间就与2GB的内核空间共同组成了一个4GB