This document discusses processes, threads, and multithreading. It covers:
- Processes have code, data, heap, and stack memory sections. Processes can be in new, ready, running, waiting, or terminated states.
- Each process has a Process Control Block storing its state, IDs, registers, scheduling info, memory management info, and I/O status.
- Threads are units of CPU utilization with a program counter, stack, and registers that can run concurrently in a process, sharing code and data.
- Multithreading models map user to kernel threads, like many-to-one, one-to-one, or many-to-many. Linux implements threads as