ACM Home Page
Please provide us with feedback. Feedback
Running on the bare metal with GeekOS
Full text PdfPdf (103 KB)
Source Technical Symposium on Computer Science Education archive
Proceedings of the 35th SIGCSE technical symposium on Computer science education table of contents
Norfolk, Virginia, USA
SESSION: Operating systems table of contents
Pages: 315 - 319  
Year of Publication: 2004
ISBN:1-58113-798-2
Also published in ...
Authors
David Hovemeyer  University of Maryland, College Park, MD
Jeffrey K. Hollingsworth  University of Maryland, College Park, MD
Bobby Bhattacharjee  University of Maryland, College Park, MD
Sponsors
ACM: Association for Computing Machinery
SIGCSE: ACM Special Interest Group on Computer Science Education
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 46,   Citation Count: 10
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/971300.971411
What is a DOI?

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
 
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.

CITED BY  10
 

Collaborative Colleagues:
David Hovemeyer: colleagues
Jeffrey K. Hollingsworth: colleagues
Bobby Bhattacharjee: colleagues

Peer to Peer - Readers of this Article have also read: