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

0.0(0)
studied byStudied by 24 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/56

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

57 Terms

1
New cards

job

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

2
New cards

user programs

User-level programs, as opposed to system programs.

3
New cards

task

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

4
New cards

process

A program loaded into memory and executing.

5
New cards

program counter

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

6
New cards

text section

The executable code of a program or process.

7
New cards

data section

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

8
New cards

heap section

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

9
New cards

stack section

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

10
New cards

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.

11
New cards

executable file

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

12
New cards

state

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

13
New cards

process control block

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

14
New cards

task control block

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

15
New cards

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.

16
New cards

process scheduler

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

17
New cards

degree of multiprogramming

The number of processes in memory.

18
New cards

parent

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

19
New cards

children

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

20
New cards

siblings

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

21
New cards

I/O-bound process

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

22
New cards

CPU-bound process

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

23
New cards

ready queue

The set of processes ready and waiting to execute.

24
New cards

wait queue

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

25
New cards

dispatched

Selected by the process scheduler to be executed next.

26
New cards

CPU scheduler

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

27
New cards

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.

28
New cards

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.

29
New cards

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.

30
New cards

state restore

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

31
New cards

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.

32
New cards

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.

33
New cards

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.

34
New cards

split-screen

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

35
New cards

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.

36
New cards

tree

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

37
New cards

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.

38
New cards

cascading termination

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

39
New cards

zombie

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

40
New cards

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.

41
New cards

interprocess communication (IPC)

Communication between processes.

42
New cards

shared memory

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

43
New cards

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.

44
New cards

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.

45
New cards

renderer

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

46
New cards

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

47
New cards

sandbox

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

48
New cards

producer

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

49
New cards

consumer

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

50
New cards

unbounded buffer

A buffer with no practical limit on its memory size.

51
New cards

bounded buffer

A buffer with a fixed size.

52
New cards

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.

53
New cards

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.

54
New cards

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.

55
New cards

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.

56
New cards

asynchronous

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

57
New cards

rendezvous

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