Symbian Demand Paging Explained: Improving Memory Management on Mobile Phones
Demystifying Memory Management
Memory is one of main resources of any computing device, whether a personal computer or a mobile phone device. As technology has progressed, memory capacity has increased for various devices, making retrieval of data one of parameters of speed and efficiency within the computing device.
There are two kinds of memory, the permanent storage and the RAM, or Random Access Memor. RAM is a repository for all data and instructions for programs that are running. It has the values required for the computing device to actually function. Therefore data movement to and from the RAM has a direct impact on the processing speed of the device.
Reducing Memory Usage on Mobile Phones
With the goal of reducing the time of data retrieval, innovative developers have come up with various methods of memory management. Each of these techniques has its flaws, and each has its best and worst case scenarios. One of the more popular techniques is known as demand paging.
Demand Paging: The Basics Explained
The unit used to measure memory is a page. There are a finite number of slots available for active memory pages, and usually the computing device doesn’t know which pages to use to fill these slots. Demand paging works through page faults; a page fault occurs when the CPU requests a page, and it is not in one of the active memory slots. The requested will then be fetched from the storage, and will then continue to reside in one of the active slots.
As this process continues, through various page faults, all the slots will eventually get filled. This algorithm works extremely well if these are the pages required the most frequently. The rate of page faults decrease as the pages are found with the active memory itself, reducing retrieval time considerably. If a page fault occurs, one of the pages is removed and the new one is inserted in its place.
How Demand Paging Works on the Symbian OS
Symbian has implemented the demand paging memory management technique to reduce the time required to retrieve data. As the RAM in a mobile phone device is considerably smaller than that of a conventional computing device, this method works very well.
Demand paging has been implemented in certain versions of the operating system, namely versions 9.3, 9.4 and 9.5. The last version is the latest version of the operating system to be released.