Operating Systems: Three Easy Pieces Ch. 13
The abstraction: Address Space
- Early Systems
- OS was a set of routines that sat in memory
- Use the set of the memory
- Multiprogramming and Time Sharing
- Multiprogramming
- Utilization
- Efficiency
- Time Sharing
- Interactivity
- Protection
- The address space
- easy to use abstract of physical memory
- code
- have to live in memory somewhere
- stack
- keep track of where it is in the function call chain
- grow upward
- heap
- dynamic allocating memory
- grows downward
- The whole thing is just a convention
- By putting stack and heap opposite, hopefully, grow well
- What if Multiple threads co-exists → abstraction required
- Virtualizing Memory
- Transparency
- Program should not be aware of the fact that memory is virtualized
- OS does works to multiplex memory
- Efficiency
- OS strive to make the virtualization as efficient as possible
- Both time and space
- rely on hardware
- Protection
- make sure to protect processes from one another as well as the OS itself from processes
- Property of isolation -
- Transparency