Open In App
Related Articles

Thread Models in Operating System

Like Article
Save Article
Report issue

A thread is a light weight process which is similar to a process where every process can have one or more threads. Each thread contains a Stack and a Thread Control Block. There are four basic thread models : 

1. User Level Single Thread Model : 

  • Each process contains a single thread.
  • Single process is itself a single thread.
  • process table contains an entry for every process by maintaining its PCB.


2. User Level Multi Thread Model : 

  • Each process contains multiple threads.
  • All threads of the process are scheduled by a thread library at user level.
  • Thread switching can be done faster than process switching.
  • Thread switching is independent of operating system which can be done within a process.
  • Blocking one thread makes blocking of entire process.
  • Thread table maintains Thread Control Block of each thread of a process.
  • Thread scheduling happens within a process and not known to Kernel.


3. Kernel Level Single Thread Model : 

  • Each process contains a single thread.
  • Thread used here is kernel level thread.
  • Process table works as thread table.


4. Kernel Level Multi Thread Model : 

  • Thread scheduling is done at kernel level.
  • Fine grain scheduling is done on a thread basis.
  • If a thread blocks, another thread can be scheduled without blocking the whole process.
  • Thread scheduling at Kernel process is slower compared to user level thread scheduling.
  • Thread switching involves switch.



Last Updated : 10 Feb, 2022
Like Article
Save Article
Share your thoughts in the comments
Similar Reads