WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章手机编程Win Mobile程序开发Windows CE 2.0 的内存使用

Windows CE 2.0 的内存使用
作者:microsoft  来源:microsoft  发布时间:2005-12-21 16:51:11

John Murray

1997年9月

简介

Microsoft Windows CE 是一种模块化的操作系统,可以根据目标设备或平台的不同而进行定制。根据目标平台的要求,原始设备制造商(OEM)或嵌入式系统开发商可在操作系统中选择所需的系统模块和组件。所选择的模块和组件决定了它所需的内存。

每个模块代表一个可能存在于系统软件中的完整功能块。如果并不需要某种功能,则可忽略相对应的整个模块。例如,有一个单独的可选模块,名为“serial”,该模块提供了所有的串行端口功能。

一些大型模块被进一步分割成许多小的组件,OEM可只选取那些设备所必须的组件,从而定制这些较小的模块版本。例如,文件系统模块包括用于 RAM 文件系统、ROM 文件系统、注册器以及数据库文件的组件。OEM 可有条件地多选并搭配这些文件系统,从而满足目标平台的需要。

OEM 和嵌入式系统开发者要想在设计时做出正确选择,就应知道所选模块或组件的内存消耗。本文将介绍 Windows CE 2.0 操作系统使用内存的情况,并针对所选 Windows CE 系统配置,列出了主要系统模块和组件的内存要求。文中还介绍了如何使用 Windows CE 工具,以查找其他配置的内存要求。

对于 Windows CE 2.0 版本,Microsoft 已创建并检测了这些模块和组件的若干基本配置。这些配置代表了系统性能的各种不同情况,其范围从只具备简单用户输入、无显示功能的基本系统,到完全看得见摸得着的手持电脑中的 Microsoft Windows 系统。

每种配置都建立在前一配置的基础之上。已检测的配置情况如下表所示。

配置

说明

最小输入系统 (MinInput)

内核、基本文件系统、注册器以及基本用户支持。基本用户输入支持包括:消息队列、触摸屏、键盘输入设备、音频、电源、发光二极管(LED)指示灯等。

最小图形显示接口 (MinGDI)

MinInput 以及最小图形显示接口(基本图形设备)。

最小通信 (MinComm)

MinInput 以及通信堆栈 (传输控制协议/网际协议

[TCP/IP],端对端协议 [PPP],电话应用程序接口

[TAPI],串行接口,网络驱动器/网络驱动器接口标

准 [NDIS],红外数据端口 [IRDA] )。

Windows 用户界面(UI)

配置(HPC2Apps)

MinComm 以及所有与Windows 相关的应用程

序接口(API)函数(例如 CreateWindow);这

是用于手持电脑上的版本。

       

系统内存使用

 

典型的 Windows CE 设备包括了 ROM 以及 RAM 内存。即使该设备由于更换备用电池而关闭,也能继续保持 RAM 中的内容。

系统内存类别如下表所示。

内存

说明

ROM

包括 Windows CE 可执行文件及其他系统文件。这些文件

的 .text (代码) 以及只读数据部分均未压缩,将在适当位置执行(XIP)。

RAM—存储内存

 

包括文件系统(包括注册器以及 Windows CE 数据库文件)。包括读取和写入的数据部分。

RAM—程序内存

 

程序运行所需内存

ROM 中包含有未压缩的 XIP 文件,其中包括系统可执行文件、动态链接库(DLL)以及捆绑应用程序如 Microsoft Pocket Word。这些文件从页面边界开始。ROM 还包括这些应用程序所用的其他文件,例如字体、音频以及位图文件,其中相当一部分都是压缩过的(少数字体例外)。可执行文件和 DLL 文件的代码和只读部分都是未经压缩的,这样便于就地执行。由于已被指定为 RAM,所以读取/写入部分将在 RAM 中进行压缩。

为节省空间,许多较小的其他文件以及压缩过的读取/输出部分都放在内存空穴内。所谓空穴,即在代码或只读存储部分已存入 ROM 后,在最后一个页面中剩下的空间。

在 ROM 中,也可压缩一个可执行文件或 DLL 文件。在运行压缩过的可执行文件时,系统将解压缩所需命令的页面,并将它们装载到 RAM 中。

RAM 分为两个部分:存储内存和计划内存。存储内存中包括注册器、文件系统以及数据库。文件系统包括应用程序以及用户安装或创建的数据文件。文件系统中的所有文件都是压缩过的。系统使用计划内存来运行应用程序。用户在任何时候,不需要重新启动电脑,就可调节 RAM 中存储用内存和计划用内存的分配情况。

在文件系统中,用户安装的应用程序都是压缩过的。为执行这类程序,需要将代码和数据都解压缩到计划内存中。系统支持命令页面调度 –– 当开始运行某个用户安装的应用程序时,只需要将一小部分应用程序解压缩到计划内存中。

除数据部分以外,每个可执行文件通常还要消耗一定数量的计划内存,用于存储堆栈数据。堆栈通常会动态地增加或缩小。

Windows CE Version 2.0 的内存使用

 

使用 SH3 微处理器时,Hitachi D9000 开发平台的内存使用情况如下表所示。在 Memtool 程序检测系统状态之后,即可获得RAM 和堆栈的值。这些数据计算如下:

· ROM (代码以及只读数据)。Romimage 程序列出的该模块的所有部分的总和。

· RAM。Memtool 程序和 Ppsh 程序的内存信息(MI)命令在页面摘要中列出的读取/写入数据。

· 堆栈。Memtool 程序和 Ppsh 程序的内存信息命令在页面摘要中列出的堆栈值。

对于每个进程,尽管 Memtool 和 Ppsh 程序显示 RAM 中的只读数据,这里的内存也常是代表由内核所分配的共享内存。在物理意义上,共享内存只消耗一个页面,由内核使用。因此,仅有一个只读页面的模块,并不计算在模块的 RAM 要求之内,除非内核和模块的大小多于一个只读页面。对此例外,RAM 的需求是以只读部分与读取/写入部分的总和来计算的。

MinInput

MinInput 系统表示最小输入系统。它包括内核、基本文件系统、注册器以及基本用户输入支持。基本用户输入支持包括:消息队列、触摸屏、键盘输入设备、音频、电源、发光二极管(LED)指示灯等。

下表以千字节(K)为单位,列出了系统启动后 MinInput 配置的内存情况。

模块

ROM (单位:K)

RAM (单位:K)

堆栈(单位:K)

Nk.exe

119

5

4

Filesys.exe

57

6

1

Gwes.exe

60

9

3

Coredll.dll

94    

本配置情况也包括 ROM 中的下列 DLL 文件。

模块

ROM (单位:K)

Toolhelp.dll

2

Keybddr.dll

8

Touch.dll

12

MinGDI

MinGDI 系统表示带有图形设备接口(GDI)的最小化系统。最小的图形设备接口(GDI)包括

[1] [2] [3]  下一页

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码