1 Content


1.1 Schedule and due dates

1.2 Topical outline

1.2.1 History and First day

Briefly:

Content/00-History.html

1.2.2 Basic tools and shell review

What does the existing landscape of operating systems look like?
The following are needed for understanding the assignment framework,
and for understanding the basics of IO, piping, redirection, etc.:
../DataStructuresLab/Content/00-VirtualMachines.html
../Security/Content/21b-Virtualization.html
../DataStructuresLab/Content/01-02-LinuxBash.html
../ComputationalThinking/Content/18-InputOutput.html
(1st half, shell IO.html)

1.2.3 OS theory, Minix introduction

Content/01-Overview.html

1.2.4 C++ and C Review

If you need a review of C++, see these two class pages:
../ProgrammingCpp.html
../DataStructures.html
A quick overview of C:
Content/learnc.c

1.2.5 Makefile review

See the content on Makefiles here:
../DataStructuresLab/Content.html

1.2.6 OS design details and Minix

Here is the actual source code for Minix,
and scripts for running, editing, re-compiling:
https://git.mst.edu/os/class_minix
It is the same version as the code I review in lecture.

Content/02-Processes.html
Content/03-InputOutput.html
Content/04-MemoryManagement.html
Content/05-FileSystems.html

1.3 Assignments

pa00_vm - Run Linux in a virtual machine, do basic Bash programming.

pa01_container - Run a Linux in a container, do C programming, with Makefile example.

pa02_ps - Edit the process manager in Minix3.

pa03_? - ??