wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Types of Threads

profile
Apeksha Harsora
Jul 11, 2023
0 Likes
0 Discussions
77 Reads

In operating systems, a THREADS refers to a sequence of instructions that can be executed independently by a processor. Threads are lightweight units of execution within a process and allow concurrent execution of multiple tasks within a single program. Example of a simple multi-threaded program: a web browser. When you open a web browser, it allows you to open multiple tabs and load web pages simultaneously. Each tab can be considered as a separate thread within the browser process. 

Types of Threads: 

User Level thread (ULT) – Is implemented in the user level library, they are not created using the system calls. Thread switching does not need to call OS and to cause interrupt to Kernel. Kernel doesn’t know about the user level thread and manages them as if they were single-threaded processes. 

Advantages of ULT –

1) Can be implemented on an OS that doesn’t support multithreading.

2) Simple representation since thread has only program counter, register set, stack space.

3) Simple to create since no intervention of kernel.

4) Thread switching is fast since no OS calls need to be made. 

Limitations of ULT –

1) No or less co-ordination among the threads and Kernel.

2) If one thread causes a page fault, the entire process blocks.

Kernel Level Thread (KLT) – Kernel knows and manages the threads. Instead of thread table in each process, the kernel itself has thread table (a master one) that keeps track of all the threads in the system. In addition kernel also maintains the traditional process table to keep track of the processes. OS kernel provides system call to create and manage threads.

Advantages of KLT –

1) Since kernel has full knowledge about the threads in the system, scheduler may decide to give more time to processes having large number of threads.

2) Good for applications that frequently block.

Limitations of KLT –

1) Slow and inefficient.

2) It requires thread control block so it is an overhead.

 


Comments ()


Sign in

Read Next

Classification Vs Clustring? What's the diffrence?

Blog banner

EVOLUTION OF MICROPROCESSOR

Blog banner

Cloud Forensic Tools And Storage :A Review Paper

Blog banner

Kernel in Operating System

Blog banner

Cyber Security in Quantum and Space Communication

Blog banner

MailChimp

Blog banner

How India made the GIS its Own, and its Use in Infrastructural Developments

Blog banner

How to kiss

Blog banner

Security issues in Sensor Networks and gathering admissible evidence in Network Forensics

Blog banner

Direct Memory Access

Blog banner

Power of words

Blog banner

INTRODUCTION

Blog banner

An Introduction To Quick Solutions Of International Dating Sites

Blog banner

Buffering

Blog banner

Philadelphia Experiment : Was it real?

Blog banner

Email Privacy

Blog banner

Malicious softwares

Blog banner

Pilgrimage at LOC: A privilege and a paradox

Blog banner

RAID

Blog banner

Understanding Univariate, Bivariate, and Multivariate Analysis in Data Science

Blog banner

Paging

Blog banner

Microsoft Windows Overview

Blog banner

Place to visit in pune

Blog banner

Incorporating Automation into Digital Forensics.

Blog banner

Blog on health and fitness

Blog banner

My Favorite Sportsperson

Blog banner

Rules and Regulations of Networking: "Standards and Protocols" - Part 2

Blog banner

Direct Memory Access

Blog banner

Dekkers Algorithm : Ensuring Safe Process Synchronization

Blog banner

How Puppet Shows and Role Play Teach Empathy to Preschoolers

Blog banner

My First Dream Bike

Blog banner

Delhi city

Blog banner

The Benefits of Practical Life Activities in Preschool

Blog banner

Direct memory access (DMA)

Blog banner

Different Types of Data

Blog banner

A-B-C of Networking: Part-3 (Topology [Bus & Star])

Blog banner

Esri India launches Policy Maps.

Blog banner

Emerging threats in cyber Forensics

Blog banner

Race Condition in Operating Theatre

Blog banner

Understanding Regression Analysis

Blog banner

Types of OS

Blog banner

Memory management

Blog banner