Inside Windows NT
UNIX internals: the new frontiers
UNIX internals: the new frontiers
The design and implementation of the 4.4BSD operating system
The design and implementation of the 4.4BSD operating system
Operating System Concepts
Hi-index | 0.00 |
An operating system course can be taught with or without a programming project. The author has found that teaching it with a programming project has several advantages. In particular, students gain the valuable implementation experience of the essential features of an operating system, testing, debugging a large program, and validation of principles of operating systems they learn in the class. The author has designed a multiprocessing operating system called MTOPS for this purpose. It has been used as a programming project in a semester-long undergraduate operating systems course at the senior level. The project covers features such as process management, including scheduling algorithms, memory management, process synchronization, interprocess communication, I/O management, timer management, simulation of a two-address machine with a stack, event simulation, assembly language programming and hand assembly to machine language program, and an absolute loader. The design of the project is such that the students have the option to use any high-level language such as C, C++ or Java for implementation on any host, including a Personal Computer. The hardware for MTOPS is simulated. The project is implemented in the form of four homeworks. User programs to test the hardware and operating systems are written in assembly language first and then hand assembled into machine language. Student evaluation has shown that the project, though highly demanding, has been well received by students.