wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

semaphores in os

profile
Dia Jha
Aug 15, 2024
0 Likes
0 Discussions
73 Reads

In Operating Systems: Semaphores


Semaphors are one of the most important concepts in OS,it is mainly used to synchronise and control access on any concurrent process or threads. They protect against race conditions and make sure that multi-process environment uses resources effectively, and safely.


 1. Definition and Types


 A semaphore is a synchronization tool,that uses an integer value for controlling access to any shared resource. The semaphore can work after adjustment of its value by two atomic operations


– Wait (P of Proberen): Decreases the semaphore value. Is the value goes below 0 then until it becomes positive again, that process will be on hold.


- Signal (V or Verhogen): This processes signals increase the value of semaphore. if value is less then calls up blocked process.


There are two kind of semaphores:-


Binary Semaphore (Mutex): This can only take two values 0 and 1. It is used to do compliant access on one resource.


- Counting Semaphore: can yield any integer value and they are used to control access of a finite number of instances for a resource.


 2. Usage


Some of the scenarios using semaphores are as follows:


Mutex: mutual exclusion, which allows only a single process or thread to enter the critical section of the code.


- Resource Sharing: It manages access to a pool of identical resources—such as database connections.


Process Synchronization- It controls running of the processes in a certain order, it allows only specific operations to conduct at some time.


3. Implementation and Challenges


This signal is generally created in the kernel of an operating system and makes use of specific functions. Semaphores come with a few challenges out of the box:


On the other hand, Deadlocks can occur if processes are waiting indefinitely for a semaphore.


-Priority Inversion: Prevent a high-priority process from moving forward by a low-priorit.


– Starvation: Some processes may never get access to a semaphore if continuous acquisition of it is being done by other processes.


 4. The Pro 's and Con's 


- Advantages:


Simple but efficient synchronization mechanism.


Allows control over the execution of processes and access to resources.


- Disadvantages:


 Disadvantages- Difficult to implement correctly (deadlocks, priority inversion).


Semaphores are difficult to be debugged


Summary


Semaphores are used to synchronize or coordinate execution of process among themselves and helps lot in maintaining access / modification order of shared resources. Appropriate use of semaphores Improves the performance and reliability in multi-process environment.


Comments ()


Sign in

Read Next

IO Buffers

Blog banner

Data Security must be your Priority!

Blog banner

Number Guessing game --lisp

Blog banner

Gamer life

Blog banner

The art of being alone

Blog banner

Balance

Blog banner

Data Visualization – Importance and tools (Tableau, Power BI)

Blog banner

Evolution of Operating system

Blog banner

Introduction to Solidity Programming for Blockchain Development

Blog banner

My Favorite Sportsperson

Blog banner

Software Piracy & Online Data Protection in Digital World

Blog banner

What is metaverse?

Blog banner

?How long does wisdom tooth pain last?

Blog banner

Importance of Morning Routines for Students During the Festive Season

Blog banner

Uniprocessor Scheduling

Blog banner

Top 3 Places To Stay In Vienna

Blog banner

FAMILY WHERE LIFE BEGINS....

Blog banner

Facebook Shut Down an AI Program!!! Facebook AI bots became Terminators???

Blog banner

Cyber Crime Investigation In The Era Of Big Data

Blog banner

The launch of UniMap by HERE

Blog banner

Cyber-crime Investigation and Future Directions

Blog banner

Memory Management

Blog banner

The Difference Between Plaque and Tartar Explained Simply

Blog banner

MODERN OPERATING SYSTEM

Blog banner

Photography

Blog banner

Social Engineering Attacks

Blog banner

File Systems in OS.

Blog banner

Remote Work in 2026

Blog banner

What if COVID does not exist!

Blog banner

LINUX VSERVER VIRTUAL MACHINE ARCHITECTURE

Blog banner

Jamming Attacks in Network Security: Disrupting Communication Signals

Blog banner

Os(Computer security threats)

Blog banner

Starvation

Blog banner

Distributed Denial of Service (DDoS) attack

Blog banner

Uniprocessor Scheduling

Blog banner

Predicting Student Performance with Data Science

Blog banner

Deadlock

Blog banner

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

Blog banner

"The Benefits of Using GIS in Agriculture"

Blog banner

Direct Memory Access

Blog banner

?What Your Dentist Notices The Moment You Sit In The Chair

Blog banner

Modern operating system

Blog banner