Project 1 will involve learning about Nachos, the emulated machine, and threads in Nachos. To get an early start on the first project, you might want to copy the source code to your directory, make sure it compiles, and skim through the following resources. Read the general overviews, and start skimming the parts that pertain to the emulated machine and threads. You can ignore the parts that pertain to synchronization (semaphores), memory and files for now. You can definitely ignore the parts that pertain to the network. Look at the Nachos Information available off the class web page at http://www.cs.kent.edu/~farrell/osf03/nachos/index.html In particular: o Read Appendix C in the 6th edition of Silberschatz, Galvin, and Gagne on the class web page http://www.cs.kent.edu/~farrell/osf03/nachos/nachos.pdf o Skim Section 2 "Nachos Machine" and Section 3 "Nachos Thread" in Narten's "A Road Map Through Nachos", on the web page http://www.cs.duke.edu/~narten/110/nachos/main/main.html o Skim the material on threads in Kalra's "Salsa -- An Operating System Tutorial", on the web page http://osl-www.cs.umass.edu/salsa/ o Start looking at the code in the theads and machine directories If you are not familiar with C++ or the gdb debugger, see the material referenced on the class web page. As to whether or not you want to print out the roadmap and all the code, that's up to you. There are several options: o don't print anything, but read the code online o print whatever files you need when and if you want a printout - these options are cheap, but time lost by not having the code handy when you want it may make them counter-productive o print out all the files using "lp -o1 filename" - the roadmap is around 40 pages - the code you'll need for project 1 is around 65 pages - the rest of the code is around 88 pages - thus you'll print out, overall, around 193 pages (ouch!) - it will take a while to print all this; don't be anti-social and try to print it all at once, or other students will lynch you o print out all the files using either "lp filename" or "a2ps -nL -kc++ filename | lp" (on aegis or intrepid) to get two smaller rotated "pages" per sheet of paper - the roadmap is around 40 pages (probably still want it large) - the code you'll need for project 1 is around 41 pages - the rest of the code is around 54 pages - thus you'll print out, overall, around 135 pages (little ouch!) - it will still take a while to print all this; don't be anti-social and try to print it all at once, or other students will lynch you o ftp all the files over to your home PC, and print them there - might be an acceptable option Before compiling Nachos, you must copy the Nachos source code to your account. Then follow the Nachos installation ans testing instructions in http://www.cs.kent.edu/~farrell/osf03/nachos/index.html