📄️Introduction to Operating Systems
An operating system (OS) manages hardware and provides services to programs. It sits between applications and hardware, giving every program a consistent, protected view of the machine.
📄️Processes and Threads
Process
📄️CPU Scheduling
The scheduler decides which ready process runs next. Goals: maximise CPU utilisation and throughput, minimise waiting and response time, stay fair.
📄️Process Synchronization
When several threads touch shared data, the result can depend on timing. That is a race condition.
📄️Deadlocks
A deadlock is a state where a set of processes are each waiting for a resource held by another process in the set, so none can proceed.
📄️Memory Management and Virtual Memory
Address spaces
📄️File Systems and I/O
Files and directories