Looks like no one added any tags here yet for you.
hardware
The CPU, memory devices, input/output (I/O) devices, and any other physical components that are part of a computer.
application program
A program designed for end-user execution, such as a word processor, spreadsheet, compiler, or Web browser.
ease of use
The amount of difficulty and complexity involved in using some aspect of computing.
resource utilization
The amount of a given resource (hardware or software) that is being used.
touch screen
A touch-sensitive screen used as a computer input device.
voice recognition
A computer interface based on spoken commands, which the computer parses and turns into actions.
Siri
The Apple voice-recognition system.
embedded computer
A computer system within some other, larger system (such as a car) that performs specific, limited functions and has little or no user interface.
resource allocator
An operating system or application that determines how resources are to be used.
control program
A program that manages the execution of user programs to prevent errors and improper use of the computer. It is especially concerned with the operation and control of I/O devices.
Moore's Law
A law predicted that the number of transistors on an integrated circuit would double every eighteen months/ the idea that the number of parts on a computer chip doubles about every 18 months
kernel
The operating system component running on the computer at all times after system boot.
system program
A program associated with the operating system but not necessarily part of the kernel.
middleware
A set of software frameworks that provide additional services to application developers.
bus
A communication system; e.g., within a computer, a bus connects various components, such as the CPU and I/O devices, allowing them to transfer data and commands.
device driver
An operating system component that provides uniform access to various devices and manages I/O to those devices.
interrupt
A hardware mechanism that enables a device to notify the CPU that it needs attention.
interrupt vector
An operating-system data structure indexed by interrupt address and pointing to the interrupt handlers. A kernel memory data structure that holds the addresses of the interrupt service routines for the various devices.
interrupt-request line
The hardware connection to the CPU on which interrupts are signaled
interrupt-handler routine
An operating system routine that is called when an interrupt signal is received.
interrupt-controller hardware
Computer hardware components for interrupt management.
nonmaskable interrupt
An interrupt that cannot be delayed or blocked (such as an unrecoverable memory error)
maskable
Describes an interrupt that can be delayed or blocked (such as when the kernel is in a critical section).
interrupt chaining
A mechanism by which each element in an interrupt vector points to the head of a list of interrupt handlers, which are called individually until one is found to service the interrupt request.
interrupt priority level
Prioritization of interrupts to indicate handling order.
random-access memory (RAM)
Rewritable memory, also called main memory. Most programs run from RAM, which is managed by the kernel.
dynamic random-access memory (DRAM)
The common version of RAM, which features high read and write speeds
bootstrap program
The program that allows the computer to start running by initializing hardware and loading the kernel.
volatile
Describes storage whose content can be lost in a power outage or similar event.
firmware
Software stored in ROM or EEPROM for booting the system and managing low level hardware.
bit
The basic unit of computer storage. A bit can contain one of two values, 0 or 1.
byte
Eight bits
word
A unit made up of one or more bytes. For example, a computer that has 64-bit registers and 64-bit memory addressing typically has 64-bit (8-byte) words.
kilobyte (KB)
1,024 bytes
megabyte (MB)
1,024^2 bytes
gigabyte (GB)
1,024^3 bytes
terabyte (TB)
1,024^4 bytes.
petabyte (PB)
1,024^5 bytes.
von Neumann architecture
The structure of most computers, in which both process instructions and data are stored in the same main memory.
secondary storage
A storage system capable of holding large amounts of data permanently; most commonly, HDDs and NVM devices.
hard disk drive (HDD)
A secondary storage device based on mechanical components, including spinning magnetic media platters and moving read-write heads.
nonvolatile memory (NVM)
Persistent storage based on circuits and electric charges.
tertiary storage
A type of storage that is slower and cheaper than main memory or secondary storage; frequently magnetic tape or optical disk.
semiconductor memory
The various types of memory constructed from semiconductors
memory
Volatile storage within a computer system
nonvolatile storage (NVS)
Storage in which data will not be lost in a power outage or similar event
nonvolatile memory (NVM)
Persistent storage based on circuits and electric charges.
direct memory access (DMA)
A resource-conserving and performance-improving operation for device controllers allowing devices to transfer large amounts of data directly to and from main memory.
bus
a pathway that moves data and instructions between parts of a computer, like the CPU and devices
device driver
software that helps the operating system talk to and control hardware like printers or keyboards
interrupt
a signal from a device telling the computer’s brain (the CPU) that something important needs attention right away
interrupt vector
a list that shows where the computer should go to handle different kinds of interruptions
interrupt-request line
a wire or circuit that lets devices send signals to the CPU to ask for attention
interrupt-handler routine
a special program that the computer runs when it gets an interrupt signal
interrupt-controller hardware
parts of the computer that manage when and how interrupts are handled
non-maskable interrupt
an urgent signal that the CPU must deal with immediately, like a major error
maskable
describes an interrupt that the CPU can choose to ignore briefly, usually when it’s busy doing something very important
interrupt chaining
a method where the computer checks a list of programs to find the right one to handle an interrupt
interrupt priority level
a way of deciding which interrupts are most urgent, so that the computer can handle them in the right order
random-access memory (RAM)
a computer's main memory that can be used quickly to run programs
dynamic random-access memory (DRAM)
a type of RAM that is fast and used a lot in computers
volatile
describes memory that loses its information when the computer turns off
electrically erasable programmable read-only memory (EEPROM)
a type of nonvolatile memory that can be electrically erased and reprogrammed to store data
bootstrap program
the first program that starts a computer by getting everything ready for the main software to run when the computer is turned on
bit
the smallest unit of data storage containing one of two values, 0 (off) or 1 (on)
byte
eight bits
word
a unit of data representing multiple bytes, such as 4 bytes in a 32-bit system or 8 bytes in a 64-bit system
hard disk drive (HDD)
a storage device that uses spinning disks and read/write heads to store and retrieve data
nonvolatile memory (NVM)
memory that retains data even when power is turned off
nonvolatile storage (NVS)
storage that keeps data without needing power, such as hard drives and SSDs
solid state drive (SSD)
a storage device that uses flash memory to store data with no moving parts
big data
Extremely large sets of data; distributed systems are well suited to working with big data.
MapReduce
A Google-created big data programming model and implementation for parallel processing across nodes in a distributed cluster. A layer on top of the Google file system (GFS), it allows developers to carry out large-scale parallel computations easily.
system daemon
A service that is provided outside the kernel by system programs that are loaded into memory at boot time and run continuously.
trap
A software interrupt. The interrupt can be caused either by an error (e.g., division by zero or invalid memory access) or by a specific request from a user program that an operating-system service be performed.
exception
A software-generated interrupt caused either by an error (such as division by zero or invalid memory access) or by a specific request from a user program than an operating-system service be performed.
system call
Software-triggered interrupt allowing a process to request a kernel service.
multiprogramming
A technique that increases CPU utilization by organizing jobs (code and data) so that the CPU always has a job to execute.
process
A program loaded into memory and executing.
multitasking
The concurrent performance of multiple jobs. A CPU executes multiple jobs by switching among them, but the switches occur so frequently that users can interact with the processes.
response time
The amount of time it takes the system to respond to user action.
CPU scheduling
The process by which the system chooses which job will run next if several jobs are ready to run at the same time.
virtual memory
A technique that allows the execution of a process that is not completely in memory. Also, separation of computer memory address space from physical into logical, allowing easier programming and larger name space.
logical memory
Memory as viewed by the user; usually a large uniform array, not matching physical memory in virtual memory systems.
user mode
A CPU mode for executing user processes in which some instructions are limited or not allowed. See also kernel mode.
kernel mode
A CPU mode in which all instructions are enabled. The kernel runs in this mode. See also user mode.
supervisor mode
A CPU mode in which all instructions are enabled. The kernel runs in this mode. See also user mode.
system mode
A CPU mode in which all instructions are enabled. The kernel runs in this mode. See also user mode.
privileged mode
A CPU mode in which all instructions are enabled. The kernel runs in this mode. See also user mode.
mode bit
A CPU status bit used to indicate the current mode: kernel (0) or user (1).
privileged instructions
Instructions that can execute only if the CPU is in in kernel mode.
protection rings
A model of privilege separation consisting of a series of rings, with each successive ring representing greater execution privileges.
virtual machine manager (VMM)
The computer function that manages the virtual machine; also called a hypervisor.
timer
A hardware component that can be set to interrupt the computer after a specified period.
batch operating system
executes similar jobs in batches to optimize CPU use without user interaction
multiprogramming
keeps multiple programs in memory to maximize CPU usage by switching between them
main memory management
the process of handling the system's primary memory (RAM) to ensure efficient use by programs
CPU scheduling
the method used by an operating system to decide which process gets to use the CPU and for how long
time-sharing system
an operating system that allows multiple users to share computer resources simultaneously
multitasking
the ability of an operating system to run multiple tasks or programs at the same time