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.
Below is one offering of COMP 4737 for the Winter 2023 term.
Thu Jan 12 - Thu Apr 06 (12 weeks)
- 12 weeks
- CRN 90572
Class meeting times
|Jan 12 - Apr 06||Thu||18:30 - 21:30||Burnaby SE12 Rm. 310|
|Jan 12 - Apr 06||N/A||N/A||Online|
- Departmental approval needed
Please email firstname.lastname@example.org for Departmental approval. Include your Student number (A0#) and COMP__ and preferred CRN __ and Program Declaration____. Course is 48 hours - 36 hours on campus and 12 hours asynchronous activities/labs. The class meets once per week for 3 hours on campus and requires an additional 1 hour per week asynchronously. Late registration is not permitted. No class on March 16.
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
Introduction to Operating Systems for CST (COMP 4737) is offered as a part of the following programs:
School of Computing and Academic Studies
- Computer Systems
If you have a question or comment about this course, please complete and submit the form below.
Interested in being notified about future offerings of Introduction to Operating Systems for CST (COMP 4737)? If so, fill out the information below and we'll notify you by email when courses for each new term are displayed here.
Programs and courses are subject to change without notice.