From: neshnash_at_u.washington.edu
Date: Wed Feb 11 2004 - 18:36:05 PST
This paper discusses the implementation of the memory management system of Mach operating System. This implementation provides a good performance and extended address space regardless of the machine hardware architecture. Mach is based on five basic abstractions that are still quite popular today (task, thread, port, message, memory object). The task can manage its address space by allocating and deallocating virtual pages, set protection status and manage memory objects. Protection and inheritance are set per page basis.
The paper discusses the implementation of the Mach four data structures:
Resident page table: It is the physical memory where the objects are stored, its size should be dependable on the machine dependent size
Address maps: is a sorted doubly linked list data structure and is used to map objects inside the task
Memory objects: like a UNIX file, it is the repository of data.
Mach sharing story is through the protection bit, the memory is shared using copy-on write by creating shadow objects.. A performance hit happens however with large chains of shadow objects. A thin layer, pmap, is customized to the machine but it should be readily portable to other systems.
The paper ends by presenting the different existing problems of current uniprocessor and multiprocessor architectures.
I could not grasp many technical details, I would need to do some side reading before rereading this paper.
This archive was generated by hypermail 2.1.6 : Wed Feb 11 2004 - 18:36:06 PST