Students

COMP2291 – Operating Systems

2024 – Session 1, In person-scheduled-weekday, North Ryde

General Information

Download as PDF
Unit convenor and teaching staff Unit convenor and teaching staff
Richard Han
Tutor
Bailey Gibbons
Gaurav Gupta
Credit points Credit points
10
Prerequisites Prerequisites
COMP1010 or COMP125
Corequisites Corequisites
Co-badged status Co-badged status
COMP 6291
Unit description Unit description

This unit will introduce the concept of an operating system and describe its software architecture and interaction with modern computer hardware. The unit will cover topics on resource management of the central processing unit (CPU), memory, storage, network communication, and Input/Output (I/O) devices. Students will learn concepts such as multitasking, processes, address spaces, isolation, scheduling, concurrency, fairness, multithreading, synchronization, deadlock, virtual memory, interrupts, computer architecture, signals, kernels, user-space, file systems, the layered network stack, security, and virtualisation. The performance tradeoffs in the design of various components of the operating system will be discussed.

Important Academic Dates

Information about important academic dates including deadlines for withdrawing from units are available at https://www.mq.edu.au/study/calendar-of-dates

Learning Outcomes

On successful completion of this unit, you will be able to:

  • ULO1: Demonstrate an ability to apply resource management concepts and principles to application design and execution (CPU, memory, storage/files, network/I/O, processes).
  • ULO2: Develop software programs that support concurrency and multi-threading.
  • ULO3: Develop a simple device driver that demonstrates the connection between operating systems and hardware.
  • ULO4: Explain the structure/architecture and function of an Operating System.
  • ULO5: Demonstrate an understanding and ramifications of security and fault isolation.
  • ULO6: Demonstrate an understanding of virtualisation concepts.

General Assessment Information

Assessments

The assessment is divided into four major components, namely midterm exam, final exam, weekly quizzes, and the coding assignment. The weightings of each component are designated above. The midterm exam will be held in the workshops during week 7. The Final exam will be held in rooms designated by the university during the exam period. Exams will be on iLearn. More details will be posted on iLearn later in the term. Weekly quizzes will be due on iLearn. These will likely include short answer, fill in the blank, and multiple choice type of questions. 

The coding assignment will be divided into two major subcomponents or labs, with lab 1 due mid semester (week 7) and lab 2 due at the end of the term (week 13). Each lab will have multiple stages due at different times leading up to their final due dates. Each lab will also have a viva component as part of the assessment where you will be asked to explain your code. See iLearn for more details. Lab assignments will primarily use the C programming language, but may include other components involving Makefiles, scripting, etc.  

Late Assessment Submission

Late assessments are not accepted in this unit unless a Special Consideration has been submitted and approved.

Requirements to Pass this Unit 

Whilst there are a number of learning activities and assessments that make up the unit, in order to pass the unit the only requirement is that you achieve a total mark equal to or greater than 50%.

There are no hurdle requirements for the unit. 

Assessment Tasks

Name Weighting Hurdle Due
Mid-semester exam 20% No Week 7
Final exam 20% No Exam Period
Quiz 10% No Weekly
Assignment 50% No Week 7 and 13

Mid-semester exam

Assessment Type 1: Examination Indicative Time on Task 2: 20 hours Due: Week 7 Weighting: 20%

 

An examination allows us to individually and securely assess student's mastery of the coursework material.

 

On successful completion you will be able to:

  • Demonstrate an ability to apply resource management concepts and principles to application design and execution (CPU, memory, storage/files, network/I/O, processes).
  • Explain the structure/architecture and function of an Operating System.

Final exam

Assessment Type 1: Examination Indicative Time on Task 2: 20 hours Due: Exam Period Weighting: 20%

 

An examination allows us to individually and securely assess student's mastery of the coursework material.

 

On successful completion you will be able to:

  • Demonstrate an ability to apply resource management concepts and principles to application design and execution (CPU, memory, storage/files, network/I/O, processes).
  • Explain the structure/architecture and function of an Operating System.
  • Demonstrate an understanding and ramifications of security and fault isolation.
  • Demonstrate an understanding of virtualisation concepts.

Quiz

Assessment Type 1: Quiz/Test Indicative Time on Task 2: 10 hours Due: Weekly Weighting: 10%

 

The Quiz is an in-class test. It is a formative assessment that can be used to measure students’ knowledge and comprehension of unit materials. Quiz Question types include multiple choice, matching items, true/false, short answer and many more. Quizzes allow for formative assessment feedback on basic conceptual competence and therefore usually span multiple learning outcomes.

 

On successful completion you will be able to:

  • Demonstrate an ability to apply resource management concepts and principles to application design and execution (CPU, memory, storage/files, network/I/O, processes).
  • Demonstrate an understanding and ramifications of security and fault isolation.
  • Demonstrate an understanding of virtualisation concepts.

Assignment

Assessment Type 1: Practice-based task Indicative Time on Task 2: 48 hours Due: Week 7 and 13 Weighting: 50%

 

A semester-long programming task where students put all their skills to work creating operating system components or modules.

 

On successful completion you will be able to:

  • Demonstrate an ability to apply resource management concepts and principles to application design and execution (CPU, memory, storage/files, network/I/O, processes).
  • Develop software programs that support concurrency and multi-threading.
  • Develop a simple device driver that demonstrates the connection between operating systems and hardware.
  • Demonstrate an understanding and ramifications of security and fault isolation.
  • Demonstrate an understanding of virtualisation concepts.

1 If you need help with your assignment, please contact:

  • the academic teaching staff in your unit for guidance in understanding or completing this type of assessment
  • the Writing Centre for academic skills support.

2 Indicative time-on-task is an estimate of the time required for completion of the assessment task and is subject to individual variation

Assessment Tasks

Name Weighting Hurdle Due
Final exam 20% No Exam Period
Mid-semester exam 20% No Week 7
Assignment 50% No Week 7 and 13
Quiz 10% No Weekly

Final exam

Assessment Type 1: Examination
Indicative Time on Task 2: 20 hours
Due: Exam Period
Weighting: 20%

 

An examination allows us to individually and securely assess student's mastery of the coursework material.

 


On successful completion you will be able to:
  • Demonstrate an ability to apply resource management concepts and principles to application design and execution (CPU, memory, storage/files, network/I/O, processes).
  • Explain the structure/architecture and function of an Operating System.
  • Demonstrate an understanding and ramifications of security and fault isolation.
  • Demonstrate an understanding of virtualisation concepts.

Mid-semester exam

Assessment Type 1: Examination
Indicative Time on Task 2: 20 hours
Due: Week 7
Weighting: 20%

 

An examination allows us to individually and securely assess student's mastery of the coursework material.

 


On successful completion you will be able to:
  • Demonstrate an ability to apply resource management concepts and principles to application design and execution (CPU, memory, storage/files, network/I/O, processes).
  • Explain the structure/architecture and function of an Operating System.
  • Demonstrate an understanding and ramifications of security and fault isolation.
  • Demonstrate an understanding of virtualisation concepts.

Assignment

Assessment Type 1: Practice-based task
Indicative Time on Task 2: 48 hours
Due: Week 7 and 13
Weighting: 50%

 

A semester-long programming task where students put all their skills to work creating operating system components or modules.

 


On successful completion you will be able to:
  • Demonstrate an ability to apply resource management concepts and principles to application design and execution (CPU, memory, storage/files, network/I/O, processes).
  • Develop software programs that support concurrency and multi-threading.
  • Develop a simple device driver that demonstrates the connection between operating systems and hardware.
  • Demonstrate an understanding and ramifications of security and fault isolation.
  • Demonstrate an understanding of virtualisation concepts.

Quiz

Assessment Type 1: Quiz/Test
Indicative Time on Task 2: 10 hours
Due: Weekly
Weighting: 10%

 

The Quiz is an in-class test. It is a formative assessment that can be used to measure students’ knowledge and comprehension of unit materials. Quiz Question types include multiple choice, matching items, true/false, short answer and many more. Quizzes allow for formative assessment feedback on basic conceptual competence and therefore usually span multiple learning outcomes.

 


On successful completion you will be able to:
  • Demonstrate an ability to apply resource management concepts and principles to application design and execution (CPU, memory, storage/files, network/I/O, processes).
  • Demonstrate an understanding and ramifications of security and fault isolation.
  • Demonstrate an understanding of virtualisation concepts.

1 If you need help with your assignment, please contact:

  • the academic teaching staff in your unit for guidance in understanding or completing this type of assessment
  • the Writing Centre for academic skills support.

2 Indicative time-on-task is an estimate of the time required for completion of the assessment task and is subject to individual variation

Delivery and Resources

Classes 

Each week you should attend two hours of lectures, and a two hour practical workshop. For details of scheduled classes consult the timetables webpage

Note that practicals workshops (lab sessions) commence in week 1. The week-by-week details of the practical (lab) classes will be available from iLearn. 

You must attend the practical that you are enrolled in. 

Textbook and Reading Materials 

Required Text Book 

"Operating Systems Concepts" 10th edition, by Silberschatz, Gagne and Galvin. 2021. We will assign weekly readings from the textbook during lecture and/or on iLearn. 

The text book is available in electronic form online, or you can purchase a printed copy from a book seller of your choice. Is this available in the Library? 

Recommended Text 

"The C Programming Language" 2nd edition, Brian W Kernighan and Dennis M Ritchie, Prentice-Hall 1988. 

This small book is the classic reference on C programming. 

Unit Websites 

