Open In App

Thread Models in Operating System

Last Updated : 10 Feb, 2022
Improve
Improve
Like Article
Like
Save
Share
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.

 

 


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads