Essential Operating System Concepts: A Comprehensive Glossary
This article provides a detailed glossary of over 80 fundamental operating system concepts, covering everything from basic definitions of OS, kernel and user modes to hardware components, memory hierarchies, file systems, process management, and virtualization, illustrated with diagrams and reference links.
Operating System (OS): A system that manages computer hardware and software resources, acting as the kernel and foundation for tasks such as memory management, resource scheduling, I/O control, and providing a user interface.
Shell: A program that receives commands from the keyboard and passes them to the OS for execution; historically the only interface on Unix-like systems, now complemented by graphical user interfaces (GUI).
Graphical User Interface (GUI): A user interface that allows interaction with electronic devices through graphical icons and audio cues.
Kernel Mode (Supervisior Mode): The privileged execution mode where code has unrestricted access to hardware, can execute any CPU instruction, and reference any memory address; crashes in this mode are catastrophic. User Mode: The mode in which the OS runs user applications; transitions to kernel mode occur via system calls, interrupts, or faults. Computer Architecture: The set of rules and methods describing a computer system's functionality, organization, and implementation, including instruction sets, memory management, I/O, and bus structures.
SATA (Serial ATA): A serial bus that transfers data between the motherboard and large storage devices such as hard drives and optical drives. Multiplexing: The sharing of resources in time or space, allowing multiple programs or users to use a resource in turn. Mainframes: Large computers known for size, storage capacity, processing power, and high reliability, typically used for critical data‑processing tasks.
Batch System: An OS where users submit jobs via offline devices; the system groups similar jobs and runs them together without direct user interaction. OS/360: IBM's discontinued batch operating system for the System/360 mainframe, released in 1964. Multitasking: The ability of a computer to run multiple programs concurrently by saving and restoring each program's state. Time‑Sharing: A system that allows many users to share computing resources simultaneously through multiple programs and tasks. Compatible Time‑Sharing System (CTSS): The earliest time‑sharing OS, designed and implemented at MIT's Computation Center. Cloud Computing: On‑demand availability of computing resources such as storage and processing power over the Internet, often delivered from distributed data centers.
UNIX: A powerful multi‑user, multitasking OS supporting multiple processor architectures; classified as a time‑sharing system. UNIX System V: A branch of the UNIX operating system. BSD (Berkeley Software Distribution): A derivative of UNIX. POSIX: A set of IEEE standards defining portable OS interfaces for UNIX-like systems. MINIX: A miniature UNIX‑like operating system. Linux: A widely used, open‑source UNIX‑like operating system.
DOS (Disk Operating System): An OS that uses disk storage devices such as floppy disks, hard drives, or optical discs. MS‑DOS: Microsoft’s widely used DOS for Intel x86 PCs, dominant before Windows 95.
macOS: Apple’s GUI‑based operating system for Macintosh computers.
Windows NT: Microsoft’s pure 32‑bit operating system kernel introduced in 1993. Service Pack (SP): A collection of updates, fixes, and enhancements released as a single installable package. DRM (Digital Rights Management): Technologies that restrict the use of copyrighted hardware and software. x86: An instruction‑set architecture originally based on Intel 8086/8088, with 32‑bit default and a 64‑bit extension (x86‑64). FreeBSD: A UNIX‑like operating system developed by the FreeBSD project. X Window System: A bitmap display window system commonly used on UNIX‑like OSes.
GNOME: A fully free desktop environment primarily targeting Linux, also supported on many BSD systems.
Network Operating System (NOS): An OS designed for network devices such as routers, switches, or firewalls.
Distributed Operating System: Software that runs on a collection of independent, network‑connected computing nodes, providing a global OS view.
Program Counter: A CPU register that indicates the position of the next instruction to execute. Stack Pointer: A CPU register that tracks the call stack. Program Status Word: An OS‑maintained data collection (8‑byte or 64‑bit) that tracks the current system state. Pipeline: A series of data‑processing elements where the output of one element is the input of the next, often executed in parallel or time‑sliced.
Superscalar: A CPU architecture that enables instruction‑level parallelism within a single core, increasing throughput at the same clock speed. System Call: A request from a user‑space program to the OS kernel for a privileged service, such as I/O or inter‑process communication. Multithreading: The technique of executing multiple threads concurrently, either via hardware support or software scheduling, to improve overall performance. CPU Core: The processing unit of a CPU that fetches, decodes, and executes instructions; a CPU may contain multiple cores. GPU (Graphics Processing Unit): A specialized processor for rendering graphics, also used for parallel computation in PCs, workstations, game consoles, and mobile devices.
Cache Hierarchy: A multi‑level storage structure where upper levels (L1, L2, L3) are faster but smaller, and lower levels are larger but slower. Cache Line: A fixed‑size block of data transferred between memory and cache. Cache Hit: When a requested data item is found in the cache, avoiding a slower memory access.
L1 Cache: The fastest, smallest cache located on the CPU die, also called the primary cache. L2 Cache: A secondary cache that stores data for the L1 cache; slower than L1 but larger. L3 Cache: A tertiary cache, often on the motherboard or CPU module, providing data to L2. RAM (Random Access Memory): Volatile main memory that the CPU can read from and write to directly; used for temporary storage of programs, data, and intermediate results. ROM (Read‑Only Memory): Non‑volatile memory that retains data without power and cannot be altered after manufacturing. EEPROM: Electrically erasable programmable read‑only memory that can be rewritten multiple times. Flash Memory: A type of EEPROM used for general‑purpose data storage and removable media such as USB drives. SSD (Solid State Drive): A storage device that uses flash memory instead of spinning magnetic disks.
Virtual Memory: A memory‑management technique that gives applications the illusion of a contiguous address space, using both physical RAM and disk storage. MMU (Memory Management Unit): Hardware that translates virtual addresses to physical addresses, provides memory protection, and controls CPU caches.
Context Switch: The mechanism of saving the state of a running process and restoring the state of another, enabling multitasking. Device Driver: Software that provides an interface between high‑level applications and hardware devices, allowing data exchange.
Busy Waiting (Spin): A loop that repeatedly checks a condition, often used for checking keyboard input or lock availability. Interrupt: An asynchronous signal from hardware or a synchronous signal from software that causes the CPU to pause current execution and handle the event. Interrupt Vector: An entry in the interrupt vector table that points to the address of an interrupt handler.
DMA (Direct Memory Access): A technique that allows hardware subsystems to read/write system memory without CPU intervention. Bus: A standardized communication pathway that transfers data between computer components. PCIe (Peripheral Component Interconnect Express): A high‑speed serial bus standard derived from PCI, used for connecting peripherals. DMI (Direct Media Interface): Intel’s proprietary bus linking the northbridge and southbridge chips on a motherboard. USB (Universal Serial Bus): A serial bus and I/O standard for connecting computers to external devices, widely used in PCs, mobile devices, cameras, and game consoles.
BIOS (Basic Input Output System): Firmware that initializes hardware during boot and provides runtime services to the OS.
Hard Real‑Time System: A system that must meet every deadline, used in critical applications such as nuclear control, medical devices, defense, and avionics. Soft Real‑Time System: A system that can miss some deadlines without catastrophic failure, e.g., audio playback in computers. Process: The executing instance of a program, containing its own memory space and resources. Address Space: The range of valid memory addresses that a process can use, which may be physical or virtual. Process Table: The OS‑maintained data structure holding information about each process, such as ID, state, priority, registers, and pending signals. Command‑Line Interpreter: The text‑based interface used before GUIs became common, where users type commands via the keyboard.
Interprocess Communication (IPC): Techniques that allow two or more processes or threads to exchange data or signals. Superuser: A privileged account (e.g., root, administrator) used for system management. Directory: A virtual container in a file system that holds files and other directories. Path Name: A textual representation that uniquely identifies a file or directory location in a file system. Root Directory: The top‑most directory in a file system hierarchy (e.g., C:\ on Windows, / on Linux). Working Directory: The current directory in which a user or process operates, used for relative file access. File Descriptor: An abstract handle used by programs to refer to an open file or I/O resource. Inode: A data structure in UNIX systems that stores metadata about a file, such as ownership, permissions, and location. Shared Library: A file containing compiled code that can be used by multiple executable files at runtime. DLL (Dynamic‑Link Library): Microsoft’s implementation of shared libraries, with extensions .dll, .ocx, or .drv. Client: A computer or software that requests services from a server. Server: A program or device that provides services to clients. Client‑Server Architecture: A network model that separates responsibilities between clients and servers (also called C/S).
Virtual Machine (VM): Software that creates an abstracted environment between the physical hardware and the user, allowing other software to run within that environment.
Java Virtual Machine (JVM): An abstract computing machine that executes Java bytecode, providing platform independence. Object File: A file containing machine code that is not directly executable; it must be linked to produce an executable or shared library. C Preprocessor: A tool that processes C/C++ source files before compilation, handling includes, macro expansion, conditional compilation, and line control.
References:
https://blog.csdn.net/zhangjg_blog/article/details/20380971
https://www.techopedia.com/definition/4763/address-space
https://en.wikipedia.org/wiki/Direct_Media_Interface
https://en.wikipedia.org/wiki/Bus_(computing)
https://en.wikipedia.org/wiki/Interrupt_vector_table
https://en.wikipedia.org/wiki/Busy_waiting
https://en.wikipedia.org/wiki/Context_switch
https://en.wikipedia.org/wiki/Read-only_memory
https://www.techopedia.com/definition/6306/cache-hit
https://zhuanlan.zhihu.com/p/37749443
https://en.wikipedia.org/wiki/Pipeline_(computing)
https://en.wikipedia.org/wiki/Stack_register
https://en.wikipedia.org/wiki/Distributed_operating_system
https://en.wikipedia.org/wiki/Time-sharing
https://zh.wikipedia.org/wiki/UNIX
https://zh.wikipedia.org/wiki/UNIX_System_V
https://en.wikipedia.org/wiki/Network_operating_system
https://zh.wikipedia.org/zh/X86-64
https://zh.wikipedia.org/zh/X86
https://en.wikipedia.org/wiki/Cloud_computing
https://www.techopedia.com/definition/24356/mainframe
https://zh.wikipedia.org/wiki/SATA
https://blog.codinghorror.com/understanding-user-and-kernel-mode/
https://en.wikipedia.org/wiki/Protection_ring
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Liangxu Linux
Liangxu, a self‑taught IT professional now working as a Linux development engineer at a Fortune 500 multinational, shares extensive Linux knowledge—fundamentals, applications, tools, plus Git, databases, Raspberry Pi, etc. (Reply “Linux” to receive essential resources.)
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
