CS414 Operating Systems - Homework 5

General Instructions. You are expected to work alone on this assignment.

Due: (Tues) April 22, 10am. No late assignments will be accepted.

Submit your solution using CMS. Prepare your solution using Word (.doc) or some ascii editor (.txt), as follows:


  1. Consider a UNIX-like file system that uses inodes, where each inode contains 6 direct pointers, 3 indirect-pointers, and 3 double-indirect pointers. All blocks are 1K bytes and pointers are 4 bytes. What is the largest file that can be accomodated?


  2. An alternative to implementing a file system with directories is to regard a path name as monolithic and support a single, flat, name space. That is, a/b/c would simply be a name that happens to have 2 slashes in it, where slashes have no special significance. We might implement such a file system by having a single hash-table in place of the usual directory structure. Hashing the name (e.g., "a/b/c") yields an entry in the hash table, and that entry contains the address of the inode for file a/b/c. (Ignore the possibility of hash table collisions, since these can be dealt with in the usual way.) Compare this new implementation with the usual approach of having file names be paths in a directed graph (of directories). What (if anything) is sacrificed and what (if anything) is gained with each approach?


  3. Consider a RAID comprising 4 mirrored disks. Discuss how the performance of this storage system would compare to a single disk. Give your answer in terms of the performance properties of the disks (e.g., seek time, transfer time, etc) and the workload (e.g., numbers or accesses). Include a discussion of the impact that might be observed from various schemes a RAID controller might use reorder and/or route I/O requests to the specific disks comprising the RAID.