Networking sockets with the use of shared memory, Operating System

Assignment Help:

Q. Compare the utilization of networking sockets with the use of shared memory as a mechanism for communicating data between processes on a single computer. What are the merits of each method? When might each one be preferred?

Answer: Utilizing network sockets rather than shared memory for local communication has a number of advantages. The major advantage is that the socket programming interface features a rich set of synchronization features. A process can effortlessly determine when new data has arrived on a socket connection how much data is present and who sent it. Processes are able to block until new data arrives on a socket or they can request that a signal be delivered when data arrives. A socket as well manages separate connections. A process with a socket open for receive is able to accept multiple connections to that socket and will be told when new processes try to connect or when old processes drop their connections.

Shared memory provided none of these features. There is no means for a process to determine whether another process has delivered or else changed data in shared memory other than by going to look at the contents of that memory. It is unfeasible for a process to block and request a wakeup when shared memory is delivered as well as there is no standard mechanism for other processes to establish a shared memory link to an existing process.

Nevertheless shared memory has the advantage that it is extremely much faster than socket communications in many cases. When data is transmit over a socket it is typically copied from memory to memory multiple times. Shared memory updates necessitate no data copies- if one process updates a data structure in shared memory that update is instantaneously visible to all other processes sharing that memory. Sending or else receiving data over a socket requires that a kernel system service call be made to initiate the transfer but shared memory communication can be performed completely in user mode with no transfer of control required.

Socket communication is usually preferred when connection management is significant or when there is a requirement to synchronize the sender and receiver. For instance server processes will typically establish a listening socket to which clients can connect when they want to use that service. Once the socket is conventional individual requests are as well sent using the socket as a result that the server can easily determine when a new request arrives and who it arrived from. In some cases nevertheless shared memory is preferred. Shared memory is frequently a better solution when either large amounts of data are to be transferred or when two processes require random access to a large common data set. In this case nevertheless the communicating processes may still require an extra mechanism in addition to shared memory to achieve synchronization among them. The X Window System a graphical display environment for UNIX is a good illustration of this most graphic requests are sent over sockets however shared memory is offered as an additional transport in special cases where large bitmaps are to be displayed on the screen. In this situation a request to display the bitmap will still be sent over the socket however the bulk data of the bitmap itself will be sent via shared memory.


Related Discussions:- Networking sockets with the use of shared memory

Determine the value to be loaded in relocation register, Refer a program wi...

Refer a program with a linked origin of 5000. Suppose the memory area allocated to it have the start address of 70000. Determine the value to be loaded in relocation register?

Mechanism by which one segment belong to two address spaces, Q. Explain a m...

Q. Explain a mechanism by which one segment could belong to the address space of two different processes. Answer: Because segment tables are a collection of base-limit register

What is process control block, What is process control block? Every pro...

What is process control block? Every process is represented in the OS by a process control block. It has many pieces of information associated with an exact process.

What is the benefits os co-operating process, What is the benefits OS co-op...

What is the benefits OS co-operating process? Information sharing. Computation speeds up. Modularity. Convenience.

Student, Explain how the os implements virtual memory phenomenon.

Explain how the os implements virtual memory phenomenon.

What is starvation?, What is starvation? A main problem related to dead...

What is starvation? A main problem related to deadlock is starvation. Starvation is the circumstances where process waits indefinitely within the semaphore. Indefinite blocking

Components of the r/e system, What components of the R/e system initiate th...

What components of the R/e system initiate the start of background jobs at the specified time? The batch scheduler initiates the begin of background job.  The dispatcher then s

Define drawback of distributed systems, Define drawback of Distributed syst...

Define drawback of Distributed systems Reliability is a drawback of Distributed systems

Correct the code for visitor and vehicle portion, Gopher Gallery consists o...

Gopher Gallery consists of a shopping mall and a cart ride that covers the 150 acre habitat. There are m visitors and n single-person vehicles. Visitors stroll around the mall at t

Drawbacks of least-recently used algorithm, The question of fairness, regar...

The question of fairness, regarding page eviction, is a hard one. How do we decide what is fair? Many operating systems use global LRU, where pages from all processes are managed t

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