1/100
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
hardware
The CPU, memory devices, input/output (I/O) devices, and any other physical components that are part of the 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 parse 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 predicting that the number of transistors on an integrand circuit would double every eighteen 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 critical section).
interrupt chaining
A mechanism by which each element in an interrupt vector points to the head of 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)
1024 bytes.
megabyte (MB)
1024^2 bytes.
gigabyte (GB)
1024^3 bytes.
terabytes (TB)
1024^4 bytes.
petabyte (PB)
1024^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.
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.
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 or 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.
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 computation easily.
system daemon
A service that is provided outside the kernel by the 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 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 hypervisor.
timer
A hardware component that can be set to interrupt the computer after specified period.
resource manager
The role of an operating system in managing the computer resources.
program counter
A CPU register indicating the main memory location of the next instruction to load and execute.
file
The smallest logical storage unit; a collection of related information defined by its creator.
caching
The use of temporary data storage areas to improve performance.
cache management
The management of cache's contents.
cache coherency
The coordination of the contents of caches such that an update to a value stored in one cache is immediately reflected in all other caches that hold that value.
I/O subsystem
The I/O devices and the part of the kernel that manages I/O.
virtualization
A technology for abstracting the hardware of a single computer into several different execution environments, thereby creating the illusion that each environment is running on its own private computer.
virtual machine (VM)
The abstraction of hardware allowing a virtual computer to execute on a physical computer. Multiple virtual machines can run on a single physical machine (and each can have a different operating system).
emulation
A methodology used to enable a process to run when the compiled program's original (source) CPU type is different from the target CPU type of which the program is to run.
guest
In virtualization, an operating system, running in a virtual environment (rather than natively on the computer hardware).