|Course Title||Advanced Operating Systems|
|Convenor||Kevin Elphinstone , Gernot Heiser|
|Classes||Lectures : Timetable for all classes|
|Units of Credit||6|
The course provides students with a deep understanding of modern operating system technology, implementation techniques and research issues.
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 or embedded-systems developers or researchers, either themselves or as part of a team.
a distinction grade in COMP3231/COMP3891/COMP9201/COMP9283 (Extended) Operating Systems (pre-requisite)
On successfully completing the course, students should be capable of:
This course contributes to the development of the following graduate capabilities:
|Graduate Capability||Acquired in|
|Scholars capable of independent and collaborative enquiry, rigorous in their analysis, critique and reflection, and able to innovate by applying their knowledge and skills to the solution of novel as well as routine problems||
The challenging project enables student to further develop the analytical skills required to manage system complexity, creative problem solving, and engages student in collaborative and in-depth application of their operating system skills.
Interactive examination during lectures of relevant research in the field develops critical thinking, and engages students in examples of scholarly enquiry.
|Entrepreneurial leaders capable of initiating and embracing innovation and change, as well as engaging and enabling others to contribute to change||The course, with its focus on self-directed learning and helping students to excel above expectations contributes to developing leadership skills. Many of its alumni fund companies or end up in leading positions in the innovation ecosystem.|
|Professionals capable of ethical, self- directed practice and independent lifelong learning||
The project also requires students to develop their skills in locating the relevant information required complete the project, evaluate the information's relevance to the project, and when required, digest and apply the information, and self-evaluate their own understanding of the material.
|Global citizens who are culturally adept and capable of respecting diversity and acting in a socially just and responsible way||The course is built on world-leading open-source technology and encourages and enables students to become players in the world-wide open-source community. It also enables many students with ordinary WAMs to excel, teaching them that what you do is more important than where you come from.|
A rough outline of the lectures is (subject to change):
Lab 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.
In the first lecture, students will be provided access to their Odroid-C2 lab kits.
The Odroids run seL4 , a third-generation microkernel developed from scratch by Kevin Elphinstone and his team, part of the Trustworthy Systems group at Data61 (formerly NICTA). The kernel is the latest in a series of L4 microkernels designed at Karlsruhe , UNSW and Data61, and has some revolutionary properties which will be disused in class. Most famously, it is the world's first (and so far only) OS kernel with a formal proof of functional correctness ; this was done by the ERTOS team under the lead of Gerwin Klein . The ERTOS engineers and research students are mostly alumni of this course.
The Odroids connect to Linux hosts running an L4 development environment. OS code is developed and compiled there and then downloaded to the Odroid, 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.
Milestones must be demonstrated at a consultation time in the week following the week that the milestone is due. Both partners must be present and participate in milestone demonstrations as milestone demonstrations are assessed individually. Milestone deadlines missed by no more than one week will cause a loss of 20% of the mark for that particular milestone, if missed by more that one week the penalty is 40%, 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.
Our approach to achieving the learning outcomes 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 they 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.
The Student Code of Conduct ( Information , Policy ) sets out what the University expects from students as members of the UNSW community. As well as the learning, teaching and research environment, the University aims to provide an environment that enables students to achieve their full potential and to provide an experience consistent with the University's values and guiding principles. A condition of enrolment is that students inform themselves of the University's rules and policies affecting them, and conduct themselves accordingly.
In particular, students have the responsibility to observe standards of equity and respect in dealing with every member of the University community. This applies to all activities on UNSW premises and all external activities related to study and research. This includes behaviour in person as well as behaviour on social media, for example Facebook groups set up for the purpose of discussing UNSW courses or course work. Behaviour that is considered in breach of the Student Code Policy as discriminatory, sexually inappropriate, bullying, harassing, invading another's privacy or causing any person to fear for their personal safety is serious misconduct and can lead to severe penalties, including suspension or exclusion from UNSW.
Plagiarism is defined as using the words or ideas of others and presenting them as your own. UNSW and CSE treat plagiarism as academic misconduct, which means that it carries penalties as severe as being excluded from further study at UNSW. There are several on-line sources to help you understand what plagiarism is and how it is dealt with at UNSW:
Make sure that you read and understand these. Ignorance is not accepted as an excuse for plagiarism. In particular, you are also responsible that your assignment files are not accessible by anyone but you by setting the correct permissions in your CSE directory and code repository, if using. Note also that plagiarism includes paying or asking another person to do a piece of work for you and then submitting it as your own work.
UNSW has an ongoing commitment to fostering a culture of learning informed by academic integrity. All UNSW staff and students have a responsibility to adhere to this principle of academic integrity. Plagiarism undermines academic integrity and is not tolerated at UNSW. Plagiarism at UNSW is defined as using the words or ideas of others and passing them off as your own.
If you haven't done so yet, please take the time to read the full text of
The pages below describe the policies and procedures in more detail:
You should also read the following page which describes your rights and responsibilities in the CSE context:
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. The project work counts for 65% of the final mark. Students must contribute equally to the project work. In the case of significantly unequal contributions, the marks of the lesser contributor will be reduced.
The exam contributes 35% of the final mark. A minimum mark of 14 (i.e., 40% of the maximum) is required in the exam, otherwise the final mark is capped at 45. This is to ensure that no-one can pass the course on project work alone.
|Project start (individuals)||Week 1||5%|
|Project (groups)||Weekly milestones||60%|
|Final Exam||Exam period||35%|
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.
The topics covered are indicated in Teaching Strategies above. The precise order varies due to the varied availability of guest experts that cover specific material. See the lectures web page for the current schedule.
There is a weekly milestone due as described on the project web page , except for week 6 (flexibility week).
There is no textbook for this course, as no published book covers the material in sufficient depth. Lecture slides and plenty of handouts will be provided.
We conduct a detailed on-line survey at the end of each session, in order to identify any shortcomings of 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.
This time, the main issue student complained about (and that's under our control) is week-end deadlines. We listened and shifted project deadlines to weekdays (generally Fri evening).
Resource created Friday 28 May 2021, 01:50:24 PM, last modified Tuesday 01 June 2021, 03:15:12 PM.