31
© The Author(s) 2020
S. Scargall, Programming Persistent Memory, https://doi.org/10.1007/978-1-4842-4932-1_3
CHAPTER 3
Operating System Support
for Persistent Memory
This chapter describes how operating systems manage persistent memory as a platform
resource and describes the options they provide for applications to use persistent
memory. We first compare memory and storage in popular computer architectures and
then describe how operating systems have been extended for persistent memory.
Operating System Support for Memory and Storage
Figure 3-1 shows a simplified view of how operating systems manage storage and volatile
memory. As shown, the volatile main memory is attached directly to the CPU through a
memory bus. The operating system manages the mapping of memory regions directly
into the application’s visible memory address space. Storage, which usually operates at
speeds much slower than the CPU, is attached through an I/O controller. The operating
system handles access to the storage through device driver modules loaded into the
operating system’s I/O subsystem.
© The Author(s) 2020
S. Scargall, Programming Persistent Memory, https://doi.org/10.1007/978-1-4842-4932-1_3
CHAPTER 3
Operating System Support
for Persistent Memory
This chapter describes how operating systems manage persistent memory as a platform
resource and describes the options they provide for applications to use persistent
memory. We first compare memory and storage in popular computer architectures and
then describe how operating systems have been extended for persistent memory.
Operating System Support for Memory and Storage
Figure 3-1 shows a simplified view of how operating systems manage storage and volatile
memory. As shown, the volatile main memory is attached directly to the CPU through a
memory bus. The operating system manages the mapping of memory regions directly
into the application’s visible memory address space. Storage, which usually operates at
speeds much slower than the CPU, is attached through an I/O controller. The operating
system handles access to the storage through device driver modules loaded into the
operating system’s I/O subsystem.
