Notes on Processes

This note will be loosely structured – it’s just to help me organize my thoughts around the OS Process abstraction (mostly Unix processes) and prepare for the first exam in CS6200.

Light-weight Processes

In SunOS (see notes on Multithreading in SunOS) there is a pool of light-weight processes, or LWPs, that are backed one-to-one by a kernel thread.

User-level threading libraries use these LWPs to back the user-level threads. Since the scheduling now happens at user level, the user-level thread library can context switch between threads without having to enter the kernel.

Each LWP has its own private set of registers and signal mask.

Process States

READY
Ready for the Scheduler to run the process, but not currently running
RUNNING
Process is currently being executed by the OS. Processes will move between RUNNING and READY as other processes get a chance to run
BLOCKED
Process is blocked on something (e.g. I/O) and not ready to be scheduled

Resources