1 / 7

Nachos Overview and Project 1

Nachos Overview and Project 1. Nachos Introduction. Official website http://homes.cs.washington.edu/~tom/nachos/ Nachos is instructional software for teaching undergraduate, and potentially graduate, level operating systems courses

lani-wade
Download Presentation

Nachos Overview and Project 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Nachos Overview and Project 1

  2. Nachos Introduction • Officialwebsitehttp://homes.cs.washington.edu/~tom/nachos/ • Nachos is instructional software for teaching undergraduate, and potentially graduate, level operating systems courses • The only difference between Nachos and a real operating system is that Nachos runs a Unix process, whereas a real operating system runs on a real machine. • Nachos is simpler than UNIX. • Simulator makes debugging easier. • Deterministic

  3. Nachos installation on Ubuntu 13.04 (32bit) • Download the Nachos package and the cross compiler package from http://cc.ee.ntu.edu.tw/~farn/courses/OS/OS2013/index.htm • Install g++ and csh • sudo apt-get install g++ • sudo apt-get install csh • Untar packages • tar –zxvf nachos-4.0.tar • mv mips-x86.linux-xgcc.tar / • tar –zxvf /mips-x86.linux-xgcc.tar • Make • cd ~/nachos-4.0/code • make

  4. Project 1 • cd ./userprog • ./nachos –e ../test/test1 • Print integer:9 • Print integer:8 • Print integer:7 • Print integer:6 • ./nachos –e ../test/test2 • Print integer:20 • Print integer:21 • Print integer:22 • Print integer:23 • Print integer:24 • Print integer:25 • The programs execute correctly

  5. Project 1 • ./nachos –e ../test/test1 –e ../test/test2 • Print integer:9 • Print integer:8 • Print integer:7 • Print integer:20 • Print integer:21 • Print integer:22 • Print integer:23 • Print integer:24 • Print integer:6 • Print integer:7 • … • The result is wrong. And we are going to fix it.

  6. Trace code and fix the issue • Trace the following files and find out why the result is wrong • nachos-4.0/code/userprog/addrspace.h • nachos-4.0/code/userprog/addrspace.cc • nachos-4.0/code/userprog/userkernel.cc • nachos-4.0/code/userprog/translate.h • nachos-4.0/code/userprog/translate.cc • After you fix the bug, recompile Nachos and see if the result is correct.

  7. Hand in report • Code • tar zcvf b99xxxxxx.tar.gz ./nachos-4.0 • Report • Why the result is not congruent with expected • How you modified Nachos to make it support multiprogramming – important code segments • Mail your code and report to yyergg@gmail.com • Deadline Nov.12.2013

More Related