📄️Introduction to Operating Systems
An operating system (OS) manages hardware and provides services to programs.
📄️Processes and Threads
A process is a program in execution: code, data, heap, stack and OS bookkeeping stored in a process control block (PCB) (PID, state, registers, memory…
📄️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
Programs use logical (virtual) addresses; the MMU translates them to physical addresses. This gives each process its own isolated address space.
📄️File Systems and I/O
A file is a named collection of related data. The file system provides naming, storage layout, access control and metadata.