Operating Systems Terms

Software that manages computer hardware.

Operating System
An Operating System (OS) is the system software that manages computer hardware, software resources, and provides common services for computer programs. It acts as an intermediary between the user and the computer hardware.
Kernel
The kernel is the central component of an operating system. It is the first program loaded on start-up and it manages the rest of the startup as well as input/output requests from software, translating them into data-processing instructions for the central processing unit (CPU).
Linux
Linux is a family of open-source Unix-like operating systems based on the Linux kernel. It is typically packaged in a Linux distribution, which includes the kernel and supporting system software and libraries.
Windows
Microsoft Windows is a group of several proprietary graphical operating system families, all of which are developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry.
macOS
macOS is a proprietary graphical operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers.
iOS
iOS is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone and iPod Touch.
Android
Android is a mobile operating system based on a modified version of the Linux kernel and other open source software, designed primarily for touchscreen mobile devices such as smartphones and tablets.
File System
A file system is a process that manages how and where data on a storage disk is stored, accessed, and managed. It provides a way to organize data into a hierarchy of files and directories.
NTFS
NTFS (New Technology File System) is the standard file system of the Windows NT family of operating systems, including all modern versions of Microsoft Windows.
APFS
The Apple File System (APFS) is a proprietary file system for macOS, iOS, iPadOS, tvOS and watchOS, developed and deployed by Apple Inc.
ext4
The fourth extended filesystem (ext4) is a journaling file system for Linux, developed as the successor to ext3. It has become the default file system for many popular Linux distributions.
Memory Management
Memory management is the process of controlling and coordinating computer memory, assigning portions called blocks to various running programs to optimize overall system performance.
Virtual Memory
Virtual memory is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very large (main) memory".
Process Scheduler
In computing, a process scheduler is the part of the operating system that decides which process runs at a certain point in time. It usually has the ability to pause a running process, move it to the back of the running queue and start a new process.
GUI
A Graphical User Interface (GUI) is a type of user interface through which users interact with electronic devices via visual indicator representations.
CLI
A Command-Line Interface (CLI) is a text-based interface used to view, handle, and manipulate files and operating systems. It takes in commands from the user in the form of text and converts them into functions that the operating system can perform.
Bash
Bash is a Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell. It has been the default login shell for most Linux distributions and for macOS for many years.
PowerShell
PowerShell is a task automation and configuration management framework from Microsoft, consisting of a command-line shell and the associated scripting language. Unlike most shells, which accept and return text, PowerShell is built on the .NET Framework and accepts and returns .NET objects.
Permissions
In computing, permissions are access rights granted to users, programs, or processes to perform specific operations on a file, directory, or other resource. The OS is responsible for enforcing these permissions.
Device Driver
A device driver is a computer program that operates or controls a particular type of device that is attached to a computer. It acts as a translator between the hardware device and the operating system or applications that use it.
System Call
A system call is the programmatic way in which a computer program requests a service from the kernel of the operating system it is executed on. This may include hardware-related services, creation and execution of new processes, and communication with integral kernel services such as process scheduling.
Monolithic Kernel
A monolithic kernel is an operating system architecture where the entire operating system—including the file system, device drivers, process management, and memory management—runs as a single program in kernel space.
Microkernel
A microkernel is an operating system architecture where only the most basic, essential services—like process scheduling and memory management—run in the privileged kernel space. Other services, like device drivers and file systems, run as separate processes in user space.
Multitasking
Multitasking is the concurrent execution of multiple tasks (also known as processes) over a certain period of time. The OS achieves this by quickly switching between tasks, a process known as context switching.
Context Switch
A context switch is the process of storing the state of a process or thread, so that it can be restored and resume execution at a later point. This allows multiple processes to share a single CPU.
User Space
User space, or userland, is the area in memory where user applications execute. It is a protected and less privileged environment compared to the kernel space.
Kernel Space
Kernel space is the protected memory area where the core of the operating system, the kernel, executes and provides its services. It has unrestricted access to all hardware and memory.
Swapping
Swapping is a memory management technique where the operating system moves a process or a portion of a process (a "page") from main memory (RAM) to a secondary storage device (like an SSD or HDD) to free up RAM.
Thrashing
Thrashing is a condition in which a computer's virtual memory subsystem is in a constant state of paging, i.e., exchanging data in memory for data on disk. This results in the computer's performance degrading or collapsing.
File Permissions
File permissions dictate who can read, write, and execute files. The operating system is responsible for enforcing these permissions to control access to data.
Root
In Unix-like operating systems, root is the conventional name of the user who has all rights or permissions (to all files and programs) in all modes (single- or multi-user). The root user can do anything and everything on the system.
Administrator
An administrator account is a user account in Microsoft Windows that has full control over the computer. It can change system settings, install software and hardware, access all files on the computer, and make changes to other user accounts.
Unix
Unix is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, developed in the 1970s at the Bell Labs research center. It is characterized by a philosophy of "small, sharp tools" that can be piped together.
POSIX
POSIX (Portable Operating System Interface) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. It defines the application programming interface (API), along with command line shells and utility interfaces, for software compatibility with variants of Unix and other operating systems.
Distribution
In the context of Linux, a distribution (or "distro") is a complete operating system built on top of the Linux kernel. It bundles the kernel with other system software, libraries, a package manager, and often a desktop environment.
Ubuntu
Ubuntu is a popular, free and open-source Linux distribution based on Debian. It is known for its ease of use and is a common choice for both desktop and server use.
Desktop Environment
A desktop environment is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI).
Command
A command is a directive to a computer program to perform a specific task. It is most often issued via a command-line interface, such as a shell.