UNIVERSITY OF WISCONSIN-MADISON
Computer Sciences Department
CS 537
Fall 2012
Barton Miller
Problem Set #3

Problem 1

A particular disk has 64K cylinders, 16 tracks (surfaces) per cylinder, and 1K sectors per track. Cylinders are numbered from 0 (on the outside edge of the disk) to 65535 (on the inside). The disk revolves at 10,000 RPM, once every 6 milliseconds; disks are always spinning. Arm movement costs 1 milliseconds plus one-tenth (0.1) millisecond for each cylinder that the arm is moved. A disk request [c,t,s] is for the sector on cylinder c, track t, sector s. The following requests are in the disk queue:
1: [70, 5, 5]4: [40, 4, 3]
2: [11, 10, 6]5: [11, 10, 5]
3: [99, 7, 6]6: [90, 7, 18]
The arm is currently over cylinder 20, and the beginning of sector 0 is under the read head.

Problem 2.

In general, it takes many disk reads to find the descriptor for a file.

Problem 3.

When an operating system crashes, it often leaves the data that it stores on the disk in an inconsistent state. By inconsistent state, we mean that file system data structures do not correctly describe what should be in the files, directories, descriptors, and free lists. This can happen because it takes several disk reads and writes to update a file, its descriptors, and the free list. When the system comes up, it is necessary to validate that the file system and its data structures are all right (or figure out how to fix them).

Last modified: Sun Dec 2 19:57:59 CST 2012 by bart