wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

semaphores

profile
Khyati Sanghavi
Aug 14, 2024
0 Likes
0 Discussions
50 Reads

Khyati sanghavi ,53003230018

Semaphores

A semaphore is an integer variable used for signalling among processes. It has three atomic operations:

  1. Initialisation: The semaphore is initialised with a non-negative integer value, which represents the number of available slots or resources.
  2. Decrement (semWait): When a process wants to access a shared resource, it decrements the semaphore value. If the resulting value is non-negative, the process can proceed. If the value becomes negative, the process is blocked and added to a waiting queue.
  3. Increment (semSignal): When a process releases a shared resource, it increments the semaphore value. If there are processes waiting in the queue, one of them is awakened and allowed to proceed.

How Semaphores Work

The value of a semaphore determines how many processes can proceed without blocking. When a process decrements the semaphore and the value becomes negative, it means that there are no more available slots or resources. The process is then blocked, waiting for another process to release a resource and increment the semaphore.

When a process increments the semaphore, it signals that a resource has been released. If there are processes waiting in the queue, one of them is awakened and allowed to proceed. This process can then decrement the semaphore and access the shared resource.

Advantages of Semaphores

  • Supports coordination between multiple processes
  • Provides a flexible and robust way to manage shared resources.
  • It can be used to implement critical sections in a program.
  • It can be used to avoid race conditions.

Disadvantages of Semaphores

  • It Can lead to performance degradation due to overhead associated with wait and signal operations.
  • Can result in deadlock if used incorrectly.
  • It can cause performance issues in a program if not used properly.
  • It can be difficult to debug and maintain.
  • It can be vulnerable to certain types of attacks, such as denial of service attacks.

Comments ()


Sign in

Read Next

SMARTSHEET MANAGEMENT SYSTEM

Blog banner

Video games

Blog banner

In the world of Technology...

Blog banner

What Makes Patola the Queen of Silk?

Blog banner

What is Virtual Memory

Blog banner

File management -disha parekh

Blog banner

S-Tool : Steganography

Blog banner

Interrupts in operating system.

Blog banner

What is 'Multi-core and Multi-threading' ?

Blog banner

IT GOVERNANCE

Blog banner

"Geographic Information Systems (GIS) and its Applications in Urban Planning"

Blog banner

Review on Cyber Forensics and its Analysis Tools

Blog banner

Fault Tolerance in an Operating System

Blog banner

Sensory Play for Toddlers: Boosting Curiosity Through Touch, Sound, and Colour

Blog banner

Os assignment

Blog banner

Data carving - using hex editor

Blog banner

Modern Operating Systems

Blog banner

Memory management

Blog banner

Street foods

Blog banner

PROCESS CONTROL BLOCK IN OS

Blog banner

Why Are So Many Adults Getting Diagnosed with ADHD?

Blog banner

Deadlock in Operating systems

Blog banner

21ST CENTURY PATRIARCHY

Blog banner

Man In The Middle Attack

Blog banner

PHONE TECHNOLOGY

Blog banner

Unlocking the Secrets: Basic Operations of Computer Forensic Laboratories

Blog banner

1 Dentist in Maroubra, Sydney and her 10 obsessions

Blog banner

Segmentation and paging concept

Blog banner

Memory Management

Blog banner

Solitary Play Activities for Preschoolers: Types and Benefits

Blog banner

SNAPCHAT

Blog banner

Race Condition in Operating Theatre

Blog banner

Malware Detection Techniques for Mobile Devices

Blog banner

The Role of cryptography in cyber security

Blog banner

Financial Fraud Detection

Blog banner

How to use open SSL for web server - browser communication

Blog banner

Cloud Technology and its Implications for Entrepreneurship

Blog banner

The Joy of Giving: How Festivals Teach Children Empathy and Gratitude

Blog banner

Music

Blog banner

Memory Management

Blog banner

Life

Blog banner

MySQL

Blog banner