Section 10: Advanced Topics and Algorithms - bmitch26/Operating-Systems GitHub Wiki
Section 10. Advanced Topics and Algorithms
Virtualization
Taking the physical hardware resources of a computer and splitting them up into multiple digitally separate environments. Each
have their own allocated resources to mimic a physical computer.
Source
Hypervisors
Software component that manages each virtual machine, making sure they each have their own allocated resources and don't
interfere with the others.
Containerization
Bundles application code with the configurations, libraries and dependencies it needs. This entire package is abstracted away
from the host OS and is made portable. Source
Distributed Systems
Collection of programs that use resources from multiple systems to run a task. Source
Distributed File Systems
File system that is spread across multiple servers/locations and allows programs to interact with files like they would on a
local system. Source
Remote Procedure Call (RPC)
Technique for client-server based applications, allowing for processes to be carried out on either same system or across others
with a connected network.
Source
Distributed Synchronization
Focus on the challenges with keeping data consistent, managing simultaneous processes, and maintaining coherent behavior across
network nodes. Source
Cloud Computing
On-demand availability of computing resources to provide services over the internet.
Source
Real-Time Systems
These systems are meant to serve real-time systems with minimal response times and are utilized for extremely time-sensitive
systems requiring almost immediate deployment (e.g. missile systems, air traffic control, airbags, etc.)
Source
Hard vs. Soft Real-Time Systems
Hard RTOS are meant for applications where time-delay is not tolerated and time constraints are strict. Soft RTOS are meant for
applications where the time-constraints are loosened up and not as strict.
Algorithms:
Peterson’s Algorithm
Related solution algorithm to the Producers-consumers problem meant to implement mutual exclusion in shared memory.
Source
Lamport’s Bakery Algorithm
Related to first come first serve property, where each process receives a "ticket", with the smallest number ticket being
allowed into the critical section and any duplicates have the lower process ID as the priority.
Source
Readers-Writers Variations
The three variations to the Readers-Writers Problem.
First is "no reader shall be kept waiting if the share is currently opened for reading"
Second is "no writer, once added to the queue, shall be kept waiting longer than absolutely necessary"
Third is "no thread shall be allowed to starve"
Source
Algorithm for permission-based approach to mutual exclusion in a distributed system
Source
Bully Election Algorithm
Method for electing a coordinator in a distributed system by having the nodes "bully" each other to check ID, and the one with
the highest becomes the leader. Source
Ring Election Algorithm
Different method for electing a coordinator in a distributed system. Focuses on messages being passed between each node, and
discarding any messages smaller than the one they received. The highest becomes coordinator.
Source