Operating Systems, unit: Processes and Threads. Core concepts, terminology, and worked-example cues a college student meets for this unit, building on prior units without repeating them. Front: a term, concept, or short problem cue. Back: the definition, explanation, or answer.
25 cards · basic cards · AI-written, checked twice. Edit anything.
- What is a process?
- A program in execution, with its own memory space and resources
- What is the difference between a program and a process?
- A program is static code on disk; a process is that program actively running in memory
- What is a process control block (PCB)?
- A data structure the OS uses to store information about a specific process
- What information does a PCB typically store?
- Process state, program counter, CPU registers, memory limits, and scheduling information
- What are the typical states of a process?
- New, ready, running, waiting (blocked), and terminated
- What is context switching?
- Saving one process's state and loading another's, allowing the CPU to switch between them
- What is a thread?
- A lightweight unit of execution within a process, sharing the process's memory space
- What is the main difference between a process and a thread?
- Processes have separate memory spaces; threads within the same process share memory
- What is multithreading?
- Running multiple threads within a single process concurrently
- What is the advantage of using threads instead of separate processes?
- Threads are lighter weight and can share data more easily and efficiently
- What is a race condition?
- A bug where the outcome depends on the unpredictable timing of concurrent operations
- What is inter-process communication (IPC)?
- Mechanisms allowing separate processes to exchange data and synchronize
- What are common IPC mechanisms?
- Pipes, message queues, shared memory, and sockets
- What is a pipe, as an IPC mechanism?
- A unidirectional channel allowing one process to send data to another
- What is shared memory, as an IPC mechanism?
- A region of memory accessible by multiple processes for fast data exchange