CS 4513 Distributed Computing Systems
WPI, D Term 2001
Craig E. Wills
Midterm Exam (100 pts)
Given: Thursday, April 5, 2001
NAME:
This is a closed book (and notes) examination. Answer all questions
on the exam itself. Take the number of points assigned to each problem
and the amount of space provided for your answer as a measure of the
length and difficulty of the expected solution. The exam totals 100
points.
SCORE:
- 1.
- (9 points)
Distinguish between an absolute and relative file name. Give an example of
each type of file name.
- 2.
- (10 points)
Experimental observation shows that most files are small with a few files
being large. Identify a file system we have discussed in class and
explain how its design handles efficient access for both types of files.
- 3.
- (15 points)
In Project 1 you created a system call to return the file modification time
for a given file in the Linux Operating System.
- (a)
- What data structure holds
the modification time of a file in Linux?
- (b)
- Where is the modification time
stored for a file stored in the FAT file system?
- (c)
- Where is the modification time
stored for a file stored in the NT File System?
- 4.
- (10 points)
Distinguish between location and access transparency in a
distributed system. Give an example of location and access transparency.
- 5.
- (10 points) Given the inode number for the current working directory in
the Unix/Linux file system, describe the algorithm used by the operating
system to map this number to the full path name for the directory.
- 6.
- (10 points)
What does it mean to have memory-mapped access to a file? Will mapping the
file into memory guarantee better performance in accessing the contents of
the file than with traditional file access? Justify your answer.
- 7.
- (10 points)
An RPC client sends a request to an RPC server.
- (a)
- What technique is used by the client to distinguish between the case where
the server is taking a long time to calculate the computation and the case
where the server has failed?
- (b)
- What technique is used by the client to distinguish between case where the
server is taking a long time to calculate the computation and the case
where the computation is in an infinite loop?
- 8.
- (8 points) What is an idempotent operation? How does it relate to
RPC?
- 9.
- (18 points) The block size used in a file system is an important
consideration.
- (a)
- What is the problem of using large block sizes in a file system?
- (b)
- How does
the problem of large block sizes relate to the redesign of the FAT-16 file
system to the FAT-32 file system?
- (c)
- How is the problem of large block sizes
handled in the Berkeley Fast File System?
- (d)
- Consider a possible file system design that divides disk space into disk
blocks of variable size. For example, there are some blocks of 1KBytes,
others of 4KBytes and still others of 8KBytes. A list of free blocks is
maintained and allocated for each size. Propose and describe how the data
blocks for files in such a file system should be allocated and maintained.
What are advantages and disadvantages of this approach in comparison with
existing systems?