Process concept Flashcards
Fundamentals about processes and IPC
Term
Definition
Signal
A software interrupt sent to a process to notify it of an event.
Predefined signals
Standard signals defined by the operating system for process communication and control.
Signal sets
A collection of signals that can be manipulated as a group.
Exceptions
Unexpected or erroneous conditions detected during program execution.
File descriptors
Identifiers used by the operating system to access files and I/O resources.
Process
An instance of a program in execution, including its resources and execution context.
Data of a process
The global variables and dynamically allocated memory used by a process.
Heap of a process
A dynamically allocated memory region managed at runtime.
Stack of a process
A memory segment storing function calls, local variables, and return addresses.
Text of a process
The code segment containing the executable instructions of a process.
Executable file
A file that contains machine code and can be executed by the operating system.
Program counter
A CPU register that holds the address of the next instruction to execute.
Process control block
A data structure maintained by the OS containing process-related information.
Swapping
A memory management technique that moves processes between RAM and disk storage.
Context of a process
The current state of a process, including registers, memory, and execution status.
Parent process
A process that creates and manages child processes.
Child process
A new process spawned by a parent process.
Orphan process
A process whose parent has terminated, leaving it managed by the OS.
Cascading termination
A situation where a parent’s termination forces the termination of its child processes.
Independent process
A process that does not share resources or data with other processes.
Cooperating process
A process that interacts and shares resources with other processes.
Message passing IPC
A form of inter-process communication (IPC) using messages for data exchange.
Shared memory IPC
A form of IPC where processes communicate by sharing a memory segment.
Producer process
A process that generates and sends data to be consumed by another process.
Consumer process
A process that receives and processes data produced by another process.
Buffer in shared memory IPC
A memory region used for temporary data storage between processes.
Unbounded buffer
A buffer with no size limit, allowing indefinite data storage.
Bounded buffer
A buffer with a fixed size, restricting the amount of stored data.
Direct communication
A method where processes explicitly reference each other for communication.
Indirect communication
A method where processes communicate via an intermediary, such as a mailbox.
Hard coding techniques IPC
Fixed, non-configurable methods for inter-process communication.
Blocking message passing
A synchronization method where a sender or receiver waits until a message is delivered.
Non-blocking message passing
A method where message sending or receiving occurs asynchronously.
Rendezvous in message passing IPC
A synchronization mechanism ensuring both sender and receiver are ready before communication.
Buffering in message passing
A technique where messages are stored temporarily before being processed.
Zero capacity buffer
A buffer that does not store messages, requiring sender and receiver to synchronize immediately.
Sockets
Endpoints for communication between processes over a network.
Connection-oriented sockets
Sockets that establish a reliable connection before data transfer (e.g., TCP).
Connectionless socket
Sockets that send and receive data without establishing a persistent connection (e.g., UDP).
Stub
A placeholder function or code used to represent a remote procedure in RPC.
Marshal parameter
The process of encoding and packaging data for transmission in remote procedure calls.
Matchmaker daemon
A service that helps clients locate and connect to servers in distributed systems.
Pipe
A unidirectional communication channel for data transfer between processes.
Ordinary pipe
A pipe that facilitates communication between related processes (parent-child).
Named pipe
A pipe with a specific name that allows communication between unrelated processes.