Programs - fetch & execute instructions, one at a time
Interrupts types
Memory hierarchy:
Principle of Locality: memory nearby to memory currently being accessed as well as memory that was accessed recently will be transferred into processor cache.
Processor Types:
Storage management responsibilities:
Causes of errors:
Multiprogramming: processes being switched in and out on a single processor
Batch Processing vs Time Sharing:
Multiprocessing: multiple processors switching processes in and out which has the effect of multiple processes running simultaneously
Components:
States: Ready, Running, Blocked, Suspended
Memory tables, IO Tables, File Tables, Process Tables
Process Control Block --> Most important data structure in the OS
created by the application process, the Kernal is not aware of them
+ Run on any OS
+ Application specific scheduling
+ Doesn't require kernal mode privileges
- Can't do true multi-processing
+ Multiple threads on same or different processors
Critical section: section of code that uses common resources and should not be executed in simultaneous processes
Race Condition: two processes are vying for the same resource, the last one to get there (the loser) updates it, overwriting the other proc's value.
3 control problems:
Mutual Exclusion:
Approaches:
Organization techniques:
Portion of Process in main memory is the Resident Set
Policies: