• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/91

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

91 Cards in this Set

  • Front
  • Back
Why is memory exchange difficult to use?
every data transcer requires a send and receive, so receptive process must expect the send()
Define shared memory.
two or more processes share a part of their address space.
What is the primary advantage of shared memory?
fast and easy to use
What are the two problems intorudced by shared memory's primary advantage?
1) concurrent access can cause disasters, 2) synchronization access is needed
What are the two disadvantages fo shared memory?
1) not general, since sender and reciever must be on the same machine, 2) less secure since processes can directly access a part of the other process's shared address space
Name the four defining issues of message passing.
1) direct/indicrect communication, 2) blocking/nonblocking primitives, 3) exception handling, 4) quality of service
T/F - In direct communication, send and receive system calls do not always need to specify processes as desitnation/source.
F
Give examples of send and recieve specifications that would take place in direct communication.
send(process, msg,length); receive(process, msg, &length);
Why is direct communication the most simple means of IPC?
there is no intermediary between sender and receiver
Make an analogy with which you could describe direct communication to a layman.
ex: phones without switchboard, MAKE YOUR OWN FOR PRACTICE!
T/F A process executing a recieve call only needs to know the identity of all processes likely to send messages WHEN the IPC is RGD
F. RGD doesnt even mean anything. receiver ALWAYS needs to know!!
Why does a receiving process need to know the identity of all processes likely to send it messages?
duh
Why is a receiving processes neccesity to know all processes likely to send messages bad for servers?
because servers must answer requests from arbityary processes.
How is indirect communication different from direct communication?
indirect communication has an intermediary entity as a destination or source
What is the intermediary of indirect communication called?
the mailbox
Given an example of a send or a recieve primative that is involved in indirect communicaiton.
send(mailbox,msg,size);
T/F a mailbox is created by the client.
F, it is created by the kernel
How does a kernel know that it is to create a mailbox?
a request has been sent by a user process.
Make an analogy with which you could describe indirect direct communication to a layman.
ex: phones with a switchboard, MAKE YOUR OWN FOR PRACTICE!
T/F Differnt processes can send messages to a single mailbox.

T

T/F In indirect communication, a process cannot recieve messages from a processes it does not know about.
F, different processes can send messages to a single mailbox, and the receptive process is informed by that mailbox
T/F processes cannot wait for messages coming from different senders. they will only open the first message they receive
F, but they do open messages as they arrive
What are the two types of mailboxes?
1) private, 2) public
Is a BSD socket a private or public mailbox?

private, the word "socket" reveals this

