|
CS439: Principles of Computer Systems
Discussion Section Problem Set 10 Solutions
Due in Section on Friday, November 21, 2025
The problem set must be completed before section and brought to section. To
ensure that your problem set is turned in correctly and that you receive credit
for discussion section, you must follow these guidelines exactly.
-
In class, we covered the idea of remote procedure calls. Name four
difficulties that may be encountered when one attempts to implement
a remote procedure call.
There are
additional complications when the procedure executes a system
call. What are the complications and how might you fix them?
Adapted from Tanenbaum page 607.
-
Sun's network file system (NFS) protocol provides reliability via:
- at-most-once semantics
- at-least-once semantics
- two-phase commit
- transactions
-
In two-phase commit, suppose the master fails after writing
``GLOBAL_COMMIT'' to disk and sending ``GLOBAL_COMMIT'' to all
participating nodes but before any of the nodes receive this
message. Suppose that the ``GLOBAL_COMMIT'' message reaches i of
the n participants and that the participants implement a protocol
in which they communicate with one another when they suspect the
primary has died. What is the minimum number of participants that
must receive the ``GLOBAL_COMMIT'' message to allow the
participants to complete the transaction without waiting for the
master to recover?
-
Considering all the pieces of the operating system we have discussed,
describe the steps the OS takes when performing a context switch.
Assume that processes are waiting in the ready queue.
-
In class, we have discussed many methods to get reliability from
unreliable parts. Name and describe two.
-
In a distributed system there are 3 processes on different machines
communicating over the network. The orderings of each event on each process
are given below. Determine what the Lamport clocks of each event are.
-
Process A:
- Send message PA1 to Process C
- Receive message PB1 from process B
- Receive message PC1 from process C
- Send message PA2 to Process B
- Send message PA3 to Process C
- Generic notable event
-
Process B:
- Send message PB1 to process A
- Receive message PC2 from process C
- Receive message PA2 from process A
-
Process C:
- Generic notable event
- Receive message PA1 from process A
- Send message PC1 to Process A
- Send message PC2 to Process B
- Generic notable event
- Receive message PA3 from process A
-
Using the previous question answer the following questions
- Does event 5 on process C happen before event 5 on process A?
- Does event 5 on process C Lamport clock less than that of event 5 on process A?
- Is it possible to use Lamport clocks to determine if a happens before relationship exists between
events?
-
What is the web browser you use, and what is its default search engine?
Some potental answers. I would hope if someone uses a web browser outside
of this list they know the diffrence between a web browser and a
search engine. And of course no need to say all of the web browsers, the
top 4 are probally the only ones used.
- Google Chrome: Google
- Firefox: Google
- Safari: Google
- Microsoft Edge: Bing
- Brave Browser: Brave Search
- Chromium: Google
- Arc Browser: Google
- Opera: Google
- Konqueror: Duck Duck Go
- Falkon: Duck Duck Go
|