Course Title: Operating Systems Principles

Part A: Course Overview

Course Title: Operating Systems Principles

Credit Points: 12.00

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,
Sem 2 2023,
Sem 2 2024

COSC2237

Taylors College KL

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Offsh 3 10,
Offsh 3 11

Course Coordinator: Dr. Qiang Fu

Course Coordinator Phone: by email

Course Coordinator Email: qiang.fu@rmit.edu.au

Course Coordinator Location: -

Course Coordinator Availability: by appointment


Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced Pre-Requisite Courses
Successful completion of:  

  • COSC1076/2207 Advanced Programming Techniques OR
  • EEET2482 Software Engineering Design OR
  • COSC2804 Programming Studio 2

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 go to RMIT Course Requisites webpage. 


Course Description

This course builds on skills gained in preliminary programming courses in both C/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.    

For more information on the program learning outcomes for your program, please see the program guide.  

 


Course Learning Outcomes (CLOs)

Upon successful completion of this course, you will 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 as 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

You will be actively engaged in a range of learning activities such as lectorials, tutorials, practicals, laboratories, seminars, project work, class discussion, individual and group activities. Delivery may be face to face, online or a mix of both. 

You are encouraged to be proactive and self-directed in your learning, asking questions of your lecturer and/or peers and seeking out information as required, especially from the numerous sources available through the RMIT library, and through links and material specific to this course that is available through myRMIT Studies Course.  


Overview of Learning Resources

RMIT will provide you with resources and tools for learning in this course through myRMIT Studies Course

There are services available to support your learning through the University Library. The Library provides guides on academic referencing and subject specialist help as well as a range of study support services. For further information, please visit the Library page on the RMIT University website and the myRMIT student portal


Overview of Assessment

Note: This course has no hurdle requirements.

Assessment Tasks

Assessment Task 1:  Assignment 1 
Students are required to submit a programmatic solution.
Weighting 30%
This assessment task supports CLOs 2, 5 & 6.

Assessment Task 2: Assignment 2 
Students are required to submit a programmatic solution.
Weighting 30%
This assessment task supports CLOs 1, 3, 5 & 6.

Assessment Task 3: Assignment 3
Students are required to submit solutions to a range of problems.
Weighting 40%
This assessment task supports CLOs 1, 2, 3, 4, 5 & 6.

If you have a long-term medical condition and/or disability it may be possible to negotiate to vary aspects of the learning or assessment methods. You can contact the program coordinator or Equitable Learning Services if you would like to find out more.