1/18
These flashcards cover key concepts related to threads, concurrency, and parallelism as discussed in the CSB 340 operating systems lecture.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Concurrency
Dealing with lots of things at once, allocating time slices to processes.
Parallelism
Doing lots of things at once by executing them simultaneously on multiple CPUs.
Process Control Block (PCB)
A data structure in the operating system that holds information about a process.
Time Slice
The amount of time allocated for a process to use the CPU.
Thread
The basic unit of CPU utilization that comprises a process.
Thread ID
A unique identifier for a thread within a process.
Kernel Structures
Data structures used by the OS that store information about threads and processes.
Fork vs Clone
Methods used in Unix-like systems for creating processes; 'fork' creates a new process while 'clone' can share resources.
Weak Isolation
A characteristic of threads where they share memory and state, potentially leading to bugs.
Strong Isolation
A characteristic of processes where each process has its own memory space, preventing interference.
Thread Pools
A design pattern for managing multiple threads efficiently without the overhead of creating and destroying threads.
Amdahl's Law
A formula to find the maximum improvement of a system based on the portion of the system that can benefit from parallelization.
Pthreads
POSIX standard for thread management in Unix-like operating systems.
Asynchronous Cancellation
A method of terminating a thread immediately regardless of its current state.
Deferred Cancellation
Allows a thread to periodically check for a cancellation request before terminating.
Thread-Local Storage (TLS)
A method that gives each thread its own copy of 'global' data.
Signal Handling
The process of managing signals sent to processes, indicating events like interrupts.
IPC (Inter-Process Communication)
Mechanisms provided by the OS that allow processes to communicate with each other.
Synchronous vs Asynchronous
Synchronous operations wait for a task to be completed, while asynchronous operations proceed without waiting.