Sample Essay

Thread takes one of the two forms either single or multiple. Single threaded processes can perform one task at a time where as if a process has multiple threads of control then it can perform more than one task at a time Support for threads is provided either at user-level for user threads or at the kernel-level for the kernel threads. User threads are supported above the kernel and are managed without kernel support, where as kernel threads are supported and managed directly by the operating system.

There exists a relationship between the user and kernel threads, which could be map in one of the three ways. First way is the many-to-one model, in which user-level threads are mapped to one kernel thread. Thread management is done by the thread library in user space, so it is efficient but the entire process will block if a thread makes a blocking system call. Also, because only one thread can access the kernel at a time, multiple threads are unable to run in parallel on multiprocessors.  Second is the one-to-one model which maps each user thread to a kernel thread. It provides more concurrency as compared to the first model and allows multiple threads to run in parallel on multiprocessors. The drawback in this model is that for each user thread one kernel thread is also created and creation of this kernel thread affects the performance of an application. Third way is the many-to-many model which multiplexes many user-level threads to a smaller or equal number of kernel threads. True concurrency is not achieved because the kernel can schedule only one thread at a time (Silberschatz 129).

These are just excerpts of essays please access the order form for custom essays, research papers, term papers, thesis, dissertations, book reports and case studies.