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

The Laws of Karma

Blog banner

Paginng In OS

Blog banner

Virtual machine and virtualizing

Blog banner

From Model Mistakes to Metrics

Blog banner

Fitness regime by Deepesh

Blog banner

Race Condition

Blog banner

IOT- Internet Of Things

Blog banner

Street foods

Blog banner

Starvation

Blog banner

Full Disk Encryption on Digital Forensics

Blog banner

Introduction my self

Blog banner

Threat management

Blog banner

Hey Aryan here

Blog banner

Electronic Funds Transfer

Blog banner

Defining youtubr

Blog banner

PROCESS STATES OF OPERATING SYSTEM

Blog banner

Diwali

Blog banner

Cyber-crime Investigation and Future Directions

Blog banner

Why Friendship at Work is Important

Blog banner

Cyber Crime Investigation In The Era Of Big Data

Blog banner

Understanding Regression Analysis

Blog banner

Cyber Attacks -- Trends Patterns and Security Countermeasures

Blog banner

Memory management and virtual memory

Blog banner

Smitten Kitchen Keepers

Blog banner

Explain DBMS in Brief

Blog banner

Scala - a programming tool

Blog banner

THE DESIRE OF MANY

Blog banner

Development Of Modern Operating System

Blog banner

Principles of Service Operation

Blog banner

Advantage of freedom

Blog banner

Building a Simple Doctor Appointment System in Common Lisp

Blog banner

Virtual Machine

Blog banner

Yahoo! mail

Blog banner

Virtual Memory

Blog banner

E-commerce

Blog banner

Operating system evolution

Blog banner

Risk mitigation and management

Blog banner

Making Money through Instagram

Blog banner

Modern Operating system

Blog banner

Memory heirachy (Operating system)

Blog banner

IT service level agreement

Blog banner

BITCOIN WALLET

Blog banner