Category: Notes
-
Synchronization (Notes) – Part 1
I broke down the synchronization topic into two parts and this will cover material up to and including the array based queuing lock. I’ll follow up with part 2 tomorrow, which will include the linked list based queuing lock. There a couple different types of synchronization primitives: mutual exclusion and barrier synchronization. Mutual exclusion ensures…
-
Shared Memory Machine Model (notes)
You need to take away the following two themes for shared memory machine model: Difference and relationship between cache coherence (dealt with in hardware) and cache consistency (handled by the operating system) The different memory machine models (e.g. dance hall, symmetric multiprocessing, and distributed shared memory architecture) Cache coherence is the promise delivered by the…
-
Memory Virtualization (notes)
The operating system maintains a per process data structure called a page table, creating a protection domain and hardware address space: another virtualization technique. This page table maps the virtual address space to physical frame number (PFN). The same virtualization technique is adopted by hypervisors (e.g. VMWare). They too have the responsibility of mapping the…
-
Introduction to virtualization (notes)
As system designers, our goal is to design a “black box” system that create an illusion that our users have full and independent access to the underlying hardware of the system. This is merely an abstraction since we are building multi-tenant systems with many applications and many virtual guest machines running on a single piece…