Skip to main content

Introduction to Operating Systems COMP 4736

Computer Systems Course

International Fees

International fees are typically 3.12 times the domestic tuition. Exact cost will be calculated upon completion of registration.

Course details

​This course introduces basic concepts in operating systems with a 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. Supporting theory includes overall operating system structure, operating systems services, how these services are used, and kernel architecture. To illustrate the concepts, each topic includes examples of using these services in programs using an operating system. With the concepts learnt in this course, the students will be able to analyze existing concurrent solutions and design and implement concurrent software applications.​

Prerequisite(s)

Credits

4.0

Not offered this term
This course is not offered this term. Please check back next term or subscribe to receive notifications of future course offerings and other opportunities to learn more about this course and related programs.

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 (COMP 4736) is offered as a part of the following programs:

  • Indicates programs accepting international students.
  • Indicates programs with a co-op option.

School of Computing and Academic Studies

  1. Computer Systems Technology
    Diploma Full-time

Contact Us

If you have a question or comment about this course, please complete and submit the form below.

  • Privacy Notice: The information you provide will be used to respond to your request for BCIT program information and is collected under Section 26(c) of the Freedom of Information and Protection of Privacy Act (FIPPA). For more information about BCIT’s privacy practices contact: Associate Director, Privacy, Information Access & Policy Management, British Columbia Institute of Technology, 3700 Willingdon Ave. Burnaby, BC V5G 3H2, email: privacy@bcit.ca.
  • This field is for validation purposes and should be left unchanged.

Subscribe

Interested in being notified about future offerings of Introduction to Operating Systems (COMP 4736)? If so, fill out the information below and we'll notify you by email when courses for each new term are displayed here.

  • Privacy Notice: The information you provide will be used to respond your request for BCIT course information and is collected under Section 26(c) of the Freedom of Information and Protection of Privacy Act (FIPPA). For more information about BCIT’s privacy practices contact: Associate Director, Privacy, Information Access & Policy Management, British Columbia Institute of Technology, 3700 Willingdon Ave. Burnaby, BC V5A 3H2, email: privacy@bcit.ca.