|
In this document we describe the architecture and the implementation of the Spring virtual memory system. The architecture separates the tasks of maintaining memory mappings and protections from the task of paging memory in and out of backing store. A per-node virtual memory manager is responsible for maintaining the mappings on the local machine while external pagers are responsible for managing backing store. A novel aspect of the architecture is the separation of the memory abstraction from the interface that provides the paging operations. The design supports flexible memory sharing, sparse address spaces, and copy-on-write mechanisms. Support for distributed shared memory and extensible stackable file systems are natural consequences of the design. The architecture is implemented and has been in use for over two years as part of an experimental operating system.
Categories and Subject Descriptors:
- D.4 Software:
- [Operating Systems]:
- D.4.2 Storage management
- D.4.3 File systems management
- D.4.6 Security and protection
- D.4.7 Distributed systems
Additional Keywords and Phrases: Object-oriented operating system, Distributed shared memory, Memory coherency, Micro-kernel
|