Skip to content

ArshiaRx/Operating-Systems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Operating Systems - COE628

This course deals with Operating systems basic concepts. This course is taken at TMU, formally known for Ryerson. (COE628)

You may refer to my contents, but COPYING them is strictly prohibited, as it would violate policy 60.

-> W2024

Contents Covered:

  • Hardware and software features required for operating systems,
  • Process Management,
  • Scheduling,
  • Inter-Process Communication & Synchronization,
  • Process Starvation,
  • Deadlocks,
  • Memory Managment
  • Virtual Memory & file systems. Note: The major lab project will involve developing system modules. (Formerly COE518)

Lab1:

  • Implementing a Priority Queue using a linked list (C programming Language)

Lab2:

  • Part A: Using a command line arguments and exit codes (C programming Language)
  • Part B: Multiprocessing and Synchronizations

Lab3:

  • Learn how to use fork(), execXXO and wait()
  • Write a simple shell

Lab4:

  • Learn how to use dup2 (and/or dop) and pipe
  • Write a simple shell to support piping

Lab5:

Lab6:

Lab7:

  • Learn about multi-threading in programming language that supports the monitor concept of concurrency control.
  • Concurrency Control in a multi-threaded Java Application

Lab8:

  • Implement a basic Semaphore in Java to:
  • Block Thread or Wake Up the Thread once the resource become available
  • Implement two method up(), down()

About

COE628 - This course deals with the Operating Systems. Hardware & Software features required for operating systems. Process management, scheduling, deadlock & etc. This course is taken at TMU, formally known As Ryerson.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors