D686: Operating Systems for Computer Scientists (chapter 2)

studied byStudied by 13 people
0.0(0)
learn
LearnA personalized and smart learning plan
exam
Practice TestTake a test on your terms and definitions
spaced repetition
Spaced RepetitionScientifically backed study method
heart puzzle
Matching GameHow quick can you match all your cards?
flashcards
FlashcardsStudy terms and definitions

1 / 84

encourage image

There's no tags or description

Looks like no one added any tags here yet for you.

85 Terms

1

user interface (UI)

A method by which a user interacts with a computer

New cards
2

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.

New cards
3

touch-screen interface

A user interface in which touching a screen allows the user to interact with the computer.

New cards
4

command-line interface (CLI)

A method of giving commands to a computer based on a text input device (such as a keyboard)

New cards
5

shared memory

In interprocess communication, a section of memory shared by multiple processes and used for message passing.

New cards
6

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.

New cards
7

command interpreter

The operating system component that interprets user commands and causes actions based on them.

New cards
8

shell

One of the command interpreters on a system with multiple command interpreters to choose from.

New cards
9

desktop

In a GUI, the standard workspace represented by the GUI on the screen, in which a user executes tasks.

New cards
10

icons

Images representing objects (such as files or applications) that users can choose via the GUI.

New cards
11

folder

A file system component that allows users to group files together.

New cards
12

gestures

A user interface component in which motions cause computer actions (e.g., "pinching" the screen).

New cards
13

springboard

The iOS touch-screen interface.

New cards
14

system administrators

Computer users that configure, monitor, and manage systems.

New cards
15

power users

Users with unusually deep knowledge of a system.

New cards
16

shell script

A file containing a set series of commands (similar to a batch file) that are specific to the shell being used.

New cards
17

system call

Software-triggered interrupt allowing a process to request a kernel service.

New cards
18

application programming interface (API)

A set of commands, functions, and other tools that can be used by a programmer in developing a program.

New cards
19

C library (libc)

The standard UNIX/Linux system API for programs written in the C programming language.

New cards
20

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.

New cards
21

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.

New cards
22

push

The action of placing a value on a stack data structure.

New cards
23

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.

New cards
24

process control

A category of system calls.

New cards
25

information maintenance

A category of system calls.

New cards
26

communications

A category of system calls.

New cards
27

protection

A category of system calls. Any mechanism for controlling the access of processes or users to the resources defined by a computer system.

New cards
28

debugger

A system program designed to aid programmers in finding and correcting errors.

New cards
29

bug

An error in computer software or hardware.

New cards
30

lock

A mechanism that restricts access by processes or subroutines to ensure integrity of shared data.

New cards
31

sketch

An Arduino program.

New cards
32

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.

New cards
33

message-passing model

A method of interprocess communication in which messages are exchanged.

New cards
34

host name

A human-readable name for a computer.

New cards
35

process name

A human-readable name for a process.

New cards
36

daemon

A service that is provided outside of the kernel by system programs that are loaded into memory at boot time and run continuously.

New cards
37

client

A computer that uses services from other computers (such as a web client). The source of a communication.

New cards
38

server

In general, any computer, no matter the size, that provides resources to other computers.

New cards
39

shared-memory model

An interprocess communication method in which multiple processes share memory and use that memory for message passing.

New cards
40

core

Within a CPU, the component that executes instructions.

New cards
41

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.

New cards
42

symmetric multiprocessing (SMP)

Multiprocessing in which each processor performs all tasks, including operating-system tasks and user processes.

New cards
43

multicore

Multiple processing cores within the same CPU chip or within a single system.

New cards
44

multiprocessor

multiple processors within the same cpu chip or within a single system.

New cards
45

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.

New cards
46

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).

New cards
47

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.

New cards
48

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.

New cards
49

high-availability

Describes a service that will continue even if one or more systems in the cluster fail.

New cards
50

graceful degradation

The ability of a system to continue providing service proportional to the level of surviving hardware.

New cards
51

fault-tolerant system

A system that can suffer a failure of any single component and still continue operation.

New cards
52

asymmetric clustering

A configuration in which one machine in a cluster is in hot-standby mode while the other is running applications.

New cards
53

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.

New cards
54

symmetric clustering

A situation in which two or more hosts are running applications and are monitoring each other.

New cards
55

high-performance computing

A computing facility designed for use with a large number of resources to be used by software designed for parallel operation.

New cards
56

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.

New cards
57

distributed lock manager (DLM)

A function used by a clustered system to supply access control and locking to ensure that no conflicting operations occur.

New cards
58

storage-area network (SAN)

A local-area storage network allowing multiple computers to connect to one or more storage devices.

New cards
59

system service

A collection of applications included with or added to an operating system to provide services beyond those provided by the kernel.

New cards
60

system utility

A collection of applications included with or added to an operating system to provide services beyond what are provided by the kernel.

New cards
61

registry

A file, set of files, or service used to store and retrieve configuration information. In Windows, the manager of hives of data.

New cards
62

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.

New cards
63

subsystem

A subset of an operating system responsible for a specific function (e.g., memory management)

New cards
64

application program

A program designed for end-user execution, such as a word processor, spreadsheet, compiler, or Web browser.

New cards
65

monolithic

In kernel architecture, describes a kernel without structure (such as layers or modules)

New cards
66

tightly coupled systems

Systems with two or more processors in close communication, sharing the computer bus and sometimes the clock, memory, and peripheral devices

New cards
67

loosely coupled

Describes a kernel design in which the kernel is composed of components that have specific and limited functions.

New cards
68

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.

New cards
69

Mach

An operating system with microkernel structure and threading; developed at Carnegie Mellon University.

New cards
70

microkernel

An operating-system structure that removes all nonessential components from the kernel and implements them as system and user-level programs.

New cards
71

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.

New cards
72

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.

New cards
73

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.

New cards
74

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.

New cards
75

kernel environment

in the layered macOS and iOS operating system design, the darwin layer that includes the mach microkernel and the bsd unix kernel.

New cards
76

Darwin

The Apple code name for its open-source kernel

New cards
77

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.

New cards
78

kernel abstractions

Components provided with the Mach microkernel to add functionality beyond the microkernel, such as tasks, threads, memory objects, and ports.

New cards
79

kernel extensions (kexts)

Third-party components added to the kernel (usually to support third-party devices or services).

New cards
80

kexts

Third-party components added to the kernel (usually to support third-party devices or services).

New cards
81

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).

New cards
82

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.

New cards
83

Windows Subsystem for Linux (WSL)

A Windows 10 component allowing native Linux applications (ELF binaries) to run on Windows.

New cards
84

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)

New cards
85

Pico

In WSL, a special Linux-enabling process that translates Linux system calls to the LXCore and LXSS services.

New cards
robot