As ARM-based mobile phones become
increasingly feature-rich, the demand on system resources increases. One important commodity is physical Random Access Memory (RAM), which contributes significantly to the bill of materials (BOM) of a device. Demand paging (DP) involves making the contents of memory available to a program at the time they are required—that is, ‘on demand.’ When the contents are no longer required, the RAM used to
store them may be reused for other content. In this way, the total RAM required to store content is less than if it were all permanently available. Since less physical RAM is required, the overall bill of materials may be reduced.

Although any kind of memory can potentially be demand paged, this article is primarily concerned with paging memory used to access read-only memory or to execute code on a device with NAND flash as its main storage media. It also provides a technical overview of demand paging on Symbian OS and explains important supporting concepts where necessary.

Reprinted in its entirety from ARM IQ Vol. 7, No. 2, 2008