previous | start | next

Uthreads Library Assignment

This library manages threads in the process that uses the uthread functions, including scheduling and synchronization. However, only one thread in the process executes at a time and scheduling is non-preemptive!

So this is the 2-level model but with a single "kernel" thread.

A running user uthread can yield. This causes the uthread scheduler to select another thread to execute. Scheduling is based on uthread priority. uthread condition variables are to be implemented. Unlike pthreads, wait on a uthread condition variable does not return spontaneously. This can make some code simpler (such as writing code for a barrier).



previous | start | next