26 Suggested Exercises

Any operating system design involves many subjective and ad hoc judgements on the part of system’s designers. At many places in the UNIX source code you will find yourself wondering “Why did they do it that way?”, “What would happen if I changed this?”

The following exercises express some of these questions. Some can be answered from an examination of the source code alone after a study in more depth; others require some experimental probing and measurement, for which read-only access to the file “/dev/kmem” via terminal will prove invaluable; and still others really require the construction and testing of experimental versions of the operating system.