Porting an Operating System

Short Name
Module Code
Module Coordinator
  • Prof. Dr. Hellwig Geisse
  • Prof. Dr. Hellwig Geisse
Short Description
This course is organized as an extensive project, which comprises porting the operating system UNIX-32V from a VAX-11/780 to the modern RISC processor ECO32.
Learning Objectives

The students are able to explore the architecture of a real operating system. They know which parts can be implemented in a platform-independent way, and which cannot. Special emphasis is laid upon the concepts of memory management and the transition from preemptive multitasking outside the kernel to cooperative multitasking within the kernel of a monolithic operating system, as well as the implementation of these concepts on two different process or architectures. The students analyse the details of an inode filesystem and its buffer cache. They learn to estimate the effort of porting an operating system. Last but not least, they exercise reading and understanding software written by others

The course comprises porting the operating system UNIX-32V from a VAX-11/780 to the RISC processor ECO32. The port will be done by the students mostly on their own within three subgroups (processes, memory, file system). The project consists of the following phases:
  • ECO32 architecture
  • UNIX-32V architecture
  • planing the port
  • porting the subsystems
  • integration of the parts, debugging
Duration in Semester
Instruction Language
Total Effort
9.0 CrP; an estimated 270 hours, of which approximately 60 are spent in class.
Weekly School Hours
Method of Instruction

Practical Course 4 SWS

Requirements for the awarding of Credit Points

Examination prerequisite: Successful co-operation within the project

Examination: Responsible and successful implementation of a specific subproject

Evaluation Standard
according to examination regulations (§ 9)
As Needed
  • J. Lions: Lions' Commentary on UNIX 6th Edition Peer-to-Peer Communication
  • M. Bach: The Design of the UNIX Operating System Prentice-Hall