|
ABSTRACT
Undergraduate operating systems courses are generally taught using one of two approaches: abstract or concrete. In the abstract approach, students learn the concepts underlying operating systems theory, and perhaps apply them using user-level threads in a host operating system. In the concrete approach, students apply concepts by working on a real operating system kernel. In the purest manifestation of the concrete approach, students implement operating system projects that run on real hardware.GeekOS is an instructional operating system kernel which runs on real hardware. It provides the minimum functionality needed to schedule threads and control essential devices on an x86 PC. On this foundation, we have developed projects in which students build processes, semaphores, a multilevel feedback scheduler, paged virtual memory, a filesystem, and inter-process communication. We use the Bochs emulator for ease of development and debugging. While this approach (tiny kernel run on an emulator) is not new, we believe GeekOS goes further towards the goal of combining realism and simplicity than previous systems have.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
GNU Binutils: http://www.gnu.org/software/binutils, 2003.
|
| |
3
|
Bochs: http://bochs.sourceforge.net, 2003.
|
| |
4
|
W. A. Christopher, S. J. Procter, and T. E. Anderson. The Nachos Instructional Operating System. In Proceedings of the 1993 Winter USENIX Conference, pages 481--488, 1993.
|
 |
5
|
|
 |
6
|
|
| |
7
|
G. Fankhauser, C. Conrad, E. Zitzler, and B. Plattner. Topsy --- A Teachable Operating System: http://www.tik.ee.ethz.ch/~topsy/book/topsy_1.1.pdf, 2000.
|
| |
8
|
GCC Home Page: http://gcc.gnu.org, 2003.
|
| |
9
|
GDB: The GNU Project Debugger: http://www.gnu.org/software/gdb, 2003.
|
| |
10
|
GeekOS: http://geekos.sourceforge.net, 2003.
|
 |
11
|
|
| |
12
|
Intel. Intel Architecture Software Developer's Manual. Intel, 1997.
|
| |
13
|
Trevor Jim , J. Greg Morrisett , Dan Grossman , Michael W. Hicks , James Cheney , Yanling Wang, Cyclone: A Safe Dialect of C, Proceedings of the General Track: 2002 USENIX Annual Technical Conference, p.275-288, June 10-15, 2002
|
| |
14
|
The Netwide Assembler: http://nasm.sourceforge.net, 2003.
|
 |
15
|
|
 |
16
|
|
| |
17
|
|
| |
18
|
|
| |
19
|
|
| |
20
|
|
| |
21
|
Virtutech: Simulators for hardware and software engineering: http://www.virtutech.com, 2003.
|
Peer to Peer - Readers of this Article have also read:
-
Data structures for quadtree approximation and compression
Communications of the ACM
28, 9
Hanan Samet
-
A hierarchical single-key-lock access control using the Chinese remainder theorem
Proceedings of the 1992 ACM/SIGAPP Symposium on Applied computing
Kim S. Lee
, Huizhu Lu
, D. D. Fisher
-
The GemStone object database management system
Communications of the ACM
34, 10
Paul Butterworth
, Allen Otis
, Jacob Stein
-
Putting innovation to work: adoption strategies for multimedia communication systems
Communications of the ACM
34, 12
Ellen Francik
, Susan Ehrlich Rudman
, Donna Cooper
, Stephen Levine
-
An intelligent component database for behavioral synthesis
Proceedings of the 27th ACM/IEEE Design Automation Conference on
Gwo-Dong Chen
, Daniel D. Gajski
|