Evolution of an Operating System
Advantages of Multiprogramming
Processes and Interrupt Handling Implementation
Event-driven
Environments:
Window Interface Environments
Benefits of Threads vs Processes
Problem: Inconsistent Data Views
Kernel activity for
User-Level Threads
Advantages and Inconveniences of ULT
Advantages and Inconveniences of KLT
Language with Support for Concurrency: Ada
Stacks in a Concurrent Program
Problems with Concurrent Execution
Framework for Analysis of Solutions
Software Solutions: Algorithm 1
Software
Solutions:
Algorithm 2
Software
Solutions:
Algorithm 3
Semaphores and Critical Sections
Process
Synchronization:
Monitors
Monitor Example:
Producer-Consumer