University of Technology Sydney

48450 Real-time Operating Systems

Warning: The information on this page is indicative. The subject outline for a particular session, location and mode of offering is the authoritative source of all information about the subject for that offering. Required texts, recommended texts and references in particular are likely to change. Students will be provided with a subject outline once they enrol in the subject.

Subject handbook information prior to 2024 is available in the Archives.

UTS: Engineering: Electrical and Data Engineering
Credit points: 6 cp

Subject level:

Undergraduate

Result type: Grade and marks

Requisite(s): 31251 Data Structures and Algorithms OR 48430 Fundamentals of C Programming

Description

This subject addresses the purposes, design alternatives and uses of computer operating systems for programming in embedded systems, PC, and servers. After several weeks studying the areas of responsibility that an operating system possesses in the context of a conventional computing environment (PC and server), a treatment of operating systems in support of meeting real-time computing requirements, such as managing operating for programming on PC and server, is completed.

Topics include: process management, scheduling and inter-process communication, memory management and I/O device management. Comparisons of designs including monolithic and microkernel approaches. Embedded systems are explored as case studies for investigating operating systems modifications. The Linux kernel is studied as an example of a UNIX environment and programming exercises are completed in POSIX compliant C. Real-time systems are studied including real-time kernels and real-time CPU scheduling.

Subject learning objectives (SLOs)

Upon successful completion of this subject students should be able to:

1. Show competence in using and writing application programs in POSIX compliant C that is applied on a Unix operating system. (D.1)
2. Illustrate the basic principles of the design and implementation of an operating system to create an experimental analysis report. (C.1)
3. Solve quantitative and qualitative problems related to understand operating system design and use. (C.1)
4. Identify the basic principles of real-time systems analysis to understand Linux systems. (D.1)

Course intended learning outcomes (CILOs)

This subject also contributes specifically to the development of the following Course Intended Learning Outcomes (CILOs):

  • Design Oriented: FEIT graduates apply problem solving, design and decision-making methodologies to develop components, systems and processes to meet specified requirements. (C.1)
  • Technically Proficient: FEIT graduates apply abstraction, mathematics and discipline fundamentals, software, tools and techniques to evaluate, implement and operate systems. (D.1)

Contribution to the development of graduate attributes

Engineers Australia Stage 1 Competencies

This subject contributes to the development of the following Engineers Australia Stage 1 Competencies:

  • 1.3. In-depth understanding of specialist bodies of knowledge within the engineering discipline.
  • 2.1. Application of established engineering methods to complex engineering problem solving.
  • 2.2. Fluent application of engineering techniques, tools and resources.

Teaching and learning strategies

Students will learn in this subject by watching online lecture videos and reading the recommended sections in the readings and textbook, and then by coming to class for interactive tutorials which build on these online lectures and readings. Students are required to undertake quizzes and tests to demonstrate that they have understood the subject content.

After each quiz/test, students will form groups (4 to 5 students in a group) and discuss the quiz/test. The group discussion is a collaborative manner that aims to deduce some reasons about why they have given these answers.

Two projects will be assigned to students, so that they can demonstrate and/or implement many of the concepts from the subject in practical applications. Students will need to work individually on their projects and submit their assignments by the due dates, as well as prepare for the final exam.

Students are expected to spend about 8 hours per week in total for this subject, assuming he/she is an average student and wants to achieve a pass grade. This includes time spent in the classes. It should be noted that class teaching will not be mainly used for lectures, but for interactive tutorials, individual quizzes and group discussions.

Content (topics)

Topics include:

  • Process and Thread management
  • Inter-process communication schemes
  • Process scheduling schemes
  • Memory management and virtual memory
  • I/O Device management
  • Protection and Security
  • Real-time Systems

Assessment

Assessment task 1: Lab Q&A and quizzes

Intent:

To allow students to gain feedback on their understanding of lab activities and key topics taught in this subject.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

1, 2 and 3

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

C.1 and D.1

Type: Quiz/test
Groupwork: Individual
Weight: 15%

Assessment task 2: Programming assignment and concept study

Intent:

To provide students with an opportunity to demonstrate an enhanced level of practical skills in systems programming and simple report writing. In brief, students are required to write a program, and execute their program on an instructor's PC to verify the program is functional, in order to meet the learning requirements defined in this subject.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

1, 2 and 3

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

C.1 and D.1

Type: Report
Groupwork: Group, group assessed
Weight: 20%

Assessment task 3: Programming assignment and experimental analysis report

Intent:

To provide students with an opportunity to demonstrate an enhanced level of practical skills in systems programming, experiment analysis and report writing. In brief, students are required to wirte a program, and execute their program on an instructor's PC to verify the program is functional, in order to meet the learning requirements defined in this subject. An analysis report is required after the program and experiments.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

1, 2, 3 and 4

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

C.1 and D.1

Type: Report
Groupwork: Individual
Weight: 25%

Assessment task 4: Final skills examination

Intent:

To allow students to demonstrate mastery of the knowledge and skills components across the whole session.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

2, 3 and 4

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

C.1 and D.1

Type: Laboratory/practical
Groupwork: Individual
Weight: 40%
Length:

2 hours

Minimum requirements

In order to pass the subject, a student must achieve an overall mark of 50% or more.

Required texts

Silberschatz, Galvin, Gagne “Operating Systems Concepts” 8th Edition, John Wiley and sons, 2008. ISBN 978-0-470-12872-5 (an eBook is available in UTS Library)

Or

Silberschatz, Galvin, Gagne "Operating Systems Concepts" 9th Edition, John Wiley and sons, 2013. ISBN 978-1-118-06333-0 (Print copies are available in UTS Library)

Either of these books will be fine - the 9th edition is available as an eBook at greatly reduced price, compared to the printed and bound version. There will be a common set of tutorial problems selected from both editions, so it doesn't matter which you decide upon using

References

Readings, Lecture Slides and Papers as directed and stored on UTS Canvas

Other resources

UTS Canvas will be used to provide online support.
You should check UTS Canvas daily for any news regarding the subject.
UTS Canvas Discussion Forums are for technical questions and answers.