Chapter 5. Project 0: Getting Started

Table of Contents

1. The Assignment
2. Hints

The purpose of this project is to introduce you to working with the GeekOS source code and running GeekOS in the Bochs emulator.

1. The Assignment

Add code to the kernel to create a new kernel mode thread. The kernel mode thread should print out "Hello from xxx" where xxx is your name. It should then call the keyboard input routine Wait_For_Key() repeatly (and echo each character entered) until the termination character (control-d) is entered.

2. Hints

  • This project will not require much code to be written. However, it may take some time to get things set up and debugged.

  • Execution of the GeekOS kernel begins in the Main() function in the source file src/geekos/main.c.

  • To start a new kernel mode thread you use the Start_Kernel_Thread() function. Look at the comments before the definition of this function in src/geekos/kthread.c.