Understanding Nachos Operating System Development Project

Slide Note
Embed
Share

Nachos is instructional software for teaching operating systems courses. This project guide covers the installation on Ubuntu, debugging, and fixing issues in Project 1 related to program execution. Learn to trace code, fix bugs, and modify Nachos to support multiprogramming. Submit your report by the deadline to showcase your understanding and skills in operating system development.


Uploaded on Oct 05, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Nachos Overview and Project 1

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

Related