[url removed, login to view]~tyang/class/[url removed, login to view]

The NACHOS code you have been given is capable of executing user application programs, but in an extremely limited way. In particular, at most one user application process can run at a time, and the only system call that has been implemented is the halt system call that shuts down NACHOS. In this assignment, you will correct some of these deficiencies and turn NACHOS into a multiprogramming operating system with a working set of basic system calls.

For this assignment, in the first part, you are to modify NACHOS so that it can run multiple user applications at once. You are to implement the Fork(), Yield(), Exit(), Exec(), and Join() system calls. The detailed specifications for these system calls are given below.

In the second part of this assignment, you are to implement the Creat, Open, Read, Write, and Close system calls. For this assignment, you will be working on the version of NACHOS in the userprog directory. You will also need to write some simple user application programs, compile them using the MIPS cross compiler, and run them under NACHOS to test that your modifications to NACHOS actually work. User application programs are written in ANSI C. To write and compile them go to the test subdirectory of NACHOS. Several sample applications are provided in that directory. The only one that will run properly on an unmodified NACHOS is the halt program. To demonstrate this program, first go to the test directory. Type make halt to cross compile the halt.c source file and create the executable NACHOS user application halt. Then go to the userprog directory and type gmake nachos. When NACHOS is built, type nachos -x halt. This will start NACHOS and ask it to load and run the halt program. You should see a message indicating that NACHOS is halting at the request of the user program.

Skills: C++ Programming, UNIX

See more: Assignment, start programming, simple programming projects in c#, programming programs, programming process, programming compiler, programming class, programming applications, operating system programming, n version programming, join open source programming, html programming file, cs programming, cplusplus set, class programming, applications of c++ programming, programming go, multiprogramming, ansi c, c programming compiler, basic html programming, simple programming c projects, operating system projects, open source programming projects, fork system call

Project ID: #4420975

3 freelancers are bidding on average $93 for this job


I am Ready to Start on this Project

$90 USD in 3 days
(1 Review)

Ready to start

$99 USD in 3 days
(1 Review)

i will do it

$90 USD in 3 days
(0 Reviews)