Open In App
Related Articles

Thread Models in Operating System

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

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
Previous
Next
Share your thoughts in the comments
Similar Reads