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

Starvation

Blog banner

Product Discount Calculator

Blog banner

Evolution of operating systems

Blog banner

Environmental Management using GIS

Blog banner

Data Lakes: A Key to Modern Data Management

Blog banner

The Sunny Side of Instagram

Blog banner

What do you mean by online marketing and why do you need to know about it

Blog banner

5 Stages of Digital Marketing

Blog banner

Social engineering in cyber security

Blog banner

What is online marketing and why do you need to know about it ?

Blog banner

Concurrency:Deadlock and Starvation

Blog banner

Basic Security For SOAP Services

Blog banner

Raising Emotionally Intelligent Students: The Classroom Beyond Academics

Blog banner

LINUX VSERVER VIRTUAL MACHINE ARCHITECTURE

Blog banner

Twisted world

Blog banner

Never give up

Blog banner

Objectives and Functions of Operating System

Blog banner

Classification Algorithms (Decision trees, SVM, Logistic regreession)

Blog banner

Throttle engine ’Sneak peek into the future’

Blog banner

Security in Cloud Computing Environment using cryptography - Rushabh Modi

Blog banner

File and File System Structure

Blog banner

Multiprocessor and Multicore Organization

Blog banner

Music

Blog banner

IP Address

Blog banner

Supervised and unsupervised learning

Blog banner

What is Virtual Memory

Blog banner

Deadlock

Blog banner

Retiring ISS

Blog banner

Why You Should Not Use Free VPNs

Blog banner

Security issues

Blog banner

OS PROCESS DESCRIPTION AND CONTROL-SARVAGYA JALAN

Blog banner

TRAIN TRAVELING

Blog banner

ONLINE NEWSROOMS

Blog banner

Constrained Management in IT

Blog banner

Why is it hard to design an Operating Systems ?

Blog banner

Embaded operating system

Blog banner

“Shot on iPhone” : A campaign by Apple that turned into a prodigy

Blog banner

Trello ( management software)

Blog banner

internet email and it's applications

Blog banner

Cryptanalysis tool

Blog banner

Digital black market or dark net poses a national security threat?

Blog banner

The IT Service Lifecycle

Blog banner