Layered Architecture · Bottom-Up View · Click any layer to explore
The physical foundation of any computing system. All software ultimately runs on, and is constrained by, the hardware beneath it. Every instruction executed, every byte stored — it all depends on these components.
BIOS (Basic Input/Output System) is the very first software that runs when you press the power button. Stored in a flash chip on the motherboard, it performs hardware checks and then hands control to the bootloader. UEFI is its modern, feature-rich successor.
The bootloader is a small programme stored in the MBR (Master Boot Record) or EFI partition. It is loaded by the BIOS/UEFI and its sole job is to locate the OS kernel on disk, load it into memory, and transfer execution to it.
The kernel is the heart of the operating system. It runs in privileged “kernel mode” — meaning it has unrestricted access to all hardware. Every other layer above must go through the kernel to access system resources. A crash in the kernel crashes the entire system.
Device drivers are specialised software modules that allow the kernel to communicate with hardware devices. Without the correct driver, the OS cannot use the device — even if the hardware is physically present and functional.
The Hardware Abstraction Layer sits between the kernel and the physical hardware, providing a uniform interface regardless of the underlying hardware platform. This allows the same OS kernel to run on different hardware configurations without modification.
Built on top of the kernel, this layer provides the essential tools and interfaces that applications use to interact with the OS. It bridges the gap between raw kernel functionality and user-facing applications.
open()), which crosses the privilege boundary into the kernel, which then uses the file system driver to perform the actual operation.Applications are the software that end users interact with directly. They run in a sandboxed “user mode” environment, meaning they cannot directly access hardware or kernel memory. All hardware access must be requested through the OS via system calls.



Leave a Reply