Conventionally, the use of virtual memory in safety-critical real-time systems has been avoided, one reason being the difficulties it provides to timing analysis. The difficulties arise due to the Memory Management Unit (MMU) on commercial processors being optimised to improve average performance, to the detriment of simple worst-case analysis. However, within safety-critical systems, there is a move towards implementations where processes of differing integrity levels are allocated to the same processor. This requires adequate partitioning between processes of different integrity levels. One method for achieving this in the context of commercial processor is via use of the MMU and its support for virtual memory. The focus of this paper is upon the provision of virtual memory for processes of all integrity levels without complicating the timing analysis of safety-critical processes with hard deadlines. Also, for lower integrity processes without hard deadlines, the flexibility of the virtual memory provided does not restrict the process functionality. The virtual memory system proposed is generic and can be implemented on many commercial architectures eg. PowerPC, ARM and MIPS. This paper details the PowerPC implementation.

BibTex Entry

@inproceedings{Bennett2001,
 author = {M D Bennett and N C Audsley},
 booktitle = {Proceedings of the 13th Euromicro Conference on Real Time Systems, Delft, The Netherlands},
 category = {os,wcet},
 month = {Jun},
 pages = {183--190},
 publisher = {IEEE Computer Society},
 title = {Predictable and Efficient Virtual Addressing for Safety-Critical Real-Time Systems},
 year = {2001}
}