Long Exam 1 - Operating Systems Flashcards
Complexity
Limits what can be built; causes unforeseen issues; mitigated by modularity and abstraction
System
A set of interconnected components with expected behavior observed at the interface with its environment
Modularity
Easier to reason about, manage, change, and improve; reduce fate-sharing; implements divide and conquer, independent, interchangeable, and reusable
Abstraction
Specify interface without specifying detailed implementation, decreases number of connection between modules; formulating generalized ideas or concepts by extracting common qualities and hiding their detailed implementation
Client-Server Model
Clear separation between a process that provide service and a process that need service over a network
Remote Procedure Call
A form of Inter-Process Communication which allows a process to call another process residing on another machine; high bandwidth and low propagation delay; design for local networking
Virtual Memory
Abstraction of main memory to allow us to manage memory more efficiently and with fewer errors; provides each process with a large, uniform, and private address space
Which components of a machine interacts in a virtual memory?
Hardware exceptions, hardware address translation, main memory, disk files, kernel software
What are the capabilities of a virtual memory?
Uses main memory efficiently by treating it as a cache for an address space stored on disk, keeping only the active areas in main memory, and transferring data back and forth between disk and memory; simplifies memory management by providing each process with a uniform address space; protects the address space of each process from corruption by other processes
What are the virtual memory states of pages?
Unallocated, Cached, and Uncached
Page tables
Determines if a virtual page is cached in DRAM; if yes, determine which physical page; if miss, the system must determine where the virtual page is on the disk, select a victim page in physical memory, and swap with virtual page from disk to DRAM
Operating System
Enforce modularity on a single system
What are the conditions in an operating system?
- Programs shouldn’t be able to refer to each other’s memory
- Programs should be able to communicate
- Programs should be able to share a CPU
Extended Instruction Pointer
Used to track the address
Memory Management Unit
Translate virtual address to physical address; gives illusion of large address space; dedicated to a single process; supports both virtual address translation and memory prediction
Naive Method
Store every mapping, virtual memory act as an index into the table
Space-Efficient Mapping
Map to pages in memory
Page Table Entries
Present Bit (P) - Is the page in DRAM?
Read/Write Bit (R/W) - Is the program allowed to write to the address?
User/Supervisor Bit (U/S) - Does the program have access to this address?