COMP2291 / COMP6291 is administered via iLearn (http://ilearn.mq.edu.au/)

This unit outline can be found in the university's unit guides 

We will use iLearn as our main platform for making announcements, posting assignments, releasing lecture slides and other content, conducting quizzes and exams, and posting results. We will use the announcements forums on iLearn to post important messages to the class. Students may ask questions in a separate general iLearn forum, where we will answer them. 

Lecture Recordings 

Digital recordings of lectures may be available. They will be linked from iLearn. 

Technologies Used and Required 

COMP2291 / COMP6291 is a BYOD (Bring Your Own Device) unit. You will be expected to bring your own laptop computer (Windows, Mac, or Linux) to the workshop, install and configure the required software, and incorporate secure practices into your daily work (and play!) routines. 

General Notes 

In this unit, you should do the following:

  • Review recorded lecture materials. 

  • Attend your weekly Practical session. 

  • Attend lectures, take notes, ask questions. 

  • Work on any assignments that have been released. 

Note that Workshops commence in week 1. Please note that you will be required to submit work every week. 

Students will attend weekly workshops in person, where they will receive additional explanations on class assignments and topics, and may take examinations, be asked to present stages in their labs, be asked to explain their code in vivas, etc. Students should use these workshops to ask questions of their tutor.

Communication Methods in COMP2291 / COMP6291 

All annoucnements about unit-related matters will be communicated through iLearn. It is the student's responsibility to ensure they check iLearn announcements, forums, and other sections regularly. 

Students are encouraged to use the iLearn forums for asking questions about unit content and concepts. Where questions are about specific details in an assessment submission. 

Emails to the convenor, lecturer and/or tutors need to be preceded with a title identifying the class: COMP 2291 or 6291.  Any one-on-one commiunication with unit staff that is via email must be done through the student's official university email account (the one ending with '@students.mq.edu.au'). There may be occasions where unit staff will email a student directly to their @students.mq.edu.au email address. It is the student's responsibility to ensure they check their official university email regularly for communications from the university staff. 

Students may contact the convenor at the posted email above to have questions that cannot be otherwise answered by tutors or in the general forum, such as questions about policy in the class, but should avail themselves first of the general forum and tutors at their workshops to have technical questions about their assignments answered. 

Results will be released on iLearn in a timely manner, subject to certain acceptable delays such as accommodating special consideration late assessments.

Drop-In Centre 

There may be support at the Drop-In Centre in 4RPD.  Please contact them for more details.

COVID Information 

For the latest information on the University’s response to COVID-19, please refer to the Coronavirus infection page on the Macquarie website: https://www.mq.edu.au/about/coronavirus-faqs. Remember to check this page regularly in case the information and requirements change during semester. If there are any changes to this unit in relation to COVID, these will be communicated via iLearn. 

Unit Schedule

The tentative weekly schedule is as follows, and may be subject to change. See iLearn for more details. 

Week 1: Introduction to C and OS  

Weeks 2-3: Processes, threads, synchronization and deadlock 

Week 4: CPU Scheduling 

Weeks 5-6: Virtual memory 

Weeks 7-8: Input/Output 

Weeks 9-10: Storage and File Systems 

Week 11: Networking and Security 

Week 12:  Virtual Machines 

Week 13: Review 

Policies and Procedures

Macquarie University policies and procedures are accessible from Policy Central (https://policies.mq.edu.au). Students should be aware of the following policies in particular with regard to Learning and Teaching:

Students seeking more policy resources can visit Student Policies (https://students.mq.edu.au/support/study/policies). It is your one-stop-shop for the key policies you need to know about throughout your undergraduate student journey.

To find other policies relating to Teaching and Learning, visit Policy Central (https://policies.mq.edu.au) and use the search tool.

Student Code of Conduct

Macquarie University students have a responsibility to be familiar with the Student Code of Conduct: https://students.mq.edu.au/admin/other-resources/student-conduct

Results

Results published on platform other than eStudent, (eg. iLearn, Coursera etc.) or released directly by your Unit Convenor, are not confirmed as they are subject to final approval by the University. Once approved, final results will be sent to your student email address and will be made available in eStudent. For more information visit connect.mq.edu.au or if you are a Global MBA student contact globalmba.support@mq.edu.au

Academic Integrity

At Macquarie, we believe academic integrity – honesty, respect, trust, responsibility, fairness and courage – is at the core of learning, teaching and research. We recognise that meeting the expectations required to complete your assessments can be challenging. So, we offer you a range of resources and services to help you reach your potential, including free online writing and maths support, academic skills development and wellbeing consultations.

Student Support

Macquarie University provides a range of support services for students. For details, visit http://students.mq.edu.au/support/

The Writing Centre

The Writing Centre provides resources to develop your English language proficiency, academic writing, and communication skills.

The Library provides online and face to face support to help you find and use relevant information resources. 

Student Services and Support

Macquarie University offers a range of Student Support Services including:

Student Enquiries

Got a question? Ask us via the Service Connect Portal, or contact Service Connect.

IT Help

For help with University computer systems and technology, visit http://www.mq.edu.au/about_us/offices_and_units/information_technology/help/

When using the University's IT, you must adhere to the Acceptable Use of IT Resources Policy. The policy applies to all who connect to the MQ network including students.

Changes from Previous Offering

There are no significant changes from prior offerings.


Unit information based on version 2024.03 of the Handbook