Skip to main content
International Fees

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

Course details

​This course is focused on advanced concepts in operating systems: inter-process communication, inter-core synchronization, memory organization and management, virtual memory, uniprocessor and multiprocessor scheduling, input/output management, modern storage strategies, file management and security. Concepts of processes and threads, inter-process communication, concurrency and synchronization will be discussed. Students will learn about the design of operating system structures and related algorithms and policies with a focus on performance and optimization. For example: placement and replacement memory algorithms, scheduling algorithms, resident set management and load control theories. The course will include an introduction to virtualization. To illustrate the concepts, each topic will include examples of real life design choices used in modern operating systems (e.g., UNIX, Linux, Windows, and Android).​

Prerequisite(s)

  • Acceptance into the Bachelor of Science in Applied Computer Science (BscACS) program.

Credits

3.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:

  • Compare and contrast design strategies used for various operating systems.
  • Discuss concepts of processes, threads, concurrency and synchronization.
  • Analyze solutions for inter-process communication and inter-core synchronization for real-life concurrent problems.
  • Explain how the memory management system operates, including virtual memory, logical/physical addressing schemes, swapping, segmentation, and paging.
  • Discuss the advantages and challenges of virtual memory design.
  • Analyze page replacement algorithms (for example: FIFO, LRU, optimal, clock, working set) implemented for virtual memory management.
  • Apply frame allocation algorithms for virtual memory management (for example: equal, proportional, local, and global).
  • Analyze algorithms implemented for uniprocessor and multiprocessor scheduling (for example: FCFS, SRT, priority scheduling, multilevel queue scheduling).
  • Compare and contrast different scheduling algorithms.
  • Describe the I/O management and file management systems.
  • Analyze algorithms used for disk scheduling (for example: FCFS, SSTF, SCAN, CSCAN, FSCAN, LOOK).
  • Discuss modern storage strategies including cloud storage.
  • Describe security threats and attacks as well as various countermeasures to such attacks.
  • Describe virtual machines for virtualization and their benefits, building blocks and their life cycles.​

Effective as of Fall 2023

Related Programs

Operating Systems (COMP 7035) 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. Applied Computer Science (Database Option)
    Bachelor of Science Part-time
  2. Applied Computer Science (Games Development Option)
    Bachelor of Science Full-time
  3. Applied Computer Science (Human Computer Interface Option)
    Bachelor of Science Part-time
  4. Applied Computer Science (Network Security Administration Option)
    Bachelor of Science Part-time
  5. Applied Computer Science (Network Security Applications Development Option)
    Bachelor of Science Full-time/Part-time
  6. Applied Computer Science (Wireless and Mobile Applications Development Option)
    Bachelor of Science Part-time

Subscribe

Interested in being notified about future offerings of Operating Systems (COMP 7035)? 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.