- International Fees
International fees are typically 3.25 times the domestic tuition. Exact cost will be calculated upon completion of registration.
Course Overview
Following on from “Procedural Programming with C" and “Computer Architecture and Organization"; students are introduced to the basic concepts, terminology and leveraging operating systems for concurrent software applications. COMP 4737 replaces COMP 4731 in the CST/PTS Diploma. Participants focus on using concurrent programming: processes and threads, inter-process communication (IPC), synchronization and mutual exclusion, deadlock and starvation with an introduction to memory organization. Theoretical topics include: overall operating system structure, operating systems services, how these services are used, and kernel architecture. Labs and exercises reinforce concepts with examples of using these operating system services within application programs. This course is equivalent to COMP 4736 in the Full-time CST Diploma. Upon successful completion, students will be able analyze, design and implement concurrent software applications. COMP 4737 is required for the Computer Systems (CST/PTS) Diploma and is offered twice per year the Winter (January) and Spring (May) terms.
Credits
4.0
- Not offered this term
- This course is not offered this term. Notify me to receive email notifications when the course opens for registration next term.
Learning Outcomes
Upon successful completion of this course, the student will be able to:
- Describe the role of an operating system.
- Analyze how the operating system is structured (layers and components).
- Describe the operating system interface (system calls, shells).
- Use POSIX system calls in C.
- Describe synchronization concepts such as mutual exclusion, critical sections, and race conditions.
- Solve synchronization problems using constructs such as spinlocks, mutexes, semaphores, condition variables, and monitors.
- Compare and contrast synchronization of threads with semaphores and monitors.
- Discuss the consequences of concurrency: deadlock, starvation and livelock.
- Describe how to prevent, avoid, detect and recover from deadlock.
- Design and implement concurrent applications using processes and kernel-level and user-level threads.
- Solve IPC problems by implementing applications using methods such as signaling, messages, pipes, and shared memory.
Effective as of Fall 2022
Related Programs
Introduction to Operating Systems for CST (COMP 4737) is offered as a part of the following programs:
- Indicates programs accepting international students.
- Indicates programs eligible for students to apply for Post-graduation Work Permit (PGWP).
School of Computing and Academic Studies
- Computer Systems
Diploma Part-time
Programs and courses are subject to change without notice.