CMSC412 Project 0 CMSC412 Spr’06

Download Report

Transcript CMSC412 Project 0 CMSC412 Spr’06

CMSC412
Project 0
CMSC412 Spr’06
The usual
• Info:
• http://www.cs.umd.edu/class/spring2006/cmsc412
• Webforum/Project page linked off of the webpage
• Recitation:
• CSI 2118; Mon Wed(?): 11-11:50 (?), 12-12:50 (?)
• TA:
• Saurabh Srivastava, saurabhs@cs, have CMSC412 in
email subject.
CMSC412 Spr’06
Remarks
• Lab Lecture!?
• To get you started on the project
• Give you background material
• _not_ to tell you where and what to code!
• Pointers:
• The lab is about GeekOS: so read the source
• You’ll be implementing major functionality into the
base kernel.
• So start early…
• …certainly doable (if you keep going at it)!
CMSC412 Spr’06
Project 0
• Setup:
• Bochs
• GeekOS base setup
• Project requirements:
• Create a kernel thread.
• Make it do some I/O
CMSC412 Spr’06
The basics…
GeekOS
• The setup:
• The Bochs simulation setup is:
Bochs (HW Emulation)
Native OS
HW
• Alternatives:
GeekOS
Java Bytecode
GeekOS
VMware Virtualization
Java VM
HW
Native OS
Native OS
HW
HW
CMSC412 Spr’06
Project0 Roadmap
• best documentation: read the GeekOS source code
• add a thread
• Start_Kernel_Thread()
• read a key, print its Keycodeo
• Wait_For_Key/Print( “keycode=%x”,c)
• analyze the Keycode
• KEY_XXX_FLAG (keyboard.h/keyboard.c)
• echo once
• test for ^d
CMSC412 Spr’06