跳转到内容

Nachos 2012

来自ACM Class Wiki

Course Description

This course covers fundamentals of implementing a tiny operating system - Nachos. Nachos is a simplified version of operating system containing only core parts of what a universal one should have. The very basics, kernel of Nachos are given in source code so that one can focus on those key concepts rather than building a whole platform. So your task is simply to incorporate your own codes into Nachos to implement missed parts.

The project of Nachos consists of five phases: Thread, Process, Cache & Virtual Memory, Network and File System. Due to the time limitation, only the first three phrases are required. However, this doesn't mean the others are not important. We still recommend those students who're capable and have interest to complete all five phases.

To begin with, know about what you should do. There're thousands of lines of codes in Nachos, so reading all of, even part of them is inadvisable. A wise action is that discuss all your confusions with TAs but more with mates. The more you ask, the more you will learn.

At last, good luck to everyone. May the force be with you :)

News

  • 10/29/2012: Course Page is online. Please make sure that everyone is in Nachos group.
  • 10/30/2012:Phase 1 started
  • 11/08/2012:Submit Phase 1
  • 11/10/2012:Results of Phase 1 announced & test data are released
  • 11/10/2012:Phase 2 started
  • 11/18/2012:Submit Phase 2
  • 11/20/2012: Results of Phase 2 announced & test data are released
  • 11/19/2012: Phase 3 started
  • 12/01/2012:Submit Phase 3
  • 12/03/2012: Results of Phase 3 announced & test data are released
  • 12/03/2012: The deadline of resubmit is set to be 12/07

Specification

Phase 1: Thread

Build a thread system
Task 6 is not required.

Phase 2: Process

Multiprogramming
! Task 4 is necessary !

Phase 3: Virtualization

Caching and Virtual Memory
Note:
The size of stack page which determines processes' occupied space is configured in Conf.
The name of Swapfile restricts to 'SWAP'.


Schedule(Tentative)

  • Phase 1: Oct.30 - Nov.8 (Finished)
  • Phase 2: Nov.9 - Nov.18 (Finished)
  • Phase 3: Nov.18 - Nov.30 (Finished)

Upload

To submit, pack your program in zip and upload to FTP given in Nachos group.

TAs

  • Shuchang Zhang: zhangwfjh(at)gmail(dot)com
  • Bo Chen: befitish(at)gmail(dot)com
  • Xinjian Zhang: zhangxinjian1015(at)gmail(dot)com