CMP 222 course

Course Outline for CMP 222

ย 

๐Ÿงพ Course Title: Operating Systems

Course Code: CMP 222
Credit Units: 3
Level: 200 Level
Semester: Second Semester
Prerequisites: CSC 201 โ€“ Computer Programming II, CSC 205 โ€“ Computer Architecture


๐ŸŽฏ Course Description:

This course introduces students to the fundamental concepts of operating systems. It covers the principles, design, and implementation of modern operating systems. Students will understand how operating systems manage hardware and software resources and provide services for computer programs.


๐ŸŽ“ Course Objectives:

At the end of this course, students should be able to:

  1. Understand the purpose and functions of an operating system.

  2. Explain the concept of processes, threads, and process management.

  3. Understand memory management techniques.

  4. Describe file systems and I/O management.

  5. Understand basic synchronization and deadlock handling.

  6. Compare different types of operating systems (e.g., batch, time-sharing, real-time).


๐Ÿ“š Course Content & Weekly Breakdown:

Week Topics
1

Introduction to Operating System

Definition, History, Types, Functions, Architecture

2 Operating System Structures โ€“ System components, System calls, OS services
3 Process Management I โ€“ Concept of processes, Process states, Process control block
4 Process Management II โ€“ Threads, Multithreading, Context switching
5 CPU Scheduling โ€“ Scheduling criteria, Algorithms (FCFS, SJF, RR, Priority)
6 Process Synchronization โ€“ Critical section problem, Semaphores, Monitors
7 Deadlocks โ€“ Conditions, Prevention, Avoidance, Detection, Recovery
8 Memory Management I โ€“ Address binding, Logical vs. physical address space
9 Memory Management II โ€“ Paging, Segmentation, Virtual memory, Page replacement
10 File Systems โ€“ File concept, Access methods, Directory structure, File system mounting
11 I/O Systems โ€“ I/O hardware, Polling, Interrupts, DMA, Device drivers
12 Case Study of Operating Systems โ€“ Windows, Linux, Android (features & differences)
13 Revision & Practical Demonstrations โ€“ Command-line usage, Process monitoring tools

14

๐Ÿ› ๏ธ Teaching Methods:

  • Lectures

  • Class discussions

  • Practical labs (Linux/Windows environment)

  • Demonstrations using virtualization (e.g., VirtualBox)

  • Assignments and quizzes


๐Ÿ“– Recommended Textbooks:

  1. Silberschatz, Galvin & Gagne โ€“ Operating System Concepts (Latest Edition)

  2. William Stallings โ€“ Operating Systems: Internals and Design Principles

  3. Andrew Tanenbaum โ€“ Modern Operating Systems

  4. Online OS simulators and Linux documentation


๐Ÿ“ Assessment Methods:

  • Continuous Assessment: 30%

    • Quizzes, Assignments, Practical Labs

  • Examination: 70%

    • Theory and problem-solving questions


โœ… Expected Outcomes:

By the end of the course, students should be able to:

ย 

  • Simulate basic scheduling algorithms

  • Monitor and manage processes in an OS

  • Understand how OS allocates and manages memory

  • Navigate the command-line interface

  • Differentiate between types of file systems and operating systems

Test/Assessment & Final Revision

ย 

  • JOSTUM
Barnabas Stanley
+ posts

Leave a Reply

Your email address will not be published. Required fields are marked *

๐Ÿ’ฌ VarsityEdu AI