无线互联网平台轻量级运行时引擎解析
1 引言
移动设备通常配备低性能的 CPU、少量的内存以及仅具备基本功能的系统软件。以典型的 CDMA 移动设备为例,使用 QUALCOMM 的 Mobile Station Modem(MSM)芯片组时,会采用 REX 操作系统,该系统仅支持任务管理调度、中断处理、定时器和信号等基本功能。为确保应用程序的高效执行,移动设备需要一种名为运行时引擎的软件,来支持手机原生系统软件未提供的功能。
本文提出的轻量级运行时引擎,包含轻量级调度器模块、内存管理模块、动态重新配置模块、事件处理模块和定时器,适用于无线互联网平台的二进制运行时环境,旨在实现移动应用的高效执行。
2 轻量级调度器模块
2.1 传统调度器的问题
- 应用开发形式多样,管理困难且开销大。在资源受限的移动设备环境中,系统需了解应用架构以实现高效管理,而现有应用生命周期管理存在不足。
- 广泛用于移动设备的 REX 操作系统不提供多线程功能,现有无线互联网平台使用用户级线程来实现并行处理。当前基于线程的调度器会创建应用线程并在其中调用生命周期接口,但平台线程和应用线程并发执行并访问事件处理模块时,需要同步机制,且处理平台事件时上下文切换时间开销大,不适用于资源受限环境。
2.2 轻量级调度器的优势
轻量级调度器通过调用生命周期管理 API 来执行应用,而非创建线程。调度器管理生命周期管理 API 的参考信息,应用执行时,根据事件调用相应 API。当事件发生时,轻量级调度器从管理模块接收需先处理的事件,平台事件由平台自身处理,应用事件则调用事件处理函数执行