What is the difference between private and public mailboxes?
1) private are attached to specific processes while 2) public are system objects
T/F private mailboxes cease to exist when the process that requested creation (and its children) terminates
T
What is another name for a private mailbox?
port
What can receive messages trhough a private mailbox?
the process and the children thereof that requestsed said mailbox's creation
What are public mailboxes "owned" by?
the system, man
What are public mailboxes shared by?
all processes having the right to receiver messages through it
T/F public mailboxes can survive the termination of their creator process.
T
T/F public processes are best suited for passing messages between different machines.
F
Are System V UNIX message queues public mailboxes? What word(s) gives the answer away?
Yes, "message queues"
Is buffering needed for a blocking primative?
Nope
When does a blocking send return?
when the receipient process has received the message.
When does a non-blocking send return?
when the messages has been accepted for delivery by the OS
What does a non-blocking send assume about the receipient OS?
it assumes that the OS can store the message in a buffer
Make an analogy with which you could describe a non-blocking send to a layman.
ex: letter is dropped in mailbox so you are DONE, you assume post office will handle the rest MAKE YOUR OWN FOR PRACTICE!
When does a non-block receive return?
as soon as it has either 1) retreived a message or 2) learned that the mailbox is empty
Make an analogy with which you could describe a non-blocking receive to a layman.
ex: checking the mail.
What is another name for blocking receives?
busy wait
In three or more steps, explain the logic of a blocking send simulation.
1) sender sends message and reqeusts an acknowledgement (ACK), 2) sender waits for ACK from receiver using a blocking receieve, 3) receiver sends ACK
In three or more steps, explain the logic of a blocking send simulation.
1) receipient receives message 2) receipient is delayed, 3) this process repeats until message space receives contents
What are the three elements that define the "standard choice?"
1) indirect naming, 2) non-blocking sends (fire and forget), 3) blocking receives (receiver needs data to continue)
T/F Non-blocking primitives require buffering. Justify your answer.
T, OS needs to store messages that have been sent but not yet received.
What does it mean if a buffer has bounded capacity?
the buffer can refuse to receive messages when it is full
What is the limit on capacity of a buffer receiving non-blocking primitives?
theoretically there is none, but typically the capacity is bounded.
Are blocking receives and direct communication the best pairing of any pairing ever of all time forver?
NO. They are not!! when paired, processes cannot wait for messages from several sources without using special parallel programming constructs, in fact, the receiving process can only receive messages from a specified process
How can the sending and recieving of messages effect the quality of service?
loss, corruption, duplication, arrival out of sequence
What are positive acknowledgements?
basic techniques for providing reliable delivery of messages
Describe the scenarios of postive acknowledgements
1) destination process sends an acknowledgment message (ACK) for every message that was correctly delivered, 2)sender resends any mdessage that was not ACK within a fixed time frame
Name the three classes of service and how they handle messages
1) datagrams -messages are sent one at a time, 2) virtual circuits - a connection oriented service that uses an ordered sequence fo messages, 3) streams - message boundaries are ignored and are sent as an ordered sequence of bytes
How are messages sent when using datagrams? what potential consequences result from this?
individually, some messages can be lost, duplicated, or might arrive out of sequence.
what are the two kinds of datagrams?
1) reliable datagrams 2) unreliable datagrams
Why are reliable datagrams labeled so?
because they resend messages until acknowledgement
T/F unreliable datagrams work well when a message requests a reply
T since a reply is an implicit ACK of a message
Make an analogy for unreliable datagrams
ex. you don't ACK emails, you just reply to them
Why would an ACK be sent if a reply is an implicit response?
The ACK is useful when a reply will not be timly
What does UDP stand for?
User Data Protocol
T/F UDP is one of the lesser known protocols
F
T/F UDP provides a reliable datagram service
F
T/F UDP is best for short interactions
T
How many requests and replies is a UDP suited for?
one of each
When using virtual circuits, a ___ is established between the send and receiver.
logical connection
T/F Virtual circuits guarantee arrival of a sequence without loss or duplication.
T
Make an analogy for virtual circuits
ex. words of a phone conversation
Why are virtual circuits costlier than datagrams?
the connection must be set up beore sending any data
HTTP is an example of __?
a virtual circuit
T/F virtual circuits are best for transmitting large amounts of data.
T
T/F virtual circuits are best for transmitting data that requires two or less large messages.
F, several messages are best suited
T/F Streams are very similar to virtual cirtuits.
T
Do streams preserve message boundaries? How tdoes the receiver see the resultant message?
streams do not preserve message boundaries. the receiver sees a seemless stream of bytes.
What is an alternate name for TCP?
stream protocol
Why is TCP said to be heavyweight?
it requires three messages (packets) to establish a virtual connection
T/F TCP provides a reliable stream service
T
What are the three major advantages of using remote procedure calls?
1) they hide all details of message passiong, 2) they provide a higher level of abstraction, 3) they extend a well know model of programming
What is the disadvantage of using a RPC?
RPCs do not always behave like regular procedure calls since the client and server do not share the same address space
List the four steps of a user stub.
1) argument marshaling, 2) send request message, 3) wait for server reply message, 4) argument unmarshaling
List the five steps of the server stub.
1) wait for client requests, 2) argument unmarshaling, 3) call server procedure, 4) argument marshaling, 5) send reply
Which does the actual processing of user requests, the server procedure or the user stub?
the server procedure
T/F In RPC, the client and server processes share the same address space
F
T/F An RPC needs to handle partial failures
T
What are the ramifactions (2) of an RPC not having shared address space?
1) no global variables, 2) cannot pass addresses (arguments by reference or dynamic data structures through pointers)
If a remote procedure call cannot pass addresses, what are two ways arugments can be passed?
1) pass current value of argument to remote procedure, 2) copy returned value in user program
How can partial failures be detected?
the client can send "are you alive?" mesages to the server at fixed intervals
What is an idempotent request?
a request that can be executed several times and have the same effect as having been executed once
Given an example of an idempotent request.
reading n bytes from a fixed location, not reading the next n bytes from a current location
What does attaching a serial number to requests allow a server to do?
detect replays of requests it has previously received and refuse to execute
T/F Attaching serial numbers is a cheap method of handling partial executions.
T
T/F Using transaciton mechanisms are the most costly method of handling partial executions.
T
What does a transaction mechanism do?
it guarantees that each request with EITHER be full executed OR have no effect.