Kernels and Processes Process Dual-mode operation Mode transfer Implementation of mode transfer x86 Mode transfer Secure system call System upcalls Concurrency and Threads Thread Comparison between processes and threads Thread data structures Thread life cycle Thread models Synchronisation Atomic operation Critical section Race condition Too much milk problem Bounded buffer problem Lock Condition variable Semaphore Deadlock Scheduling Separation of mechanism and policy