Skip to content

CS3305: Covers OS design and implementation fundamentals. Topics: OS structure, processes, inter-process communication, signals, system calls, scheduling, synchronization, concurrency, and memory management.

Notifications You must be signed in to change notification settings

tkhalidd/CS3305-Operating-Systems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS3305: Operating Systems

This repository contains assignments completed for CS3305 (Operating Systems) at Western University.

Assignments Overview

Assignment 1: Process Creation and Password Cracking

  • Implementation of a parallel password cracking program using fork()
  • Features:
    • Sequential and parallel execution modes (-f flag)
    • Multiple child processes for distributed workload
    • Process synchronization using wait()
  • Focus on process creation, parent-child relationships, and basic IPC

Assignment 2: Inter-Process Communication (IPC)

  • Large integer multiplication using pipes between parent and child processes
  • Features:
    • Decomposition of 4-digit numbers
    • Two-way communication using pipes
    • Step-by-step calculation tracking
  • Focus on pipe-based IPC and process coordination

Assignment 3: Multi-threading

  • Prime number calculation using multiple threads
  • Features:
    • Parallel prime number detection
    • Work distribution across threads
    • Thread synchronization
    • Performance optimization using 6k±1 optimization
  • Focus on thread creation, synchronization, and parallel algorithms

Assignment 4: CPU Scheduling Algorithms

  • Implementation of three CPU scheduling algorithms:
    • First Come First Served (FCFS)
    • Shortest Job First (SJF)
    • Round Robin (RR)
  • Features:
    • Process simulation with arrival and burst times
    • Waiting and turnaround time calculations
    • Detailed execution steps output
  • Focus on scheduling algorithms and process management

Assignment 5: Thread Synchronization

  • Movie theater seat booking system using threads
  • Features:
    • Concurrent seat booking requests
    • Mutex locks for seat reservation
    • Conflict resolution
    • Transaction logging
  • Focus on thread synchronization, mutex locks, and race condition prevention

Course Learning Outcomes

  • Understanding of process management and creation
  • Experience with inter-process communication
  • Knowledge of multi-threading and synchronization
  • Practice with CPU scheduling algorithms
  • Implementation of concurrent programming concepts

About

CS3305: Covers OS design and implementation fundamentals. Topics: OS structure, processes, inter-process communication, signals, system calls, scheduling, synchronization, concurrency, and memory management.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages