[an error occurred while processing this directive]
Project
The practical component of this course consist of a simple initial
exercise and one large project. The below milestones indicate when
certain parts are to be delivered.
Note: Before starting on any
assignment work first study the ASysT Lab page
and build and run the hello-world program linked to that page. Do not try to go further until you have done
this!
The initial exercise (``milestone 0'') is a
``warm-up'' designed to get you into the swing of L4. It is due in
week 3 and timely demonstration will be worth 4 marks. Further
milestones constitute parts of the project. Milestone 0 is best
done individually, but I will allow demonstrations individually as well
as by groups.
Project
The other milestones constitute the major project SOS: A Simple Operating System. 
The project is to be done in groups of two. You will need explicit
approval from the LiC for any other group size. Try to get your group
organised. Contact me if
you have not found a partner by the end of Week 3.
Almost half of the marks obtainable by project work can be obtained for
timely and complete demonstration of the intermediate milestones. The
remaining marks will be determined by our assessment of your project and
documentation. The assessment involves:
- testing your code and its conformance with specifications,
- inspecting your code as to how well and efficiently it is written,
and
- perusing your documentation as to its completeness, appropriateness
and consistency with your implementation.
The due dates of the various milestones are:
- Week 3: Milestone 0  (4 marks, minus 1 per week late).
- Week 4: Milestone 1  (4 marks, minus 1 per
week late).
- Week 5: Milestone 2  (4 marks, minus 1 per
week late).
- Week 6: Milestone 3  (4 marks, minus 1 per
week late).
- Week 7: Milestone 4  (4 marks, minus 1 per
week late).
- Week 8: Milestone 5  (4 marks, minus 1 per
week late).
- Week 9: Milestone 6  (4 marks, minus 1 per
week late).
- Week 10: Milestone 7 (4 marks, minus 1 per week
late).
- Week 11: Milestone 8 (25 marks, minus 6 per week
late).
- Week 11: Shared Memory
Bonus (optional, 2 marks, minus 1 per week late).
- Week 11: Clock Driver
Bonus (optional, 2 marks, minus 1 per week late).
- Week 11: File System
Caching Bonus (optional, 2 marks, minus 1 per week late).
- Week 11: Dynamic File System
Bonus (optional, 2 marks, minus 1 per week late).
- Week 11: OS Paging
Bonus (optional, 2 marks, minus 1 per week late).
- Week 11: NFS
Bonus (optional, 4 marks, minus 1 per week late).
- Week 12: Final
Milestone (8 marks, minus 2 per week late).
Olympics break arrangements: As far as milestone demonstrations and
submissions are concerned, the Olympics break is considered
non-existent. For example, demonstrating Milestone 5 in Week 9 will cost you
one mark.
Notes on bonus marks:
- No bonus marks will be awarded on a ``sympathy'' basis for a
well-intended attempt - your code implementing a bonus feature must
completely work (except for maybe some minor details) in order to
qualify for a bonus.
- Bonus marks can also be obtained by finding bugs in L4: The
first student who proves an as-yet-unkonwn bug in our L4
implementation will receive two bonus marks. This bonus only
applies to L4 kernel bugs, not library bugs. Any student who
fixes an L4 kernel bug will also receive two bonus
marks.
- The maximum number of bonus marks that can be accumulated is
10, no matter how they have been earned.
- Bonus marks (for L4 bugs or for doing a bonus component of the
project) can be used to make up for lost project marks, up to the
maximum project mark possible (65). If your total project marks,
including bonus, exceeds 65, the surplus can be used at half face
value for marks lost in the exam.
- Bonus marks cannot be used if the raw exam mark is less
than 40%, a 40% raw exam mark is an absolute prerequisite for
passing the course!
Problems?
If you have problems you should first check:
Make sure you check these first before asking us. We'll send you
straight back to do your homework if you ask questions which are already
answered there!
Warning!
Some students are tempted to write some tricky or obscure code for these
projects. Other students run into problems by trying to do too much.
I can only reiterate that the debugging environment you have on the
U4600s is extremely spartanic. You will not do yourself a favour by
writing obscure or particularly tricky code. You'll most likely end up
getting hoplessly tangled up in your own code. Don't do this.
Write your code as clearly, obviously and straightforward as
possible. This is the best safeguard against obscure bugs. I believe
that the project is challenging enough as it is, there is no need to
make it harder.
Furthermore, when doing the final project marking I will obviously
not look with much sympathy upon code I find difficult to understand.
The same applies for implementing features beyond the project
specifications. You are welcome to do this, but, in your own interest,
you are strongly advised to implement the required features
first. First make it work, then go for the extras! The only students
who have failed the course to date have ignored this rule — at their
peril!
Demonstration
of Milestones
Your are to show that your project
passes the milestone requirements by demonstrating its operation to
either Gernot Heiser or Alan Au in one of their consultation times during the week the
milestone is due. In addition, you are to submit your source
code using the give system.
COMP9242,
School of Computer Science and Engineering,
University of New South Wales
This page is maintained by
gernot@cse.unsw.edu.au.
Last modified: Wednesday, 16-Aug-2000 17:07:31 AEST
[an error occurred while processing this directive]
Last modified:
Wednesday, 16-Aug-2000 17:07:31 AEST