Warning:
JavaScript is turned OFF. None of the links on this page will work until it is reactivated.
If you need help turning JavaScript On, click here.
The Concept Map you are trying to access has information related to:
chapter 3 interprocess communication, blocking- waites for the message to return, synchronous primitive- because time has to be in sync -it blocks intil message is recieved -so process have to communicate and synchronize -they may use a buffer, also called a mailbox -the acknowledgment for the send or the message that has been recieve is put into a bfuffer until the respective process is unblocked, asynchronous primitive because method does not provide any means of synchronization -when send and receive primitives, control is immediately returned to the process to execute further statements. -are allowed t be productive and execute statements during this time that is non-productive for blocking counterparts.this is one reason why nonblocking message passing is very popular, of communication is most common when two processes do not share memory space, whether they are on physically different systems or the same system where each process has its own memory, many to one -there are many senders but one receiver -like implicit one to oneaddressing, the solitary receiver may receive from a single sender of a group -the receiver may receive from several or all the members of a group , many to many -there are multiple recievers and multiple senders -the most difficult task involved with this type of addressing involves ordering the message, the earliest and most rimitive type of interprocess communication mechanism. -pipes allow two processes to ommunicate through a finite size buffer implemented by the kernel -date communicated is stored n first in0first out order, input only -this type of parameter can only pass information to the server and is parallel to call-by-value, 1.stream sockets(implemented in tcp ip)and is used for highly reliable connection-oriented communication, run time -the client is bound to the server when the first call is made. the server sends the handle back along with other rpc return values., input and output only -this type of parameter can pass information to a server and the server can use this same parameter to pass information back to the client. this parameter type is generally implemented as call-by-value result, rpc call semantics -determine what happens to a repeat procedure call, polling-when a process using polling it executes a test primitive to determine if the relevant information is in the bufeer as indicated by the buffer status,this involves continuously checking the buffer end, thus using cpu resources, this also called busy wait, interprocess communication, parameter marshalling -for efficient communication to take place, these parameter and larger data structures must employ rpc marshalling -marshalling-involves flattening or packing the information in a compact manner to minimize the amount of information sent scross the network -method must be precise, compile time -this requires the server's address to be known and complied into the client's code.this is not he most flexible method but can be convenient if the application's configuration is expected to remain static, -two processes to communicate by physically copying the shared data to the other process's address space., at-least-one -guarantee that the remote procedure call will be executed at least once a maybe multiple times. this semantic does not specify or gaurantee which invocation of the procedure call will return a value but that some value will returned., interrupts-may also be utilized for non-blocking primitives -are more efficient since the process does not continuallt waste time checking the buffer, link time -the client requests the handle just before making a service request. in this case,the handle is put into the client's cache for use during future requests, one-to-one -may be explicit or implicit , at-most-once -usually implemented on stateful servers. this semantic requires a guarantee that repeat invocations of the same rpc will not be process by the server. a server generally checks its state iinformation table to identify repeat procedure calls, only requires the service name to be included as a parameter in a send message but not a particular process, -allow processes to communicate with remote processes connected via network by a simple (familiar)procedure call -allow programmer to communicate by message like others, but also by complex datastructes as parameter values as well as a return value -the caller is blocked while waiting on this return value -provide synchronization at the cost of concurrency much like blocked message-passing primitives -but since calling function is waiting on a return value, the calling function is blocked for a longer duration, by sending a message to the other process containing the shared data, output only -this type of parameters can only pass information form the server to the client. the client cannot utilize this parameter to send information to the server., last-of-many-call -semantics requires each invocation of a remote procedure call to contain an identifier.the client only accepts the return value of the most recent iinvocation, 2.datagram(implemented in udp ip) used for (potentially)unreliable connectionless communication, remote procedure calls, -more attractive to real-time apps, because does not incorporate the necessary overhead to ensure reliability makes this type more efficient , parameter types -there are three basic parameter types for remote procedure calls, 3.5 parameter type, requires the process you are communicating with to be explicitly named as a parameter, one to many there is only one sender to multiple recievers also called multicast communication -unlike one to one implicit addressing, all members of the receiving group receiving the group messages , group addressing -designated to support group communication and is paricularly useful in parallel and distributed systems. , 3.3 pipes, managed by the transport service -it consist of two endpoints for communication -to get interdomain interprocess communication, or communication across a network involving systems that do not share a data structure or a file -each endpoint belongs to one of the processes involved in the communication. -each socket has a local endpoint address and a global endpoints address -the local address refers to the address from the transport service while the global address refers to the network host address -those two addresses must be bound together through a system call -both addresses are necessary to communicate unless, prior to communicating, a connect socket call is placed. -a socket exists until every process referring to it dies or a process closes the socket , unnamed pipes -allow two related processes -related include parent child and sibling processes, binding -can occur at three different times, 3.4 sockets, named pipes -allow unrelated process to communicate -while the process does not ned to be related they do need to share common file systems. -since this name pipe is a shared data structure,access to this buffer must be inside a critical region., 3.2 message passing, idempotent -are used by rpc applications using stateless or stateful servers.while this semantic does not guarantee that remote procedure calls won't be invoked multiple times, it does guarantee that there will be no desirable effects as a result. for stateful servers this implies that the server state cannot be corrupted by multip client invocations, non-blocking-performs other tasks while waiting, data types -relates to the data types that can be used as arguments in a remote procedure call -like various programming language limit complexity of arguments, so does rpc, step 1 creating a socket is like installing a telephone jack it must have a socket to communicat through step 2 binding your socket to a port is like getting a telephone number step 3 listen for the phone to ring or to listen the socket for someone to communicate with us step 4 accept communication,socket can determine how many call they can accept step 5 is communication, we now commence communication for sockets, this generally through read and write commands step 6 is the disconnect or hang-up, end of communication