- UID
- 872238
|
Windows CE的存储结构像其它的32 位Windows平台一样,Windows CE操作系统也有虚拟内存的特性。内存总在某一时间被分配给应用程序一页,页的大小由系统设计者决定(并在操作系统为目标硬件平台创建时被指定)。例如 在手持电脑,内存页大小是典型的1KB 或者4KB .在初始化期间(导入),Windows CE创造一个独立的被所有程序共享的4GB 虚拟地址空间。当程序引用一个虚拟的地址时,它被内核记录在物理的内存上。 这使得应用程序软件开发者不必去考虑目标系统内存的物理的布局。虽然所有程序共享单一地址空间,应用程序仍然可避免相互误用。Windows CE 通过改变每页的保护来保护程序内存,而不是分配给每一程序不同地址空间。 作为应用程序开发者,你可能不会太在乎目标系统的内存的物理的结构。 内存可以全部是随机存取内存,或者它可能包括闪存卡或者硬盘驱动和windows CE内核的特性使有可能按习惯定制中断时序和优先级,以满足特定应用程序的需要。 Windows CE和其使用的时间临界、实时应用程序在另一篇文章中包括比本文更详细的内容,文章名为《 Real-time Systems with Microsoft Windows CE》。
内存管理果你为使用Windows CE开发一个新的硬件平台 ,Windows CE的面向Visual C++ 的嵌入式软件包包括资源可以帮助你做出这些决策,并且从而构成操作系统。
无论你的系统内存的配置如何,ROM(只读内存)将占用十分重要的地位。不同于其它的3 2位Windows操作系统,Windows CE操作系统的代码在只读内存中,并且在那个只读内存中原地执行。 依据你的产品需要,你也能选择在只读内存中放置应用程序代码。 例如,Pocket Word,Pocket Excel和其它应用程序程序,包括在手持电脑只读内存中被提供的。
存储在ROM中的程序组在Windows CE下当地执行,所以嵌入式系统的设计者能够只占用很少的RAM用于堆栈存储的需要。相应地,你的嵌入式应用程序可以利用RAM既作为程序的内存又可作临时存储空间。
为了进一步的增加应用程序软件的性能, Windows CE采用按需求将内存分叶;操作系统仅仅需要解压缩并且装入基于RAM的一小部分程序准备执行。ROM和 基于RAM的程序的灵活性与速度意味着基于Windows CE的设备能够被构造成各种内存结构形式。
手持电脑的内存结构典型的Windows CE的硬件平台的内存结构是与基于 Windows系统的台式电脑的内存结构十分不同的。 为了知道内存通常如何在Windows中被处理的 ,考查基于Windows CE的最普通的代表性的设备-手持电脑,是很有用的。
在手持电脑中,RAM被分割成两个主要的部分:存储内存和程序内存。 向两部分分配的RAM的量能被手持电脑用户修改(在限制范围内)。 这个RAM的划分图如图4所示。
在手持电脑中的存储内存类似于台式电脑的硬盘RAM. 它被用来存储数据和非系统应用程序。它的三段中每一段被不同的一套WIN32 API 访问函数:Windows CE系统寄存器类似于Windows NT和Windows 95的操作系统的寄存器。你能利用WIN32 寄存器函数来操纵寄存器中键和数值。
被用户安装的应用程序和数据在一般文件存储段中。Windows CE文件系统API 是标准WI N32 文件系统的子集函数。
对于数据库应用程序,由Windows CE 数据库API来存储被管理存储。这API 对Windows CE是唯一的 ,并且在其它的WIN32 平台中没有。 |
|