Assignment 4, due Feb. 10

Part of the homework for 22C:112, Spring 2012
by Douglas W. Jones
THE UNIVERSITY OF IOWA Department of Computer Science

On every assignment, write your name legibly as it appears on your University ID and on the class list! Assignments are due at the start of class on the day indicated (usually Friday). Exceptions will be by advance arrangement unless there is what insurance companies call "an act of God" (something outside your control). Homework must be turned in on paper, either in class or in the instructor's mailbox. Never push late work under someone's door!

  1. Background: Read 0S6—An experimental operating system for a small computer. Part 1: General principles and structure.

    a) How does OS6 differ in its use of the concept of virtual machine from the Lampson and Lichtenberger's 1966 work you read for Homework 2? (0.6 points)

    b) What makes the OS6 loader noticably more complex than the loaders we discussed in class? (0.6 points)

  2. Background: Read 0S6—An experimental operating system for a small computer. Part 2: Input/output and filing system.

    Some of the ideas for stream I/O in OS6 look very similar to ideas in Unix or the C standard I/O library. For example, the OS6 calls x:=Next[s] and Out[s,x] look very similar to the C calls x=getc(s) and putc(x,s), if one ignores syntactic details.

    a) Identify a feature of OS6 streams that is distinctly different from anything in Unix. (0.6 points)

    b) The OS6 paper does not use the terminology of object-oriented programming, as that terminology was being invented while this paper was being written. In one or two sentences, is OS6 I/O object-oriented? (0.6 points)

  3. Background: The notes for Feb. 8 give several ways to implement a "polymorphic" file model, for example, using a select-case construct to pick the code appropriate to the particular file type, or using pointers to subroutines for each operation.

    A Problem: Why is the select-case construct a bad approach? What does it make difficult. (0.6 points)