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

Disk scheduling

Blog banner

DIGITAL ECONOMY

Blog banner

Business-to-Business

Blog banner

10 Reasons to date your best friend

Blog banner

Blockchain in IoT Applications

Blog banner

Monday. com App

Blog banner

Types of Hackers

Blog banner

Layers Of Blockchain

Blog banner

Business Intelligence v/s Big Data

Blog banner

Types of E-Commerce

Blog banner

The Secure Software Development Life Cycle (SDLC)

Blog banner

Dove’s Real Beauty Campaign- Case Study

Blog banner

Operating system evolution

Blog banner

Compromising Mobile Platforms

Blog banner

Human Error: The weakest link in Cybersecurity

Blog banner

Concurrency management in operating systems

Blog banner

operating system

Blog banner

Teenagers of Today

Blog banner

BUFFER OVERFLOW_142

Blog banner

Mail merge

Blog banner

DATA VAULT

Blog banner

Current Trends in GIS and Remote Sensing(Ocean Applications)

Blog banner

Different types of scam frauds

Blog banner

AI and Data Science: Revolutionizing Industries

Blog banner

What is Email? Uses of Emails

Blog banner

Elegant fashion style

Blog banner

How India made the GIS its Own, and its Use in Infrastructural Developments

Blog banner

Human factor, a critical weak point in the information security of an organization’s IOT

Blog banner

Hosting basics

Blog banner

History of ITIL

Blog banner

How to setup a professional looking business account on Instagram?

Blog banner

OS Assignment 3

Blog banner

Security issues

Blog banner

Study of Sniffing Tools

Blog banner

Developments in Modern Operating Systems

Blog banner

TRIGGERS IN DATABASE

Blog banner

Instagram

Blog banner

JUSTICE FOR EVERY “BEZUBAAN ANIMAL”

Blog banner

Kafka - A Framework

Blog banner

Dancing Classes In Mumbai

Blog banner

A Survey of Anti-Forensic Techniques: Methods, Challenges, and Countermeasures

Blog banner

Memory Management

Blog banner