An operating system is made of a bunch of separate components to ensure that the computer functions properly, as well as abstracting complicated low level calls to ensure easy interactions between software and the computer.
Kernel
The kernel provides a bridge between the hardware of the computer and software. This is the core part of an operating system.
By providing an interface, the kernel is able to ensure that software running on the computer is isolated to their own environment which significantly reduces any OS-level (kernel level) crash and increases security through system calls.
The interface provides:
- Isolated environments for programs to run (processes)
- Interrupts to manage system-wide exceptions, including both hardware and software.
- Signal functions allow handling of specified situations, such as [asynchronous] event. Signals, using system calls and software interrupts, can change data flow.
- Input and output
- Device Management
- Peripherals like your mouse and keyboard, uses hardware interrupts so that the CPU can calculate the inputs instantly, rather than awaited.
- Devices drivers are user-developed software that works directly into the operating system
- Manages memory - from secondary storage like HDDs and SSDs to primary RAM memory to CPU registers (memory built into the CPU) to keeps track of processes.
- Networking
- Device Management
- System calls - a way for user-developed software to switch into a kernel space level mode to do dangerous actions in an isolated environment.
Concurrency
Concurrency refers to the operating system’s ability to do tasks simultaneously, by dividing work into threads. The tool distributing work into threads is called a scheduler, which is a core part of an operating system.
File system
An operating system should provide the ability to access permanent secondary storage, manipulate files and also maintaining important software built on top of the operating system.
Alongside the kernel’s system calls, software can jump into kernel mode to create, delete, open, read, and other functions related to the file system. This abstraction displays files in a computer in human readable data.
Security
The operating system is in charge of the computer’s security. This refers to the computer’s security (following the CIA triad), as well as security as in protecting against crashes and failures.
Hint
The CIA triad stands for: C - confidentiality (unauthorized users cannot access data) I - integrity (unauthorized users cannot modify data) A - availability (system remains available to authorized users)
User interface
The user interfaces make human interactions with the computer possible and easy. This includes both CLI (command line interface) or GUI (graphical user interface).

