✳flâneur — a map of the web's best reading

Chapter 7: Address Translation | 🗒️ Ben's Notes

notes.bencuan.me · saved by 1 readers

Physical RAM modules typically contain anywhere from 4 to 128GB of memory (well, at the time of writing). However, there are only a few sticks of RAM, and possibly hundreds of processes that need to access them at the same time! This is where memory management comes in. This chapter will cover several methods to do so, such as address translation (virtual memory) and paging (breaking memory into chunks). First, let’s solve one of the major problems: how do we allow many programs to share a single module of physical memory? The TL;DR: virtual memory, or an illusionary space given to each program such that they think they’re the only one using the memory. Then, we can offload the work of translating virtual memory to physical memory to the kernel. An effective address translation scheme will have the following: Recall the simple base and bound scheme to map process memory to physical memory by adding a certain offset to each memory address: Base and bound, while very easy to implement, h

Physical RAM modules typically contain anywhere from 4 to 128GB of memory (well, at the time of writing). However, there are only a few sticks of RAM, and possibly hundreds of processes that need to access them at the same time! This is where memory management comes in. This chapter will cover several methods to do so, such as address translation (virtual memory) and paging (breaking memory into chunks). First, let’s solve one of the major problems: how do we allow many programs to share a single module of physical memory? The TL;DR: virtual memory, or an illusionary space given to each progra

Explore this link on the map →