linux.conf.au, January 2003 PRINCIPLES: System Calls & Traps We call these "user context" Doing work for a process Process accessed using the "current" global variable, eg pid = current->pid; We can switch to other tasks voluntarily, by calling "schedule()" Sometimes called "sleeping". We can be preempted by other tasks, too, unless we say not to. Higher priority tasks take over the CPU. Only if CONFIG_PREEMPT=y