Explain the methods of implementing interacting processes, Computer Engineering

Assignment Help:

Explain any two methods of implementing interacting processes.

Two methods of implementing interacting process are given below:

(i) Shared memory solution: In this scheme requires that such processes share a common buffer pool and the code for implementing the buffer is written through the application programmer.

For illustration, a shared-memory solution can be given to the bounded- buffer problem. The producer and consumer processes share the subsequent variables:

#define BUFFER_SIZE 10

Typedef struct{

..........

 }item;

Item buffer[BUFFER_SIZE];

int in=0;

int out=0;

The shared buffer is implemented like a circular array along with two logical pointers: in/out. The variable in-points to the next free position into the buffer, out-points to the first full position into the buffer. The buffer is empty while in==out; the buffer is full while (( in + 1)%BUFFER_SIZE)==out.

The producer process has a local variable nextProduced wherein the new item to be produced is stored:

while(1){

/* produce and item in nextProduced */ While(((in + 1)%BUFFER_SIZE)==out)

; // don't do anything

Buffer[in]=nextProduced;

in =(in+1)% BUFFER_SIZE;}

The consumer process has a local variable nextConsumed in which the item to be consumed is stored:

while(1){

while(in==out)

; // don't do anything

nextConsumed = buffer[out];

out=(out +1)% BUFFER_SIZE;

/* consume the item in nextConsumed */}

(ii) Inter process Communication: The OS gives the means for cooperating processes to communicate with each other through an inter-process communication (IPC) facility. IPC gives a mechanism to allow processes to communicate and to synchronize their actions without sharing similar address space. IPC is particularly helpful in a distributed environment where the communicating processes may reside on various computers connected with a network. IPC is best implemented through message passing system where communication among the user processes is accomplished by the passing of messages. An

Inter-process communication facility gives at least the two operations: send(message) and receive(message).


Related Discussions:- Explain the methods of implementing interacting processes

What is synchronous message passing, Q. What is Synchronous message passing...

Q. What is Synchronous message passing? In Synchronous message passing is executed on synchronous communication network.  In that case sender and receiver processes should be

First-order inference rules, First-Order Inference Rules: Here now we ...

First-Order Inference Rules: Here now we have a clear definition of a first-order model is that we can define soundness for first-order inference rules in the same way such we

Define rules for evaluating the boolean expression, Define Rules For Evalua...

Define Rules For Evaluating the Boolean Expression? Generally, the following rules must always be followed when evaluating the Boolean expression: Primary, perform all in

Carry save addition and generated and propagate function, Explain carry sav...

Explain carry save addition (CSA) process. Ans: Instead of allowing the carries ripple along the rows, they can be saved and then introduced into the next roe at the right wei

Describe characteristics needed for an e-commerce server, Describe the addi...

Describe the additional characteristics needed for an e-commerce server? E-commerce services need dynamic configuration abilities and seasonal and every day service configurat

What is the principle of locality, What is "the principle of locality"? ...

What is "the principle of locality"? It's the nature of the processes that they refer only to the small subset of the total data space of the process. I.e. the process frequ

What is a crosstab query wizard, What is a crosstab query wizard? A wiz...

What is a crosstab query wizard? A wizard that helps us to show the data in a two-dimensional tabular format is the crosstab query wizard. You can use this to make queries that

What are the types of operations required for instructions, What are the va...

What are the various types of operations required for instructions?  Data transfers among the main memory and the CPU registers Arithmetic and logic operation on data

What is slack, What is slack? 'Slack' is the amount of time you have wh...

What is slack? 'Slack' is the amount of time you have which is measured through while an event ‘really happens' and while it ‘should happen’. The term ‘really happens' can a

Define software is in machine language or not, Define Software is in machin...

Define Software is in machine language or not Software is in machine language, today it is often developed by first writing in a high-level language or an assembly language or

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd