backlink to all of my Software Engineering notes :)

Lecture 1 - 5th January 2026

operating system (OS)

sits between the hardware and programs. its job is to make sure programs run efficiently, but it has many goals which often conflict with each other

responsible for resource management and allocation

resources like CPU time or memory space are limited, so the OS must decide how to allocate & keep track of system resources

the OS is responsible for abstracting away the details of the hardware (so that coders don’t have to worry about hardware specifics)

multiple programs means that resources will be shared, so the OS creates and enforces the rules so everyone gets along

kernel

the “core” of the OS → the part that is always present in main memory and the central part that makes it all work

the three desirable properties

confidentiality, integrity, and availability

the OS must enforce these properties or else malicious users can exploit them

protection

internal threats

enforce policies about responsible usage