D686 - Operating Systems - Section 2

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall with Kai
GameKnowt Play
New
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/243

flashcard set

Earn XP

Description and Tags

Chapter 3-7

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

244 Terms

1
New cards

The convention in modern operating systems and compilers is that the ____ of a process contains temporary data such as function parameters, return addresses, and local variables.

stack

2
New cards

A process control block ____.

contain a process’ states

3
New cards

A process may transition to the Ready state by which of the following actions?

An interrupt has occurred or an I/O operation the process is waiting for has completed.

4
New cards

job

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

5
New cards

user programs

User-level programs, as opposed to system programs.

6
New cards

task

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

7
New cards

process

A program loaded into memory and executing

8
New cards

program counter

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

9
New cards

text section

The executable code of a program or process.

10
New cards

data section

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

11
New cards

heap section

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

12
New cards

stack section

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

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

14
New cards

executable file

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

15
New cards

state

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

16
New cards

process control block

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

17
New cards

task control block

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

18
New cards

thread

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

19
New cards

process scheduler

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

20
New cards

degree of multiprogramming

The number of processes in memory.

21
New cards

parent

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

22
New cards

children

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

23
New cards

siblings

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

24
New cards

I/O-bound process

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

25
New cards

CPU-bound process

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

26
New cards

ready queue

The set of processes ready and waiting to execute.

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

28
New cards

dispatched

Selected by the process scheduler to be executed next.

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

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

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

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

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

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

35
New cards

tree

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

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

37
New cards

cascading termination

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

38
New cards

zombie

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

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

40
New cards

interprocess communication (IPC)

Communication between processes.

41
New cards

shared memory

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

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

43
New cards

What is the valid test for determining if the bounded buffer is empty?

(in == out)

44
New cards

producer

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

45
New cards

consumer

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

46
New cards

unbounded buffer

A buffer with no practical limit on its memory size.

47
New cards

bounded buffer

A buffer with a fixed size.

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

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

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

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

52
New cards

asynchronous

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

53
New cards

rendezvous

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

54
New cards

single-threaded

A process or program that has only one thread of control (and so executes on only one core at a time).

55
New cards

multithreaded

A term describing a process or program with multiple threads of control, allowing multiple simultaneous execution points.

56
New cards

user thread

A thread running in user mode.

57
New cards

kernel threads

Threads running in kernel mode.

58
New cards

thread control block (TCB)

a data structure in an operating system that stores information about a thread, including its identifier, state, CPU information, priority, and pointers to related threads

59
New cards

thread ID

unique identifier assigned to a thread by the operating system

60
New cards

thread state

the current condition or status of a thread in the system (e.g., running, waiting, blocked)

61
New cards

register contents

the current values stored in the CPU registers used by the thread

62
New cards

thread priority

the assigned importance level of a thread, determining its scheduling order compared to other threads

63
New cards

multicore

refers to a CPU architecture that integrates multiple processing cores onto a single chip, or within a single system, enabling parallel execution of tasks

64
New cards

data parallelism

a computational technique where subsets of identical data are distributed across multiple processing cores, each core performing the same operation simultaneously on its subset of data

65
New cards

task parallelism

a computational approach where tasks or threads are distributed across multiple processing cores, with each task executing a unique operation independently, often on different or related data sets

66
New cards

fork()

a system call that creates a new process by duplicating the existing process

67
New cards

exec()

a system call that replaces the current process with a new program

68
New cards

signal

a way to alert a process about an event

69
New cards

default signal handler

the built-in handler for signals unless a process uses its own

70
New cards

pthread_kill()

a function in the POSIX threads (Pthreads) library used to send a signal to a specific thread within the same process

71
New cards

asynchronous procedure call (APC)

a function a thread sets to run when it gets a certain notice

72
New cards

thread cancellation

ending a thread before it finishes

73
New cards

pthread_cancel()

a function that requests the cancellation of a specific thread in Pthreads

74
New cards

What is the role of a process in a computer system?

Executing user and system tasks

75
New cards

Which state is a process when it is paused and is not currently being executed?

Waiting

76
New cards

How does a context switch impact CPU performance?

It temporarily suspends the current process to switch to another.

77
New cards

What is the purpose of scheduling queues in process management?

To manage the order of process execution

78
New cards

What is the result of a fork() system call in Unix?

Creation of a child process

79
New cards

Which mechanism allows processes to work together without interfering with each other?

Communication through interprocess mechanisms

80
New cards

Which method involves processes exchanging data by sending and receiving messages?

Message passing

81
New cards

How does synchronization ensure proper process execution?

By preventing simultaneous access to shared resources

82
New cards

Which type of thread is managed directly by the operating system?

Kernel-level

83
New cards

What is a significant advantage of using multithreading in applications?

It increases responsiveness and resource sharing.

84
New cards

process synchronization

the coordination of processes to ensure they operate smoothly and efficiently without interfering with each other, especially when accessing shared resources or data

85
New cards

mutex

short for mutual exclusion, a lock that ensures only one process can access a critical section or resource at a time, preventing race conditions

86
New cards

semaphores

synchronization tools used to control access to shared resources by multiple processes

87
New cards

starvation

a situation where a process is perpetually denied access to resources because other processes continuously acquire them

88
New cards

circular wait

a condition where each process in a set is waiting for a resource held by another process in the same set, contributing to deadlock

89
New cards

fair resource allocation

a principle ensuring that all processes have fair access to resources, preventing starvation and ensuring balanced system performance

90
New cards

producer-consumer scenario

where one process produces data and another consumes it, requiring synchronization to ensure that the buffer used does not overflow or underflow

91
New cards

concurrency

the ability of an operating system to execute multiple processes simultaneously, improving performance and responsiveness

92
New cards

critical section

A section of code responsible for changing data that must only be executed by one thread or process at a time to avoid a race condition.

93
New cards

entry section

The section of code within a process that requests permission to enter its critical section.

94
New cards

exit section

The section of code within a process that cleanly exits the critical section.

95
New cards

remainder section

Whatever code remains to be processed after the critical and exit sections.

96
New cards

preemptive kernel

A type of kernel that allows a process to be preempted while it is running in kernel mode.

97
New cards

nonpreemptive kernels

A type of kernel that does not allow a process running in kernel mode to be preempted; a kernel-mode process will run until it exits kernel mode, blocks, or voluntarily yields control of the CPU.

98
New cards

mutex lock

A mutual exclusion lock; the simplest software tool for assuring mutual exclusion.

99
New cards

contended

A term describing the condition of a lock when a thread blocks while trying to acquire it.

100
New cards

uncontended

A term describing a lock that is available when a thread attempts to acquire it.