Advanced Operating Systems COMP9242 2007/S2 |
UNSW
CRICOS Provider Number: 00098G |
Printer-Friendly
Version
|
Course IntroductionCONTENTS
COURSE GOALTo provide students with a deep understanding of modern operating system technology, implementation techniques and research issues. Our approach to achieving this goal is to expose students to advanced topics in operating systems via interactive lectures that examine specialist topics, and selected research papers and their results. Further, students undertake a substantial practical project where students apply their skills to advanced operating system construction. Together, both components give students an advanced theoretical foundation in operating systems, that is re-enforced through practical application. This course builds upon the basic operating systems course (COMP3231/9201/3891/9283), which provides an understanding of the underlying operating systems which students have implicitly relied upon in developing applications in foundational courses within Computer Science and Engineering, and will rely on in their future careers when developing systems and applications. Advanced operating systems enables students to specialise in operating systems, giving them the background to become operating systems developers, either themselves or as part of a team. This course contributes to the the students graduate attributes in the following ways:
OBJECTIVES
TechnicalProvide in-depth coverage of modern operating system issues, such as:
Educational
Professional
PREREQUISITES
General
Course Prerequisites
CONSTITUENTS
LecturesA rough outline of the lectures is (subject to change): Introduction and OverviewIntroduction to the L4 MicrokernelL4 system calls and usage (to get you started on the project)
A close look at selected OS issues
Microkernels and User-level ServersHistory and motivation for microkernel systems, Hydra, Mach, discussion, experiences; second-generation microkernel systems, L4, Exokernel, Spin; design and implementation of microkernel-based systems, including user-level page fault handling and device driversMicrokernel ConstructionA detailed look at the internals of a real microkernel (L4).Other topicsCandidates are: Embedded systems projects in NICTA, Gelato@UNSW projects, UNSW Mungi project
Laboratories/ProjectLab work forms a major component of the course. This will be carried out using a take-home hardware kit that can be used in any of the School's Linux labs, or on students own machines. Labs commence in Week 1. Students will be provided with a Cisco/Linksys NSLU2 (“Slug”) which have an Intel XScale processor conforming to the ARM v5 instruction set. These nodes are set up to run NICTA L4-embedded, a microkernel derived from Karlsruhe's L4Ka::Pistachio and which had originally been ported to the ARM architecture by Carl van Schaik and Harvey Tuch at NICTA and UNSW. The Slugs are connected to Linux hosts running an L4 development environment. OS code is developed and compiled there and then downloaded to the Slug, which present a minimum environment ideally suited for low-level systems programming exercises. Documentation as well as sample code will be provided. After some ``warm-up'' experiments students will work in groups of two on a project, which constructs various OS components, with the ultimate aim of producing a small (and very efficient) operating system. A series of milestones are defined to aid the implementation. Milestones and the final project will be demonstrated to School staff and the code submitted for assessment. Complete system documentation will form the final deliverable. Details will be published in due course. Milestones must be demonstrated at the scheduled demonstration time in the week in which they are due. Milestone deadlines missed by no more than one week will cause a loss of 25% of the mark for that particular milestone, if missed by more that one week the penalty is 50%, up to a maximum of two weeks. No submissions/demos will be accepted later than two weeks after the deadline. Furthermore, students will not be allowed to continue with the course unless they have given a satisfactory demonstration of the first two milestones (m0 and m1) within one week of the respective due date! Alternative projects may be given to some students by special arrangements. The main criteria for this is that the project is at least as challenging as the standard project, and that I am convinced that the student(s) are up to it. CheatingPlagiarism in any form will be dealt with consistent with School (http://www.cse.unsw.edu.au/~studentoffice/policies/plagiarism.html) and
University (http://www.lc.unsw.edu.au/plagiarism/) policies.
There will be a final exam, in the form of a 24h
take-home. Students will be given one day to read and analyse
two recent research papers relevant to the material covered in
the course, and submit a critical report on it. See the previous years' exams for examples.
Supplementary exams will only be awarded in well justified cases, in
accordance with School policy, not as a second chance for
poorly performing students. In particular, it is highly unlikely that
a supplementary will be awarded to students who have actually
submitted an exam. Make up your mind whether or not you are sick
before submitting!
Supplementary exams will have the same format as the normal exam, and
will be probably be on the day after the written supplementary exams held for
other courses.
See the consultation schedule.
The project is the heart of this course, which is all about learning
about OS design and implementation “hands on”. It will
dominate the workload for the course, and will develop valuable and
highly-sought-after systems skills in students. Consequently, the
project is the dominating assessment component.
Project work counts for 65%, the exam for 35% of the final
mark. A minimum mark of 14 (i.e., 40% of the maximum) is
required in the exam to receive a passing grade. This is to ensure that no-one can pass the course on project work alone.
We conduct a detailled on-line survey at the end of each session, in
order to identify any shortcomins with the course. This has in the
past helped to maintain and improve the quality of the course.
In order to emphasise that we take student comments very seriously, we
publish all surveys uncensored, with the
possible exception of removing statements other people could find
upsetting (the LiC isn't easily insulted ;-). In some cases they are
accompanied by comments by the LiC.
N/A
COMP9242 is weighted at 6 UoC.
Expectations and responsibilities of students, OH&S and equity and
diversity issues are covered in the School's Yellow
Form which every student needs to sign.
There is no textbook for this course, as no published book covers the
material in sufficient depth. Plenty of handouts will be provided.
The menu bar on the left provides links to all relevant documentation
for hardware and software.
Lecture slides and other information can be
found under the course's WWW home page at URL
http://www.cse.unsw.edu.au/~cs9242/.
Dhammika Elkaduwe, Rafal Kolanski and Nicholas Fitzroy-Dale are highly experienced students who will be supporting the course, provide consultations and assess milestone demonstrations. Last modified: 25 Jul 2007. |