Essential OS and Device Concepts Every Developer Should Know
This article provides concise definitions and explanations of 53 core operating‑system and hardware concepts—including block and character devices, controllers, DMA, scheduling algorithms, virtualization, and error handling—offering a quick reference for developers and students alike.
Block devices
Block devices store data in fixed‑size blocks, sectors, or clusters and support reading and optionally writing data in these units. Typical block sizes range from 512 to 65536 bytes. Common examples are hard disks, Blu‑ray discs, and USB drives.
Character devices
Character devices transmit or receive a stream of characters without any block structure. They are non‑seekable and include printers, network adapters, mice, and most devices that are not disk‑based.
Device controller
A device controller processes signals sent to and from the CPU. Devices connect to the computer via plugs and sockets, which in turn connect to the controller.
ECC (Error‑Correcting Code)
Memory that can detect and correct errors using ECC technology.
I/O port
Memory addresses used by software to communicate with hardware I/O devices.
Memory‑mapped I/O (MMIO)
Uses the same address space for both memory and I/O devices, allowing them to share addresses.
Port‑mapped I/O (PMIO)
Assigns separate address spaces for memory and I/O devices, typically accessed via special CPU instructions.
DMA (Direct Memory Access)
Allows hardware to transfer data directly to or from memory without CPU involvement, freeing the CPU to perform other tasks during the transfer.
Cycle stealing
Some buses can operate in word‑by‑word or block mode; a DMA controller may “steal” a bus cycle from the CPU, causing a slight delay.
Burst mode
Devices repeatedly transfer data without performing a full transaction for each piece of data.
Interrupt vector table
Contains the entry addresses of interrupt service routines, allowing the CPU to locate the appropriate handler.
Precise interrupt
Program counter (PC) is saved at a known location.
All instructions before the PC have completed execution.
No instructions after the PC have been executed.
The execution state of the instruction at the PC is known.
Imprecise interrupt
Interrupts that do not meet the precise‑interrupt criteria, leading to uncertain instruction execution order.
Device independence
Applications can access any device without hard‑coding a specific device type, enabling the same code to read from a hard disk, DVD, or USB.
UNC (Uniform Naming Convention)
Standard for naming and accessing network resources such as shared drives, printers, or servers (e.g., \\computer\path on Windows, //computer/path on Unix/Linux).
Mounting
The OS makes directories and files on storage devices (hard disks, CD‑ROMs, etc.) accessible to users via the file system.
Error handling
Procedures for responding to and recovering from error conditions in software applications.
Synchronous (blocking)
The CPU must wait for the operation to complete before proceeding.
Asynchronous
Operations driven by interrupts, allowing the CPU to continue other work without waiting.
Buffering
Temporary memory storage designed to speed up access to frequently used data and instructions.
Programmed I/O (PIO)
Data transfer method between the CPU and peripheral devices (e.g., network adapters, ATA storage).
Polling
The process of actively checking each device for status updates.
Busy waiting
A process repeatedly tests a condition (e.g., a variable) until it changes, consuming CPU cycles.
Reentrant
Code that can be safely interrupted and called again by the OS without causing errors.
Major/minor device numbers
Every device has a major number (broad category like disk or I/O) and a minor number (specific instance).
Double buffering
Uses multiple buffers to hold parts of data blocks, allowing simultaneous reading and assembling of a complete block.
Circular buffer
A buffer whose end connects back to its beginning, commonly used for streaming data.
Spooling
Copies data between programs and slower peripheral devices (e.g., printers) as an intermediate step.
Daemon
Background process that runs without direct user interaction.
Logical Block Addressing (LBA)
Universal scheme for specifying the location of data blocks on storage devices.
RAID
Redundant Array of Inexpensive Disks; combines multiple physical disks into logical units for redundancy and performance.
Master Boot Record (MBR)
First sector of a disk containing information about OS placement and how to load it into memory.
FCFS (First‑Come, First‑Served)
Scheduling algorithm where the earliest arriving process receives service first.
SSF (Shortest Seek First)
Improved algorithm that reduces total arm movement, shortening average response time.
Stable storage
Storage technology ensuring atomicity of write operations.
Clocks
Timers that regulate timing and speed of all computer functions; a clock tick is the shortest executable interval.
QR Code
Quick Response matrix barcode used for fast scanning, e.g., on train tickets.
Video card
Hardware component that converts computer data into signals for display devices, enabling human‑machine interaction.
GDI (Graphics Device Interface)
Microsoft Windows API for representing graphics objects and transmitting them to output devices like monitors and printers.
Device context
Windows data structure containing graphic properties of a device; drawing calls use it to render lines, shapes, and text.
Bitmap
Mapping from a domain (e.g., integer range) to bits, also known as a bit array or bitmap index.
Resistive touchscreen
Works by pressure; composed of multiple layers that register touch when pressed.
Capacitive touchscreen
Detects conductive properties of an object (usually a finger) without pressure; more responsive for gestures.
Deadlock
A state where each member of a set waits for another member to act, causing a standstill.
Preemptable resource
Can be taken away from a process without side effects.
Non‑preemptable resource
If taken away, it may cause errors in the process or task.
System checkpoint
A snapshot of the operating system at a specific point in time, representing a launchable instance.
Two‑phase locking (2PL)
Database concurrency control method with an expansion phase (locks acquired, none released) and a shrinking phase (locks released, no new locks).
Expansion phase: continuously acquire locks, none released.
Shrinking phase: locks are released, no new locks are taken.
Livelock
Similar to deadlock, but processes keep changing state without progress; e.g., two people repeatedly moving aside in a narrow hallway.
Starvation
When a process never obtains needed resources, often due to scheduling policies.
Sandboxing
Software strategy that isolates applications from critical system resources and other programs for security.
VMM (Virtual Machine Monitor)
Also called a hypervisor; creates multiple virtual machines on a single physical host.
Virtualization
Resource‑management technique that abstracts physical resources (CPU, memory, storage, network) into configurable virtual environments.
Cloud
Current popular implementation of virtualization for providing scalable computing resources.
Interpreter
Program that executes source code line‑by‑line, translating each line on the fly, typically slower than compiled code.
Paravirtualization
Provides a software interface similar to hardware but not identical, aiming for efficient virtualization.
Full virtualization
Allows unmodified operating systems to run in isolated virtual machines, mapping hardware features to the VM.
Guest operating system
An OS installed inside a virtual machine, either as part of a partition or VM setup.
Host operating system
The primary OS installed on the physical machine’s hard drive.
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.
