wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Synchronization

profile
23 B Titiksha Shah
Aug 16, 2024
0 Likes
0 Discussions
116 Reads

Synchronization

The communication of a message between two processes implies some level of synchronization

between the two: The receiver cannot receive a message until it has

been sent by another process. In addition, we need to specify what happens to a

process after it issues a send or receive primitive.

Consider the send primitive first. When a send primitive is executed in a

process, there are two possibilities: Either the sending process is blocked until the

message is received, or it is not. Similarly, when a process issues a receive primitive,

there are two possibilities:

1. If a message has previously been sent, the message is received and execution

continues.

2. If there is no waiting message, then either (a) the process is blocked until

a message arrives, or (b) the process continues to execute, abandoning the

attempt to receive.

Thus, both the sender and receiver can be blocking or nonblocking. Three

combinations are common, although any particular system will usually have only

one or two combinations implemented:

• Blocking send, blocking receive: Both the sender and receiver are blocked until

the message is delivered; this is sometimes referred to as a rendezvous . This

combination allows for tight synchronization between processes.

• Nonblocking send, blocking receive: Although the sender may continue on,

the receiver is blocked until the requested message arrives. This is probably

the most useful combination. It allows a process to send one or more messages

to a variety of destinations as quickly as possible. A process that must receive

a message before it can do useful work needs to be blocked until such a message

arrives. An example is a server process that exists to provide a service or

resource to other processes.

• Nonblocking send, nonblocking receive: Neither party is required to wait.

The nonblocking send is more natural for many concurrent programming

tasks. For example, if it is used to request an output operation, such as printing, it

allows the requesting process to issue the request in the form of a message and then

carry on. One potential danger of the nonblocking send is that an error could lead

to a situation in which a process repeatedly generates messages. Because there is no

blocking to discipline the process, these messages could consume system resources,

including processor time and buffer space, to the detriment of other processes and

the OS. Also, the nonblocking send places the burden on the programmer to determine

that a message has been received


Comments ()


Sign in

Read Next

GIS

Blog banner

What is E-commerce

Blog banner

How Harshad Valia International School is nurturing India’s Young Minds?

Blog banner

Security in Cloud Computing Environment using cryptography - Rushabh Modi

Blog banner

Cloud Computing: Threats and Vulnerabilities

Blog banner

Types Of Interrupt

Blog banner

Multiprocessor and scheduling

Blog banner

Eating Well With Meal Maharaj on Busy Workdays Without Cooking

Blog banner

Deadlock

Blog banner

Types of Threads

Blog banner

Little Habits, Big Impact: Daily Preschool Routines That Shape the Future

Blog banner

Why Peace River Is Florida’s Most Underrated Outdoor Adventure Destination?

Blog banner

E-Cash (Electronic Cash)

Blog banner

E-Governance

Blog banner

BrainGate Technology

Blog banner

Memory heirachy (Operating system)

Blog banner

Why Inconel 625 and Monel 400 Remain Unbeatable in Refinery Applications?

Blog banner

What Makes Patola the Queen of Silk?

Blog banner

Big O Notation

Blog banner

Virtual Machine

Blog banner

Big Data

Blog banner

Busted : Common Web Security Myths

Blog banner

Geographic Information Systems(By aditi Unnikrishnan)

Blog banner

MODERN OPERATING SYSTEM

Blog banner

Consumer to consumer Business model

Blog banner

Autonomy Vehicles: Future Ki Gadiya

Blog banner

All you need to know about Cassandra

Blog banner

M commerce

Blog banner

I/O Buffering

Blog banner

Subnet Masking

Blog banner

semaphores

Blog banner

STUDY OF SYSTEM HACKING TOOLS

Blog banner

Life lesson

Blog banner

Child labour

Blog banner

Is Brushing After Eating Damaging Your Teeth? (Fact or Myth)

Blog banner

IT Service as as Value Creation

Blog banner

semaphores in os

Blog banner

Service Strategy In ITSM

Blog banner

Self defence

Blog banner

"Mahakali cave"

Blog banner

Memory Management

Blog banner

How to setup a professional looking business account on Instagram?

Blog banner