Nachos Operating System Development Project

Nachos Overview and
Project 1
Nachos Introduction
Official
 
website
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
http://homes.cs.washington.edu/~tom/nachos/
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
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
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.
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.
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
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.

  • Nachos
  • Operating System
  • Project Development
  • Debugging
  • Multiprogramming

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

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#