Homework 1

Due on 9/7/1999
Problems: 2.1, 2.4, 2.8, 2.9, 2.10, 2.12

Homeworks were only accepted from teams. All homework papers should have on them:


2.1) Name a transparency concept that is significantly different from those described in the chapter.

There were many acceptable answers. Here is one of them:

Security Transparency - In addition to automatically encypting and decrypting file data (as needed), the OS can query a Key Server to obtain the right to access certain files. In this manner, the user is not asked for their password every time a new file is accessed on the same or a different machine.

2.4) Why is a processor pool an attractive model from the view point of distributed computation and transparency?

Distribued Computation - The processor pool model allows users to use the idle time of other machines that would otherwise go to waste. This leads to better load balancing.

Transparency - Parallel Transparency is achieved because the user might not even be aware that the idle cycles on his workstation are being used by other people.

Note: The most common mistake on this problem was to forget that you had to not only list a transparency issue, but that you also had to explain and justify it. One group also made the distinction between a process pool and a processor pool, which was interesting. However, the intent of the question was the sharing of processing power across different machines.

2.8) Why is medium access control (MAC) combined with the data link layer rather than the physical layer?

The physical layer is concerned with transmitting raw bits through the physical communication link. Its major function is to translate electrical signals into individual bits and vice versa. The data link layer ensures the reliable transfer of a grouping of bits (usually called a frame). More importantly, it handles configuation setup, error controls, sequencing, and flow control.

The MAC sub-layer resolves multiple access contentions on a common bus. Similar to the data link layer, it deals with frames. It also explicitly handles flow control by mediating the use of the common bus, and additionally in doing helps ensure the reliable transfer of frames. Therefore, since the function and purpose of the MAC sub-layer match those of the data link layer, and since it does not deal with electrical (or optical) signals, it is better suited as a sub-layer of the data link layer.

Note: If you mentioned the word "reliability", then you most likely got it correct. What I didn't need to see was a description of the MAC frame format, mention of the LLC, or that the MAC layer is best delt with software. As a side-note, the MAC layer is often partly implemented in hardware.

2.9) Why is UDP necessary when a connectionless IP already exists?

UDP and IP exist at different OSI layers, and for good reasons: they both serve different purposes. IP deals solely with host-to-host connections, whereas UDP allows process-to-process communication by adding ports. Without UDP, a packet would reach a host but the OS wouldn't know which process to send it to. Without IP, the sender wouldn't know where to send the packet.

Note: The biggest mistake on this problem was to talk about the differences between TCP and UDP. Do you see the words "TCP" mentioned anywhere in this problem?

2.10) List some system design and implementation issues that are unique or more significant in distributed operating systems than in centralized operating systems.

Again, there were many correct answers. Here are some of them:

Security - Security becomes more significant when data is communicated across distributed heterogenous networks and becomes more vulnerable to malicious attacks from outside.

Communication - Since communication may now occur across a network instead of a high-speed bus, consideration must be given to greater delays and dropped packets.

Consistency - The lack of global information (such as unavailability or an absolute global clock and synchronization problems due to communication delays)and potential replication issues all contribute to inconsistency in a distributed system.

Robustness - Failures in communication links, processing nodes and client/server processes are commonplace in distributed systems as compared to a centralized single computer system. Packets may be lost and servers may also crash.

2.12) Why is it that the security and management functions are not a single layer in DCE architecture in fig 2.7?

Security and management are features needed by all layers, except apparently the kernel. For example, it is easy to see why a distributed file service needs to control file access, or why only certain processes are executed by the superuser. In order to manage and enforce strictures, the security and management functions must be able to manipulate and modify the data structures of each layer. This implies that in a layered architecture they must be on the same layer (or at least share a border in common). Therefore, if the security and management functions were only on a single horizontal layer, then they would be unable to interact with the data structures of each layer.

Note: This was probably the problem that I was the most lenient on. As long as you mentioned that all of the layers need access control then you most likely got it correct. Technically, that in and of itself is not enough of a reason. For example it might be possible to simply make the security layer the highest layer in the DCE architecture, thereby making sure that all requests must go through the security layer. As I mentioned however, the security and management functions must be able to manipulate the modules of each layer, which would not be possible if security and management were on one horizontal layer.

There was one group that misunderstood the problem to mean how come security and management aren't merged together into one vertical layer, which was a creative interpretation of the question.