Demand Paging on Symbian OS
Overview
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
Related content
Symbian OSv9.5 is the latest evolution of the advanced, market-leading open operating system for advanced mobile phones.