Looks like no one added any tags here yet for you.
user interface (UI)
A method by which a user interacts with a computer
graphical user interface (GUI)
A computer interface comprising a window system with a pointing device to direct I/O, choose from menus, and make selections and, usually, a keyboard to enter text.
touch-screen interface
A user interface in which touching a screen allows the user to interact with the computer.
command-line interface (CLI)
A method of giving commands to a computer based on a text input device (such as a keyboard)
shared memory
In interprocess communication, a section of memory shared by multiple processes and used for message passing.
message passing
In interprocess communication, a method of sharing data in which messages are sent and received by processes. Packets of information in predefined formats are moved between processes or between computers.
command interpreter
The operating system component that interprets user commands and causes actions based on them.
shell
One of the command interpreters on a system with multiple command interpreters to choose from.
desktop
In a GUI, the standard workspace represented by the GUI on the screen, in which a user executes tasks.
icons
Images representing objects (such as files or applications) that users can choose via the GUI.
folder
A file system component that allows users to group files together.
gestures
A user interface component in which motions cause computer actions (e.g., "pinching" the screen).
springboard
The iOS touch-screen interface.
system administrators
Computer users that configure, monitor, and manage systems.
power users
Users with unusually deep knowledge of a system.
shell script
A file containing a set series of commands (similar to a batch file) that are specific to the shell being used.
system call
Software-triggered interrupt allowing a process to request a kernel service.
application programming interface (API)
A set of commands, functions, and other tools that can be used by a programmer in developing a program.
C library (libc)
The standard UNIX/Linux system API for programs written in the C programming language.
run-time environment (RTE)
The full suite of software needed to execute applications written in a given programming language, including its compilers, libraries, and loaders.
system-call interface
An interface that serves as the link to system calls made available by the operating system and that is called by processes to invoke system calls.
push
The action of placing a value on a stack data structure.
stack
A sequentially ordered data structure that uses the last-in, first-out (LIFO) principle for adding and removing items; the last item placed onto a stack is the first item removed.
process control
A category of system calls.
information maintenance
A category of system calls.
communications
A category of system calls.
protection
A category of system calls. Any mechanism for controlling the access of processes or users to the resources defined by a computer system.
debugger
A system program designed to aid programmers in finding and correcting errors.
bug
An error in computer software or hardware.
lock
A mechanism that restricts access by processes or subroutines to ensure integrity of shared data.
sketch
An Arduino program.
single step
A CPU mode in which a trap is executed by the CPU after every instruction (to allow examination of the system state after every instruction); useful in debugging.
message-passing model
A method of interprocess communication in which messages are exchanged.
host name
A human-readable name for a computer.
process name
A human-readable name for a process.
daemon
A service that is provided outside of the kernel by system programs that are loaded into memory at boot time and run continuously.
client
A computer that uses services from other computers (such as a web client). The source of a communication.
server
In general, any computer, no matter the size, that provides resources to other computers.
shared-memory model
An interprocess communication method in which multiple processes share memory and use that memory for message passing.
core
Within a CPU, the component that executes instructions.
multiprocessor systems
Systems that have two or more hardware processors (CPU cores) in close communication, sharing the computer bus and sometimes the clock, memory, and peripheral devices.
symmetric multiprocessing (SMP)
Multiprocessing in which each processor performs all tasks, including operating-system tasks and user processes.
multicore
Multiple processing cores within the same CPU chip or within a single system.
multiprocessor
multiple processors within the same cpu chip or within a single system.
shared system interconnect
A bus connecting CPUs to memory in such a way that all CPUs can access all system memory; the basis for NUMA systems.
non-uniform memory access (NUMA)
An architecture aspect of many computer systems in which the time to access memory varies based on which core the thread is running on (e.g., a core interlink is slower than accessing DIMMs directly attached to core).
blade server
A computer with multiple processor boards, I/O boards, and networking boards placed in the same chassis. The difference between these and traditional multiprocessor systems is that each blade-processor board boots independently and runs its own operating system.
clustered system
A system that gathers together multiple CPUs. Clustered systems differ from multiprocessor systems in that they are composed of two or more individual systems—or nodes—joined together.
high-availability
Describes a service that will continue even if one or more systems in the cluster fail.
graceful degradation
The ability of a system to continue providing service proportional to the level of surviving hardware.
fault-tolerant system
A system that can suffer a failure of any single component and still continue operation.
asymmetric clustering
A configuration in which one machine in a cluster is in hot-standby mode while the other is running applications.
hot-standby mode
A condition in which a computer in a cluster does nothing but monitor the active server. If that server fails, the hot-standby host becomes the active server.
symmetric clustering
A situation in which two or more hosts are running applications and are monitoring each other.
high-performance computing
A computing facility designed for use with a large number of resources to be used by software designed for parallel operation.
parallelization
The process of dividing a program into separate components that run in parallel on individual cores in a computer or computers in a cluster.
distributed lock manager (DLM)
A function used by a clustered system to supply access control and locking to ensure that no conflicting operations occur.
storage-area network (SAN)
A local-area storage network allowing multiple computers to connect to one or more storage devices.
system service
A collection of applications included with or added to an operating system to provide services beyond those provided by the kernel.
system utility
A collection of applications included with or added to an operating system to provide services beyond what are provided by the kernel.
registry
A file, set of files, or service used to store and retrieve configuration information. In Windows, the manager of hives of data.
service
A software entity running on one or more machines and providing a particular type of function to calling clients. In Android, an application component with no user interface; it runs in the background while executing long-running operations or performing work for remote processes.
subsystem
A subset of an operating system responsible for a specific function (e.g., memory management)
application program
A program designed for end-user execution, such as a word processor, spreadsheet, compiler, or Web browser.
monolithic
In kernel architecture, describes a kernel without structure (such as layers or modules)
tightly coupled systems
Systems with two or more processors in close communication, sharing the computer bus and sometimes the clock, memory, and peripheral devices
loosely coupled
Describes a kernel design in which the kernel is composed of components that have specific and limited functions.
layered approach
A kernel architecture in which the operating system is separated into a number of layers (levels); typically, the bottom layer (layer 0) is the hardware, and the highest (layer N) is the user interface.
Mach
An operating system with microkernel structure and threading; developed at Carnegie Mellon University.
microkernel
An operating-system structure that removes all nonessential components from the kernel and implements them as system and user-level programs.
loadable kernel module (LKM)
A kernel structure in which the kernel has a set of core components and can link in additional services via modules, either at boot time or during run time.
user experience layer
in the layered macOS and iOS operating system design, the layer that defines the software interface that allows users to interact with computing devices.
application frameworks layer
in the layered macOS and iOS operating system design, the layer that includes Cocoa and Cocoa Touch frameworks, providing an API for Objective-C and Swift programming languages.
core frameworks
in the layered macOS and iOS operating system design, the layer that defines frameworks that support graphics and media, including quicktime and opengl.
kernel environment
in the layered macOS and iOS operating system design, the darwin layer that includes the mach microkernel and the bsd unix kernel.
Darwin
The Apple code name for its open-source kernel
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.
kernel abstractions
Components provided with the Mach microkernel to add functionality beyond the microkernel, such as tasks, threads, memory objects, and ports.
kernel extensions (kexts)
Third-party components added to the kernel (usually to support third-party devices or services).
kexts
Third-party components added to the kernel (usually to support third-party devices or services).
ahead-of-time (AOT) compilation
A feature of the Android RunTime (ART) virtual machine environment in which Java applications are compiled to native machine code when they are installed on a system (rather than just in time, when they are executed).
Bionic
A type of standard C library used by Android; it has a smaller memory footprint than glibc and is more efficient on slower (mobile) CPUs.
Windows Subsystem for Linux (WSL)
A Windows 10 component allowing native Linux applications (ELF binaries) to run on Windows.
Linux instance
A set of Pico processes running in Windows created by WSL containing an init process and a bash shell (allowing executing of Linux commands within Windows)
Pico
In WSL, a special Linux-enabling process that translates Linux system calls to the LXCore and LXSS services.