wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Operating System

profile
Nandini Makwana
Jul 03, 2024
0 Likes
0 Discussions
62 Reads

ASSIGNMENT 

OPERATING SYSTEM

TOPIC :- Threads In Operating System

Define Threads:-

- The Process is more complex and subtle .  The Two embodies are separated and potentially independent 
   One related to resource ownership and Another related to Executing 
- The distinction led to the development in many operating systems of a construct is know as the Thread 
- Thread is smallest sequence of programmed instruction that can be managed independently by a schedular.
- Threads are the basic unit of CPU utilization and it consists of three components Threads ID , Program counter(PC) , Register Set 
- Thread is existed within the process and it shares the resources such file description , memory . It also allow the concurrent execution of tasks 
  within single process and executed independently as same its also shares the resources to other threads in the same process.

Features of Threads:- 

1. Threads  allows  multiple tasks to be executed concurrently within a single process . It enables the utilization of resources and improves the  
     overall system performance  . The Concurrency is stable is constant in process 
2. Threads are light weight as they share resources such as memory file description and other process 
3. Threads within the same process shares the memory space and files and allows to communicate easily . The space in memory  simplifies data
      sharing .
4. Applications which are used by threads for tasking like handling user interfaces and background remain responsiveness to user input while       
     performing the tasks 
5. It provides flexibility in programming for developers to perform applications and multiple executions .

 MULTICORE AND MULTITHREADING 

1)Multicore:-
    
- It refers to the process of architecture that integrates multiple independent processing units in a single circuit such as might occur workstation , video-games , personal computer running processor , raises issues of performance and applications design .
-  Multicore processors occurs concurrent execution of multiple tasks  it allows each core to handle its own thread of instructions simultaneously 
- The potential performance benefits of a multicore organisations depend on the ability to exploit the parallel resources available to the application 
-single application running on a multicore system 
Amdahl's Law 
speedup = time to execute program on a single processor / time to execute program on N parallel processors  = 1 / (1-f) + f/N 
- Multicore processors represents a significant advancement in processor , enabling higher performance , multitasking etc.

2) Multithreading:-

- multithreading refers to ability of a CPU to execute multiple threads concurrently multithreaded applications are characterized by having a small number of highly threaded processes . Example:- Threaded applications include Lotus Domino or Siebel 
CRM (customer relationship manager)
- Multithreading allows multiple threading within the same process independently it improves overall applications performance by overlapping computations and other task run simultaneously 
- Threads can be implemented at many different level such as 
1. User level thread
2. Kernel level thread 
- Multithreading is a superb technique in OS and software it enables efficient parallel executions and applications performs on multiple tasks concurrently 

 

Two Types of Threads:- 

There are Two Broad Categories Of Thread Implementation User-Level Thread(ULTs) and Kernel-Level Thread(KLTs)

1)User Level Thread
2)Kernel Level Thread

1)User Level Thread:-

- User level thread refers to the thread that are managed by the user level thread library without the support of kernel level thread . It creates the scheduled and manages within the users space of a single process 
- ULTs are light weighted because they are managed at the application level without involving KLTs . The context of switching between ULTs is faster than  KLTs.
-  ULTs can Run on any Operating system .No changes are required to the underlying
kernel to support ULTs . The threads library is a set of application level functions shared by all application
- scheduling for user level thread is done by the thread library or application using algorithms.
- ULTs are usually blocking nature if in the process one thread is blocked all threads within that process are blocked because the kernel unaware of these threads and cannot schedule other threads from the same process which in on going .

2)Kernel Level Thread:- 

- Kernel Level Thread are Threads refer to manage directly by the operating system kernel as ULTs is managed by the user space of a single process kernel level thread are supported and scheduled by the kernel level itself 
- KLTs are supported and managed by the operating system kernel it records and maintain all the information about each thread and schedules them for execution 
- KLTs is non-blocking means if one thread is blocked it can schedule another thread for execution on the same or different system it allows concurrent execution of multiple  threads within the same process
- Compared to ULTs , KLTs are more resource intensive for creating managing and operating the data each KLTs requires the data structure and context 
- Scheduling for KLTs is done by operating system scheduler it uses the algorithms to decide when and for how much long period each thread should run bases on priorities , states and system.


Comments ()


Sign in

Read Next

Kernel in Operating System

Blog banner

Modern OS

Blog banner

A Heartfelt Act of Kindness

Blog banner

What are Tenders its various types

Blog banner

Modern Operating Systems

Blog banner

Cache memory

Blog banner

Disk Scheduling

Blog banner

Data Lake

Blog banner

What is Data, Information and Knowledge?

Blog banner

Deadlock

Blog banner

Indian Culture and Tradition

Blog banner

Population

Blog banner

Types of Malware in Cyber Security

Blog banner

Virtual machine

Blog banner

Pandas Matrix Applications

Blog banner

CRISP-DM Methodology

Blog banner

Deadlock and Starvation

Blog banner

My Favorite Country

Blog banner

Key to success in Sports

Blog banner

Ethical Issues in Data Science and Role of Data Science in Smart Cities

Blog banner

The Khan mehtab transforming the modular switches

Blog banner

Virtual memory

Blog banner

Virtual Machine

Blog banner

The Five Steps of Data Science

Blog banner

Starting Android Activity Using Intent

Blog banner

RAID

Blog banner

Data Warehouse Bus Matrix

Blog banner

An Approach To Spyware Detection And Removal

Blog banner

Should you be using a mouthwash? Know from the experts

Blog banner

LIFEHACKER

Blog banner

Short note on expert system

Blog banner

On-Page SEO

Blog banner

Service Strategy principles

Blog banner

Friendship

Blog banner

TOGETHER WE CAN CONQUER #team

Blog banner

10 Interesting Facts about Attack on Titan

Blog banner

Data Visualization- Importance and tools (Tableau,Power BI, Matplotlib)

Blog banner

The Impact of Cyber Forensics on Corporate Governance and Compliance

Blog banner

The Role of Cyber Forensics in Criminology

Blog banner

Types of Hackers

Blog banner

Paralysis/Paralysis Stroke

Blog banner

How Cyber Forensics use in AI

Blog banner