Copyright © 1997, 1998 by Axel T. Schreiner. All Rights Reserved.

Inferno

Axel-Tobias Schreiner, Department of Mathematics and Computer Science, University of Osnabrück, Germany.

An introduction to use, architecture, and programming of the new network operating system from Lucent's Bell Labs.

Lecture notes for a course at Rochester Institute of Technology, spring quarter 1998. Based on German lecture notes. Based on the evaluation version 1.0 of Inferno.

Available Directories

code programming examples used in class
ftp archives and references
guide Inferno User's Guide (Portable Document Format)
html overheads used in class (HTML), first page
limbo The Limbo Programming Language (HTML, some sections)
man Inferno Reference (HTML), first page
pdf overheads used in class (Portable Document Format), first page
problems weekly assignments
web books and papers from Lucent Technologies and RSA Laboratories.

Local Availability of Inferno

The evaluation version 1.0 of Inferno is in /usr/local/inferno. It is probably best to create links to it as described in class.

Inferno 2.0 primarily adds Java; however, this is only available with the native system. There are some smaller differences (pipe device, exception adt, more commands, more security) and (hopefully) some bug fixes but Inferno 1.0 is quite suitable for introductory purposes.

Dates 1998

Lectures Monday,
17:00-18:50
room 09-1159
Office Hours Tuesday, Thursday,
14:00-16:00
room 10-A192 Schreiner,
phone 475-7459

(Planned) Calendar 1998

March9 introduction, installations, architecture
16 homework, namespaces, kernel servers
23 homework, Styx, user servers, Limbo: introduction
30 homework, Limbo: abstract datatypes
April6 [no attendance]
13 homework, system calls and threads
20 homework, threads and channels
27 homework, Adam Fletcher on TK graphics, Limbo and yacc
May4 homework, sl language, ramfs server in Limbo
11 homework, Matt Zimmerman on security
14 Dave Klint on the db module [10:00, my office]

Grading Policy

This is a short operating system and programming course. Inferno contains concepts from Plan 9 which are significantly different from Unix; Limbo is a small but powerful programming language. The schedule is tight; you will have to dig into documentation and some books as well as do some programming on your own to succeed.

Half of your grade will be based on weekly assignments (mostly programming), the other half on a presentation.

Assignments and solutions are posted as indicated above. Assignments must be turned in to me by e-mail before 16:00 on the due date. I'll acknowledge receipt in class. Don't slide papers under my door, don't turn e-mail in late or more than once, and don't copy from others. Incomprehensible code will be considered wrong.