D686: Operating Systems for Computer Scientists home (chapter 3)

studied byStudied by 2 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 / 56

encourage image

There's no tags or description

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

57 Terms

1

job

A set of commands or processes executed by a batch system.

New cards
2

user programs

User-level programs, as opposed to system programs.

New cards
3

task

A process, a thread activity, or, generally, a unit of computation on a computer.

New cards
4

process

A program loaded into memory and executing.

New cards
5

program counter

A CPU register indicating the main memory location of the next instruction to load and execute.

New cards
6

text section

The executable code of a program or process.

New cards
7

data section

The data part of a program or process; it contains global variables.

New cards
8

heap section

The section of process memory that is dynamically allocated during process run time; it stores temporary variables.

New cards
9

stack section

The section of process memory that contains the stack; it contains activation records and other temporary data.

New cards
10

activation record

A record created when a function or subroutine is called; added to the stack by the call and removed when the call returns. Contains function parameters, local variables, and the return address.

New cards
11

executable file

A file containing a program that is ready to be loaded into memory and executed.

New cards
12

state

The condition of a process, including its current activity as well as its associated memory and disk contents.

New cards
13

process control block

A per-process kernel data structure containing many pieces of information associated with the process.

New cards
14

task control block

A per-process kernel data structure containing many pieces of information associated with the process.

New cards
15

thread

A process control structure that is an execution location. A process with a single thread executes only one task at a time, while a multithreaded process can execute a task per thread.

New cards
16

process scheduler

A scheduler that selects an available process (possibly from a set of several processes) for execution on a CPU.

New cards
17

degree of multiprogramming

The number of processes in memory.

New cards
18

parent

In a tree data structure, a node that has one or more nodes connected below it.

New cards
19

children

In a tree data structure, nodes connected below another node.

New cards
20

siblings

In a tree data structure, child nodes of the same parent.

New cards
21

I/O-bound process

A process that spends more of its time doing I/O than doing computations

New cards
22

CPU-bound process

A process that spends more time executing on CPU than it does performing I/O

New cards
23

ready queue

The set of processes ready and waiting to execute.

New cards
24

wait queue

In process scheduling, a queue holding processes waiting for an event to occur before they need to be put on CPU.

New cards
25

dispatched

Selected by the process scheduler to be executed next.

New cards
26

CPU scheduler

Kernel routine that selects a thread from the threads that are ready to execute and allocates a core to that thread.

New cards
27

swapping

Moving a process between main memory and a backing store. A process may be swapped out to free main memory temporarily and then swapped back in to continue execution.

New cards
28

context

When describing a process, the state of its execution, including the contents of registers, its program counter, and its memory context, including its stack and heap.

New cards
29

state save

Copying a process's context to save its state in order to pause its execution in preparation for putting another process on the CPU.

New cards
30

state restore

Copying a process's context from its saved location to the CPU registers in preparation for continuing the process's execution.

New cards
31

context switch

The switching of the CPU from one process or thread to another; requires performing a state save of the current process or thread and a state restore of the other.

New cards
32

foreground

Describes a process or thread that is interactive (has input directed to it), such as a window currently selected as active or a terminal window currently selected to receive input.

New cards
33

background

Describes a process or thread that is not currently interactive (has no interactive input directed to it), such as one not currently being used by a user. In the Grand Central Dispatch Apple OS scheduler, the scheduling class representing tasks that are not time sensitive and are not visible to the user.

New cards
34

split-screen

Running multiple foreground processes (e.g., on an iPad) but splitting the screen among the processes.

New cards
35

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
36

tree

A data structure that can be used to represent data hierarchically; data values in a tree structure are linked through parent-child relationships.

New cards
37

process identifier (pid)

A unique value for each process in the system that can be used as an index to access various attributes of a process within the kernel.

New cards
38

cascading termination

A technique in which, when a process is ended, all of its children are ended as well.

New cards
39

zombie

A process that has terminated but whose parent has not yet called wait() to collect its state and accounting information.

New cards
40

orphan

The child of a parent process that terminates in a system that does not require a terminating parent to cause its children to be terminated.

New cards
41

interprocess communication (IPC)

Communication between processes.

New cards
42

shared memory

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

New cards
43

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
44

browser

A process that accepts input in the form of a URL (Uniform Resource Locator), or web address, and displays its contents on a screen.

New cards
45

renderer

A process that contains logic for rendering contents (such as web pages) onto a display.

New cards
46

plug-in

An add-on functionality that expands the primary functionality of a process (e.g., a web browser plug-in that displays a type of content different from what the browser can natively handle).

New cards
47

sandbox

A contained environment (e.g., a virtual machine).

New cards
48

producer

A process role in which the process produces information that is consumed by a consumer process

New cards
49

consumer

A process role in which the process consumes information produced by a producer process.

New cards
50

unbounded buffer

A buffer with no practical limit on its memory size.

New cards
51

bounded buffer

A buffer with a fixed size.

New cards
52

direct communication

In interprocess communication, a communication mode in which each process that wants to communicate must explicitly name the recipient or sender of the communication.

New cards
53

blocking

In interprocess communication, a mode of communication in which the sending process is blocked until the message is received by the receiving process or by a mailbox and the receiver blocks until a message is available. In I/O, a request that does not return until the I/O completes.

New cards
54

nonblocking

A type of I/O request that allows the initiating thread to continue while the I/O operation executes. In interprocess communication, a communication mode in which the sending process sends the message and resumes operation and the receiver process retrieves either a valid message or a null if no message is available. In I/O, a request that returns whatever data is currently available, even if it is less than requested.

New cards
55

synchronous

In interprocess communication, a mode of communication in which the sending process is blocked until the message is received by the receiving process or by a mailbox and the receiver blocks until a message is available. In I/O, a request that does not return until the I/O completes.

New cards
56

asynchronous

In I/O, a request that executes while the caller continues execution.

New cards
57

rendezvous

In interprocess communication, when blocking mode is used, the meeting point at which a send is picked up by a receive.

New cards
robot