1/113
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Operating System
software that manages a computer’s hardware, provides a basis for application programs, and acts as an intermediary between the user and hardware.
Kernel
the one program running at all times on the computer as part of the operating system.
System Programs
programs associated with the operating system but not necessarily part of the kernel.
Application Programs
all programs not associated with the operation of the system that solve users' computing problems.
Middleware
a set of software frameworks that provide additional services to application developers, such as databases or graphics.
Device Controller
hardware in charge of a specific type of device that maintains local buffer storage and special-purpose registers.
Device Driver
software that understands a device controller and provides a uniform interface to the operating system.
Interrupt
a signal sent to the CPU by hardware or software to alert it to an event requiring immediate attention.
Interrupt Vector
an array of addresses indexed by a unique number to provide the address of the interrupt service routine for a device.
Trap (Exception)
a software-generated interrupt caused either by an error or a specific request from a user program for an OS service.
System Call
the method used by a process to request a service or action from the operating system.
Bootstrap Program
the initial program that runs when a computer is powered up or rebooted, responsible for loading the kernel.
Bit
the basic unit of computer storage, containing a value of either 0 or 1.
Byte
a collection of 8 bits
Main Memory (RAM)
the only large storage media that the CPU can access directly
Secondary Storage
an extension of main memory capable of holding large quantities of data permanently.
Nonvolatile Memory (NVM)
electrical nonvolatile storage, such as flash memory or SSDs, that is faster than hard disks.
Caching
the principle of temporarily copying information into a faster storage system to improve access performance.
Direct Memory Access (DMA)
a mechanism where a device controller transfers an entire block of data directly to or from main memory without CPU intervention.
Symmetric Multiprocessing (SMP)
a multiprocessor architecture where each peer CPU performs all tasks, including operating-system functions.
Multicore
a design where multiple computing cores reside on a single processor chip.
NUMA (Non-Uniform Memory Access)
an architecture where each CPU has its own local memory accessed via a small local bus, connected via a shared system interconnect.
Clustered System
a system composed of two or more individual nodes joined together, typically sharing storage via a network.
Graceful Degradation
the ability of a system to continue providing service proportional to the level of surviving hardware after a failure.
Fault Tolerant
a system that can suffer the failure of any single component and still continue operation through detection and correction.
Multiprogramming
a technique that keeps several processes in memory simultaneously so the CPU always has one to execute.
Process
a program in execution
Multitasking (Time-sharing)
a logical extension of multiprogramming where the CPU switches processes so frequently that users can interact with each program while it runs.
Virtual Memory
a technique that allows the execution of a process that is not completely in memory, abstracting physical memory into a uniform array.
User Mode
a mode of operation (indicated by mode bit 1) for executing user-defined code.
Kernel Mode
a privileged mode of operation (indicated by mode bit 0) for executing operating-system code.
Privileged Instruction
machine instructions designated by hardware to be executable only in kernel mode to protect the system.
Timer
hardware used to ensure the OS maintains control over the CPU by generating an interrupt after a specified period.
Protection
any mechanism for controlling the access of processes or users to the resources defined by a computer system.
Security
the job of defending a system against internal and external attacks, such as viruses or denial-of-service attacks.
Virtualization
technology that allows abstracting the hardware of a single computer into several different execution environments.
Virtual Machine Manager (VMM)
software that runs guest operating systems and manages their resource use.
Distributed System
a collection of separate, possibly heterogeneous computer systems networked to provide access to shared resources.
Real-time Operating System
a system used when rigid time requirements are placed on the operation of a processor or the flow of data.
Open-source Operating System
an operating system whose source code is made available for study, modification, and redistribution
Operating-System Services
Functions provided by the operating system to users, programs, and other systems to ensure an environment for program execution.
User Interface (UI)
The means by which a user interacts with the system, including Graphical User Interfaces (GUI), Command-Line Interfaces (CLI), and touch screens.
Command Interpreter
A special program that allows users to directly enter commands to be performed by the operating system, often referred to as a shell.
System Call
A programmatic interface provided by the operating system that allows user-level processes to request services from the kernel.
Application Programming Interface (API)
A set of rules and protocols that specify a set of functions available to application programmers, typically invoking system calls on their behalf.
System-Call Interface
A link that intercepts function calls in the API and invokes the necessary system calls within the operating system.
Run-Time Environment (RTE)
The full suite of software needed to execute applications written in a given language, including compilers, interpreters, and libraries.
Message-Passing Model
A communication model where processes exchange information by moving packets of data through the operating system.
Shared-Memory Model
A communication model where two or more processes create and gain access to a common section of memory to exchange data.
System Services (System Utilities)
Programs that provide a convenient environment for program development and execution, often acting as interfaces to system calls.
Daemons
Constantly running system-program processes, also known as services or subsystems, typically launched at boot time.
Linker
A tool that combines several relocatable object files into a single binary executable file.
Loader
Software responsible for bringing a binary executable file into memory so it is eligible to run on a CPU core.
Relocatable Object File
A compiled source file designed to be loaded into any physical memory location.
Application Binary Interface (ABI)
An architecture-level equivalent of an API that defines how different components of binary code interface for a given OS and architecture.
Mechanism
A component of the system that determines how to do something, such as using a timer for CPU protection.
Policy
A decision that determines what will be done, such as deciding how long a timer should be set for a user.
Monolithic Structure
An operating-system design where all kernel functionality is placed into a single, static binary file running in a single address space.
Layered Approach
A modular operating-system structure where the system is divided into a number of levels, each built on top of lower-level services.
Microkernel
A system structure that removes nonessential components from the kernel and implements them as user-level programs in separate address spaces.
Loadable Kernel Modules (LKM)
Core components that are separate but loadable into the kernel as needed during run time, typically using an object-oriented approach.
Hybrid Systems
Operating systems that combine multiple structural models (such as monolithic, layered, and microkernel) to address performance and security needs.
System Boot
The process of starting a computer by loading its kernel into memory.
Bootstrap Program (Boot Loader)
A small piece of code, often stored in ROM or EEPROM, that locates the kernel, loads it, and starts system execution.
BIOS / UEFI
Firmware interfaces that initialize hardware and load the initial bootstrap programs.
GRUB
A common open-source bootstrap program for Linux and UNIX systems that allows for flexible kernel selection at boot time.
Core Dump
A file capturing the memory state of a process at the time of a failure for later analysis.
Crash Dump
A file containing the kernel's memory state, captured when the operating system crashes.
Debugger
A system program designed to aid programmers in finding and correcting errors by allowing them to probe the code and memory of a process.
Single Step
A CPU mode where a trap is executed after every instruction to allow for detailed debuggin
Process
A program in execution
Text section
The section of a process in memory that contains the executable code.
Data section
The section of a process in memory containing global variables.
Heap section
Memory that is dynamically allocated during program run time.
Stack section
Temporary data storage used when invoking functions, such as function parameters, return addresses, and local variables.
Program counter
A pointer that specifies the next instruction to execute for a process.
Process State
The current activity of a process, such as new, ready, running, waiting, or terminated.
New State
The state of a process while it is being created.
Running State
The state of a process when its instructions are being executed.
Waiting State
The state where a process is waiting for some event to occur, such as an I/O completion.
Ready State
The state of a process waiting to be assigned to a processor.
Terminated State
The state of a process that has finished execution.
Process Control Block (PCB)
A kernel data structure, also called a task control block, that serves as a repository for all information associated with a specific process.
Thread
A single flow of control within a process
Process Scheduler
An operating system component that selects an available process for program execution on a CPU core.
Degree of Multiprogramming
The number of processes currently residing in memory.
I/O-bound Process
A process that spends more of its time doing I/O than computations.
CPU-bound Process
A process that generates I/O requests infrequently and uses more of its time doing computations.
Ready Queue
A queue, generally stored as a linked list, containing all processes ready and waiting to execute on a CPU core.
Wait Queue
A set of processes waiting for a specific event to occur, such as completion of I/O.
CPU Scheduler (Short-term scheduler)
A scheduler that selects from among the processes in the ready queue and allocates a CPU core to one of them.
Swapping
A scheduling technique where a process is temporarily removed from memory to disk and later reintroduced to continue execution.
Context Switch
The task of saving the state (context) of a current process and restoring the state of a different process when switching the CPU.
Process Identifier (pid)
A unique integer number used by the operating system to identify and manage a process.
Parent Process
A process that creates one or more new processes.
Child Process
A process created by another process.
Cascading Termination
A phenomenon where all children of a process are terminated by the operating system because the parent process terminated.
Zombie Process
A process that has terminated but whose parent has not yet called wait().
Orphan Process
A process whose parent has terminated without calling wait().
Independent Process
A process that cannot affect or be affected by other processes executing in the system.