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
- Explain the objectives and functions of modern operating systems.
- Describe how computing resources are used by application software and managed by system
- 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.
- 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 require the following e-textbook, which can be purchased directly from the TRU
bookstore site at:
- Silberschatz, A., Galvin, P.B., & Gagne, G. (2018). Operating System Concepts with
Java, (10th ed.). John Wiley & Sons.
Type: E-Text. ISBN: 9781119320913
- Java Programming Language
- Microsoft Office or other Office software to view Power Point presentations
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 firstname.lastname@example.org 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
|Assignment 2: Unix Processes
|Assignment 3: Multithread Programming
|Assignment 4: Calculation of CPU Scheduling Algorithms
|Assignment 5: Process Synchronization
|Assignment 6: Memory Management
|Assignment 7: Mass Storage
|Assignment 8: File Systems
|Final Examination (mandatory)
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.