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

Social Engineering Attacks

Blog banner

Lemon and Chilli Pickle (Limbu Mirchi Achar)

Blog banner

TOGETHER WE CAN CONQUER #team

Blog banner

From Loom to Luxury: How Patola Elevates Modern Wardrobes

Blog banner

Guidelines for a low sodium diet.

Blog banner

10 Interesting facts you should know!!!

Blog banner

"Audit" In Data Science

Blog banner

Top 3 Places To Stay In Vienna

Blog banner

Message Passing in OS

Blog banner

Retiring ISS

Blog banner

Different types of e-commerce platforms or advantages and disadvantages

Blog banner

Virtualization

Blog banner

Sleep Matters: The Science Behind Toddler Naps

Blog banner

KEAP MANAGEMENT SYSTEM

Blog banner

Types Of scheduling

Blog banner

WORKFRONT SOFTWARE

Blog banner

Security and E-mail

Blog banner

Google classroom

Blog banner

Mendeley (management software)

Blog banner

objectives and functions of operating system

Blog banner

Real Time Scheduling

Blog banner

Memory Management in Operating System

Blog banner

Navigation With Indian Constellation(NavIC) by ISRO in Geographic Information Systems

Blog banner

BEAUTY IS IN THE EYE OF THE BEHOLDER

Blog banner

RACI model in IT services

Blog banner

Hello World

Blog banner

Data Lakes: A Key to Modern Data Management

Blog banner

SMARTSHEET

Blog banner

Design Considerations for Disk Cache Management

Blog banner

Mesh Topology

Blog banner

Operating System

Blog banner

Password Generator - Lisp

Blog banner

Tools to support CSI activities

Blog banner

"The Benefits of Using GIS in Agriculture"

Blog banner

The Impact of Cyber Forensics on Corporate Governance and Compliance

Blog banner

A Happier Workplace Starts with Healthy Lunches by Meal Maharaj

Blog banner

KPMG (Klynveld Peat Marwick Goerdeler)

Blog banner

Understanding - Proof of Work!

Blog banner

Sweet and Sour Mango Pickle (Gol Keri)

Blog banner

Top 10 Logos and their meanings

Blog banner

Defining youtubr

Blog banner

IOT Hacking Techniques

Blog banner