Loading...

Course Description

The purpose of this course is to provide students basic knowledge of operating systems, difference between the kernel and user modes, concepts of application program interfaces, methods and implementations of interrupts. Students are introduced to the schedulers, policies, processes, threads, memory management, virtual memory, protection, access control, and authentication. Students learn system calls in different popular operating systems used in the industry.

Learning outcomes

  • Explain the objectives and functions of modern operating systems.
  • Describe how computing resources are used by application software and managed by system software.
  • Describe reasons for using interrupts, dispatching, and context switching to support concurrency in an operating system.
  • Evaluate the trade-offs in terms of memory size (main memory, cache memory, auxiliary memory) and processor speed.
  • Articulate the need for protection and security in an operating system.

Course topics

  • Module 1: Introduction, and Computer System Structures
  • Module 2: Operating System Structures
  • Module 3: Processes
  • Module 4: Threads
  • Module 5: CPU Scheduling
  • Module 6: Synchronization Tools
  • Module 7: Synchronization Examples
  • Module 8: Deadlocks
  • Module 9: Main Memory Management
  • Module 10: Virtual Memory
  • Module 11: Mass Storage Structure
  • Module 12: Input/Output
  • Module 13: File System Interface
  • Module 14: File System Implementation

Required text and materials

Students are responsible for purchasing the required materials on their own:

  • Silberschatz, A., Galvin, P.B., & Gagne, G. (2018). Operating System Concepts with Java, (10th ed.). John Wiley & Sons.
    Type: E-Text. ISBN: 9781119320913

Note:This item can be purchased directly from Campus eBookstore via Wolfie's Campus Store.

Additional requirements

  • Java Programming Language
  • Microsoft Office or other Office software to view Power Point presentations

Assessments

Please be aware that should your course have a final exam, you are responsible for the fee to the online proctoring service, ProctorU, or to the in-person approved Testing Centre. Please contact exams@tru.ca with any questions about this.

To successfully complete this course, students must achieve a passing grade of 50% or higher on the overall course, and 50% or higher on the final mandatory exam.

Assignment 1: Introduction to Linux 5%
Assignment 2: Unix Processes 5%
Assignment 3: Multithread Programming 9%
Assignment 4: Calculation of CPU Scheduling Algorithms 5%
Assignment 5: Process Synchronization 8%
Assignment 6: Memory Management 8%
Assignment 7: Mass Storage 5%
Assignment 8: File Systems 5%
Final Examination (mandatory) 50%
Total: 100%

Recommended requisite(s)

  • COMP 2231 (or a course similar in content)
  • COMP 2131 with a score of C

Exclusions

  • COMP 3410
Loading...

Enrol now - select a section to enrol in

Section Title
Operating Systems
Section Schedule
Any Time (30 weeks duration)
Course Fee(s)
Canadian in BC/YT non-credit $672.75 Click here to get more information
Canadian outside BC/YT non-credit $781.83 Click here to get more information
International Student non-credit $1,686.15 Click here to get more information
Available for Credit
3 credits

Open Learning faculty member information

An Open Learning faculty member is available to assist students. Students will receive the necessary contact information at the start of the course.

Required fields are indicated by .