Course Title: Operating Systems Principles

Part A: Course Overview

Course Title: Operating Systems Principles

Credit Points: 12.00

Important Information:

Please note that this course may have compulsory in-person attendance requirements for some teaching activities. 

Please check your Canvas course shell closer to when the course starts to see if this course requires mandatory in-person attendance. The delivery method of the course might have to change quickly in response to changes in the local state/national directive regarding in-person course attendance. 


Terms

Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

COSC1112

City Campus

Postgraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 2 2006,
Sem 2 2009,
Sem 2 2010,
Sem 2 2011,
Sem 2 2012,
Sem 2 2013,
Sem 2 2014,
Sem 2 2015

COSC1112

City Campus

Postgraduate

171H School of Science

Face-to-Face

Sem 2 2017,
Sem 2 2018,
Sem 2 2020

COSC1114

City Campus

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 2 2006,
Sem 2 2009,
Sem 2 2010,
Sem 2 2011,
Sem 2 2012,
Sem 2 2013,
Sem 2 2014,
Sem 2 2015

COSC1114

City Campus

Undergraduate

171H School of Science

Face-to-Face

Sem 2 2018,
Sem 2 2019,
Sem 2 2020

COSC1114

City Campus

Undergraduate

175H Computing Technologies

Face-to-Face

Sem 2 2022

COSC2237

Taylors College KL

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Offsh 3 10,
Offsh 3 11

Course Coordinator: Dr. Ron van Schyndel

Course Coordinator Phone: +61 3 9925 9677

Course Coordinator Email: ron.vanschyndel@rmit.edu.au

Course Coordinator Location: City campus, Building 14, Level 11, Room 29

Course Coordinator Availability: by appointment


Pre-requisite Courses and Assumed Knowledge and Capabilities

Required Prior Study: 

COSC1076/2207 Advanced Programming Techniques    

Note it is a condition of enrolment at RMIT that you accept responsibility for ensuring that you have completed the prerequisite/s and agree to concurrently enrol in co-requisite courses before enrolling in a course.

For your information the RMIT Course Requisites policy can be found at Course requisites – 7.29.1.6: http://www.rmit.edu.au/browse;ID=twx09y07zi1c 


Course Description

This course builds on skills gained in preliminary programming courses in both Java and C programming languages and gives you an in-depth understanding of designing and implementing operating systems. The course covers both theoretical and practical challenges encountered when designing, implementing, and using operating systems. We also evaluate trade-offs between conflicting objectives in large scale system design. Core topics include operating system structure, hardware interfaces and abstraction, process scheduling and dispatch, threading, synchronization, interprocess communications, memory management, file systems, system security and protection, and virtualisation. 


Objectives/Learning Outcomes/Capability Development

Program Learning Outcomes

This course is an option course so it is not required to contribute to the development of program learning outcomes (PLOs) though it may assist your achievement of several PLOs.    

 


Course Learning Outcomes

Upon successful completion of this course you should be able to:

  1. Describe how computing resources (such as CPU and memory) are managed by the operating system, describe the basic principles used in the design of modern operating systems.
  2. Summarise the full range of considerations in the design of file systems, summarise techniques for achieving synchronisation in an operation system,
  3. Explain the objective and functions of modern operating systems, explain memory hierarchy and cost-performance trade-offs, explain the operation, implementation and performance of modern operating systems, and the relative merits and suitability of each for complex user applications
  4. Compare and contrast the common algorithms used for both pre-emptive and non-pre-emptive scheduling of tasks in operating systems, such a priority, performance comparison, and fair-share schemes. Contrast kernel and user mode in an operating system
  5. Evaluate and report appropriate design choices when solving real-world problems
  6. Analyse the key trade-offs between multiple approaches to operating system design.

 

 

 


Overview of Learning Activities

The learning activities included in this course are:

  • A major component of this course is assignment work, where you will gain practical experience in implementing and manipulating common components of modern operating systems.
  • Key concepts will be explained in pre-recorded lectorial videos/classes or online, where course material will be presented and the subject matter will be illustrated with demonstrations and examples.
  • Tutorials and labs, and/or group discussions (including online forums), focus on analysis and problem solving of practical work, and allow exploration of concepts with teaching staff and other students, and give feedback on your progress and understanding.
  • Private study, working through the course as presented in classes and learning materials, and gaining practice at solving conceptual and technical problems, is important as well as engaging with assessment tasks.    


Overview of Learning Resources

The course is supported by the Canvas learning management system which provides specific learning resources. See the RMIT Library Guide at http://rmit.libguides.com/compsci 

 


Overview of Assessment

Note: This course has no hurdle requirements.


Assessment Tasks


Assessment Task 1:  Individual Assignment 1 

Students  are required to submit a programmatic solution.

Weighting 40%

This assessment task supports CLOs 2, 4, 5 & 6


Assessment Task 2: Team Assignment 2 

Students in a team are required to submit a solution.

Weighting 40%

This assessment task supports CLOs 1, 2, 3, 4, 5 & 6


Assessment Task 3: End of Semester Online Test 

Students are  individually required to do an online test at the end of semester

Weighting 20%

This assessment task supports CLOs 1, 2, 3, 4, 5 & 6