Symbian delivers Demand Paging support in Symbian OS versions 9.3, 9.4 and
9.5. Demand Paging enables more efficient usage of RAM by loading read-only
code and data only when required (�on demand�).
What is Demand Paging?
Data must be copied from NAND Flash memory into RAM in order to execute
Previously, Symbian OS copied entire DLLs into RAM when they were needed
Demand Paging means that only the required �page� within the DLL is
loaded into RAM
Demand Paging only loads a page into RAM when a reference is made to it
(paging on demand)
Loading by page means less RAM is used at any one time
Demand Paging is a more efficient way of
loading data into RAM;
Code that does need to be executed is not loaded into RAM
NAND Flash and Paging
ROMFS contains whole image
Core image is a wired subset
Pages from DLLs are copied into RAM
Idle code pages are automatically unloaded
RAM only used by executing code
Benefits of Demand Paging
Demand Paging performance may vary
Performance depends on:
size of the ROM
size of the core ROM image compared to the primary ROFS image
amount of code in the ROM marked as 'unpaged'
size of the paging cache
whether Code paging or XIP ROM paging is being used (or both)
use-case currently being run
Demand Paging roadmap
Symbian OS v9.3:
Demand paging of read-only code and data from the ROM file
system
Covers all the functionality mentioned in this presentation
Symbian OS v9.5
Paging of read only code and data from internal fixed storage
(e.g. ROFS partitions on NAND or on internal fixed MMC)
Enables paging of operator customizations in ROFS,
user-installed applications on c: etc