Operating Systems Project 3


The goals of this project are:
  1. to make sure you thoroughly understand context switches
  2. to make sure you understand the basics of interrupt handling

Please study the Linux and seL4 source code, to identify the code equivalent to the Minix file kernel/mpx386.s on pages 709-713 of the textbook. The code will not be exactly the same -- please note and report on the differences.

The project should be sent to the instructor by email. Please send me the following:

  1. the name of each relevant file and the relevant range of lines containing the equivalent code in Linux 4.20.5.
  2. the name of each relevant file and the relevant range of lines containing the equivalent code in seL4 for ARM. The code is available here. At your choice, you may do this for ARM 32, ARM 64, or both.
  3. a report describing the significant differences between Linux, seL4 for ARM, and Minix. The report should be long enough to capture differences that a system programmer would want to know.

Please send in your project on time -- late submissions will not be accepted, and I prefer to have partially-working projects rather than no project at all.

It is fine to do this project in teams of up to three. If you do this project in a team, make sure that everyone in the team participates in crafting the report, and the report MUST be a coherent whole rather than made of different pieces pasted together.