Question 1
The performance of a file system depends on the cache hit rate (fraction of blocks found in the cache). If it takes 1 msec to satisfy a request from cache, however 40 msec to satisfy a request if a disk read is needed, provide a formula for mean time required to satisfy a request if the hit rate is h. Plot this function for values of h changing from 0 to 1.0.
Question 2
A UNIX file system has 1-KB blocks and 4-byte disk addresses. What is maximum file size if i-nodes hold 10 direct entries, and one single, triple, and double indirect entry each?
Question 3
How many disk operations are needed to fetch i-node for the file /usr/ast/courses/os/handout.t? Suppose that i-node for the root directory is in memory, but nothing else along the path is in memory. Also suppose that all directories fit in one disk block.
Question 4
Illustrate when you run unlink () operation to remove a file on ext3 file system. Be specific about what disk blocks have to be written where in what order. Describe your assumptions.
Question 5
The ext3 fsck program recovers a crashed ext3 file system through scanning the journal of this file system and replaying each record in journal. The ext3 fsck program also clears the journal to save space for new journal records. Is there a strict order between the two steps? Why or why not?
Question 6
In the software v.s. hardware virtualization paper, the author discussed the problem with popfl in Section 4.4. What exactly is the problem?
Question 7
As the number of cores keeps rising, the probability that some cores fail at any given moment also raises. What are the implications of this trend on Barrelfish?
Question 8
Write pseudo code to execute the pthread_create wrapper of the Tern memoizer. Note you need to explain your data structure for maintaining deterministic thread IDs. In addition, think of what might go wrong when the child thread calls self().