1/62
CS-300 at UA Spring 2025
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
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.
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.
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.
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; 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).
server
In general, any computer 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.
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.
service
A software entity running on one or more machines and providing a particular type of function to calling clients.
subsystem
A subset of an operating system responsible for a specific function.
application program
A program designed for end-user execution, such as a word processor, spreadsheet, compiler, or Web browser.
relocatable object file
The output of a compiler in which the contents can be loaded into any location in physical memory.
linker
A system service that combines relocatable object files into a single binary executable file.
executable file
A file containing a program that is ready to be loaded into memory and executed.
loader
A system service that loads a binary executable file into memory, where it is eligible to run on a CPU core.
relocation
An activity associated with linking and loading that assigns final addresses to program parts.
dynamically linked libraries (DLLs)
System libraries that are linked to user programs when the processes are run.
executable and linkable format (ELF)
The UNIX standard format for relocatable and executable files.
portable executable (PE)
The Windows format for executable files.
Mach-O
The macOS format of executable files.
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.
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.
Mach
An operating system with microkernel structure and threading.
microkernel
An operating-system structure that removes all nonessential components from the kernel.
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.
user experience layer
The layer that defines the software interface that allows users to interact with computing devices.
application frameworks layer
The layer that includes Cocoa and Cocoa Touch frameworks.
core frameworks
The layer that defines frameworks that support graphics and media.
kernel environment
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 caused either by an error or by a specific request from a user program.
kernel abstractions
Components provided with the Mach microkernel to add functionality beyond the microkernel.
kernel extensions (kexts)
Third-party components added to the kernel to support third-party devices or services.
ahead-of-time (AOT) compilation
A feature of the Android RunTime (ART) virtual machine environment.
Bionic
A type of standard C library used by Android.
Windows Subsystem for Linux (WSL)
A Windows 10 component allowing native Linux applications to run on Windows.
Linux instance
A set of Pico processes running in Windows created by WSL.
Pico
In WSL, a special Linux-enabling process that translates Linux system calls to the LXCore and LXSS services.