1/243
Chapter 3-7
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
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
A process control block ____.
contain a process’ states
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.
job
A set of commands or processes executed by a batch system.
user programs
User-level programs, as opposed to system programs.
task
A process, a thread activity, or, generally, a unit of computation on a computer.
process
A program loaded into memory and executing
program counter
A CPU register indicating the main memory location of the next instruction to load and execute.
text section
The executable code of a program or process.
data section
The data part of a program or process; it contains global variables.
heap section
The section of process memory that is dynamically allocated during process run time; it stores temporary variables.
stack section
The section of process memory that contains the stack; it contains activation records and other temporary data.
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.
executable file
A file containing a program that is ready to be loaded into memory and executed.
state
The condition of a process, including its current activity as well as its associated memory and disk contents.
process control block
A per-process kernel data structure containing many pieces of information associated with the process.
task control block
A per-process kernel data structure containing many pieces of information associated with the process.
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 ______.
process scheduler
A scheduler that selects an available process (possibly from a set of several processes) for execution on a CPU.
degree of multiprogramming
The number of processes in memory.
parent
In a tree data structure, a node that has one or more nodes connected below it.
children
In a tree data structure, nodes connected below another node.
siblings
In a tree data structure, child nodes of the same parent.
I/O-bound process
A process that spends more of its time doing I/O than doing computations
CPU-bound process
A process that spends more time executing on CPU than it does performing I/O.
ready queue
The set of processes ready and waiting to execute.
wait queue
In process scheduling, a queue holding processes waiting for an event to occur before they need to be put on CPU.
dispatched
Selected by the process scheduler to be executed next.
CPU scheduler
Kernel routine that selects a thread from the threads that are ready to execute and allocates a core to that thread.
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.
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.
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.
state restore
Copying a process's context from its saved location to the CPU registers in preparation for continuing the process's execution.
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.
tree
A data structure that can be used to represent data hierarchically; data values in a ___ structure are linked through parent-child relationships.
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.
cascading termination
A technique in which, when a process is ended, all of its children are ended as well.
zombie
A process that has terminated but whose parent has not yet called wait() to collect its state and accounting information.
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.
interprocess communication (IPC)
Communication between processes.
shared memory
In interprocess communication, a section of memory shared by multiple processes and used for message passing.
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.
What is the valid test for determining if the bounded buffer is empty?
(in == out)
producer
A process role in which the process produces information that is consumed by a consumer process.
consumer
A process role in which the process consumes information produced by a producer process.
unbounded buffer
A buffer with no practical limit on its memory size.
bounded buffer
A buffer with a fixed size.
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.
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.
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.
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.
asynchronous
In I/O, a request that executes while the caller continues execution.
rendezvous
In interprocess communication, when blocking mode is used, the meeting point at which a send is picked up by a receive.
single-threaded
A process or program that has only one thread of control (and so executes on only one core at a time).
multithreaded
A term describing a process or program with multiple threads of control, allowing multiple simultaneous execution points.
user thread
A thread running in user mode.
kernel threads
Threads running in kernel mode.
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
thread ID
unique identifier assigned to a thread by the operating system
thread state
the current condition or status of a thread in the system (e.g., running, waiting, blocked)
register contents
the current values stored in the CPU registers used by the thread
thread priority
the assigned importance level of a thread, determining its scheduling order compared to other threads
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
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
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
fork()
a system call that creates a new process by duplicating the existing process
exec()
a system call that replaces the current process with a new program
signal
a way to alert a process about an event
default signal handler
the built-in handler for signals unless a process uses its own
pthread_kill()
a function in the POSIX threads (Pthreads) library used to send a signal to a specific thread within the same process
asynchronous procedure call (APC)
a function a thread sets to run when it gets a certain notice
thread cancellation
ending a thread before it finishes
pthread_cancel()
a function that requests the cancellation of a specific thread in Pthreads
What is the role of a process in a computer system?
Executing user and system tasks
Which state is a process when it is paused and is not currently being executed?
Waiting
How does a context switch impact CPU performance?
It temporarily suspends the current process to switch to another.
What is the purpose of scheduling queues in process management?
To manage the order of process execution
What is the result of a fork() system call in Unix?
Creation of a child process
Which mechanism allows processes to work together without interfering with each other?
Communication through interprocess mechanisms
Which method involves processes exchanging data by sending and receiving messages?
Message passing
How does synchronization ensure proper process execution?
By preventing simultaneous access to shared resources
Which type of thread is managed directly by the operating system?
Kernel-level
What is a significant advantage of using multithreading in applications?
It increases responsiveness and resource sharing.
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
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
semaphores
synchronization tools used to control access to shared resources by multiple processes
starvation
a situation where a process is perpetually denied access to resources because other processes continuously acquire them
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
fair resource allocation
a principle ensuring that all processes have fair access to resources, preventing starvation and ensuring balanced system performance
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
concurrency
the ability of an operating system to execute multiple processes simultaneously, improving performance and responsiveness
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.
entry section
The section of code within a process that requests permission to enter its critical section.
exit section
The section of code within a process that cleanly exits the critical section.
remainder section
Whatever code remains to be processed after the critical and exit sections.
preemptive kernel
A type of kernel that allows a process to be preempted while it is running in kernel mode.
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.
mutex lock
A mutual exclusion lock; the simplest software tool for assuring mutual exclusion.
contended
A term describing the condition of a lock when a thread blocks while trying to acquire it.
uncontended
A term describing a lock that is available when a thread attempts to acquire it.