Skip to main content
nounstudy
CIT211

Introduction to Operating System

  • Sciences
  • 200 level
  • 3 credit units
  • 196 pages
  • 21 units

This course introduces the fundamental concepts of operating systems, covering their design and functions. It explores the evolution of operating systems and their importance in computer systems. The course delves into various types of operating systems, process management, process synchronization, and deadlock issues. Furthermore, it examines memory management functions, including paging, segmentation, and contiguous memory allocation, providing a comprehensive understanding of operating system principles and practices.

About this course

Difficulty
Intermediate
Study hours
150 hours
Maths
Basic
Content
Theoretical, problem solving, case study
Practical work
No
Before you start
  • Introduction to Computer Science
  • Data Structures and Algorithms
How it is assessed
  • Assignments
  • Tutor marked assignments
  • Final examination

One paragraph, so you can see how it reads

CIT211 · Unit 1: Definition and Functions of Operating System (OS)

The course units are similarly designed with the introduction following the table of contents, then a set of objectives and then the dialogue and so on.

What you should be able to do

  1. Define and explain the core functions of an operating system.
  2. Compare and contrast different types of operating systems.
  3. Describe and implement process management techniques.
  4. Analyze and resolve process synchronization issues.
  5. Identify and handle deadlocks in operating systems.
  6. Apply memory management algorithms effectively.

What it prepares you for

Careers
  • Systems Programmer
  • Operating System Developer
  • Embedded Systems Engineer
  • Software Engineer
  • IT Professional
Where it is applied
  • Software Development
  • Embedded Systems
  • Cloud Computing
  • Cybersecurity
  • Data Centers
Tools
  • Operating System Simulators
  • Debuggers
  • Compilers

Where it gets hard

The units students slow down on, and what makes each one heavy.

  • Module 3: Process Management

    Unit 5: Algorithm Evaluation

    Advanced calculus integration techniques require strong mathematical foundation

  • Module 4: Process Synchronization

    Unit 2: Synchronization

    Understanding the subtle differences between various non-blocking synchronization techniques requires careful attention to detail and potential race conditions.

A suggested way through it

Suggested

13 weeks, about 73 hours in total. Yours will differ.

  1. Week 1Module 1: Operating System Fundamentals
    • Unit 1: Definition and Functions of Operating System (OS) · 3 hours

      Read the definition of an Operating System (OS).. Identify the major functions of the OS.. Understand the importance of the OS in a computer system.. List the various services provided by the OS..

    • Unit 2: History and Evolution of Operating System · 3 hours

      Discuss the history and evolution of operating systems.. State the basic functions of the operating system.. Differentiate the various features of each generation of the operating system..

  2. Week 2Module 1: Operating System Fundamentals
    • Unit 3: The Kernel · 4 hours

      Define the kernel.. Describe the functions and responsibilities of the kernel.. Explain the kernel's design philosophies and decisions.. Describe the various kernel-wide design approaches..

    • Unit 4: Types of Operating Systems · 3 hours

      Categorize operating systems based on various criteria.. List the basic features of each type of operating system.. Distinguish between one type of operating system and another..

  3. Week 3Module 2: Types of Operating System
    • Unit 1: Disk operating system · 4 hours

      Describe the disk operating system (DOS).. List the classes of DOS.. State what distinguishes the different classes of DOS.. Understand the history of MS-DOS..

    • Unit 2: Real-time operating system · 4 hours

      Define and describe the real-time OS.. Explain its design philosophies.. Describe how it handles tasks such as memory allocation, scheduling, interrupt handling, intertask communication, etc.. State how it is different from the disk OS.. Give examples of RTOS..

  4. Week 4Module 2: Types of Operating System
    • Unit 3: Time-Sharing and Object-oriented Operating Systems · 5 hours

      Explain what is meant by object-oriented OS.. Compare with examples the various attempts that had been made to develop an object-oriented OS.. Understand the concept of time-sharing operating systems..

  5. Week 5Module 3: Process Management
    • Unit 1: Processes · 4 hours

      Define a process.. List the possible states of a process.. Describe a process control block (PCB).. Describe process creation and process termination..

  6. Week 6Module 3: Process Management
    • Unit 2: Co-operating Processes · 4 hours

      Describe the concept of co-operating processes.. State reasons for allowing process co-operation.. Explain interprocess communication.. Describe message passing..

  7. Week 7Module 3: Process Management
    • Unit 3: Threads · 5 hours

      Distinguish between a thread and a process.. Enumerate the advantages of threads over processes.. Distinguish between user and kernel threads.. Describe various multithreading models and their advantages and disadvantages.. State the advantages of thread pools and the motivation for thread pools..

  8. Week 8Module 3: Process Management
    • Unit 4: CPU Scheduling · 4 hours

      Distinguish between preemptive and non-preemptive scheduling.. State the goals for CPU scheduling.. Give comparative analysis of the various CPU scheduling algorithms..

  9. Week 9Module 3: Process Management
    • Unit 5: Algorithm Evaluation · 4 hours

      Describe the various CPU scheduling evaluation algorithms.. Enumerate the advantages and disadvantages of each evaluation algorithm.. Based on your knowledge, select the best scheduling algorithm for a particular system..

  10. Week 10Module 4: Process Synchronization
    • Unit 1: Race Condition · 4 hours

      Define Race condition.. Describe some real life examples of race condition.. Describe computer security in view of race condition..

    • Unit 2: Synchronization · 4 hours

      Define process synchronization.. Describe non-blocking synchronization.. Explain the motivation for non-blocking synchronization.. Describe various types of non-blocking synchronization algorithms..

  11. Week 11Module 4: Process Synchronization
    • Unit 3: Mutual Exclusion · 4 hours

      Describe what you understand by mutual exclusion.. Describe ways to enforce mutual exclusion..

    • Unit 4: Critical Section Problem · 4 hours

      Explain the critical section problem.. State the different levels of critical section.. Define semaphores and monitors.. Distinguish between monitors and semaphores..

  12. Week 12Module 5: Deadlocks
    • Unit 1: Deadlock Characterization · 4 hours

      Define deadlock.. State the necessary conditions for deadlock to occur.. Describe Resource-Allocation graph and explain how it can be used to describe deadlocks.. Describe some of the methods for handling deadlocks..

  13. Week 13Module 5: Deadlocks
    • Unit 2: Methods for Dealing with Deadlocks · 6 hours

      Describe deadlock prevention.. Explain what is meant by deadlock avoidance.. Describe Banker's algorithm and Resource-Allocation graph algorithm.. Explain what is meant by safe state.. Describe Deadlock lock detection algorithms and how to recover from deadlock..

Preparing for the exam

What to do
  • Review all module objectives and key terms from the course guide.
  • Practice solving problems related to CPU scheduling algorithms from Unit 4.
  • Create concept maps linking Units 3-5 process synchronization and deadlock concepts.
  • Focus on understanding the differences between deadlock prevention and avoidance techniques from Module 5.
  • Study memory management algorithms from Module 6, focusing on paging and segmentation.
  • Allocate specific time slots for reviewing each module to ensure comprehensive coverage.
  • Attempt all tutor-marked assignments and review tutor feedback carefully.
  • Practice past exam questions to familiarize yourself with the exam format and question types.

Questions students ask about this course

What is CIT211 about?

This course introduces the fundamental concepts of operating systems, covering their design and functions. It explores the evolution of operating systems and their importance in computer systems. The course delves into various types of operating systems, process management, process synchronization, and deadlock issues. Furthermore, it examines memory management functions, including paging, segmentation, and contiguous memory allocation, providing a comprehensive understanding of operating system principles and practices.

How many units does CIT211 have?

CIT211, Introduction to Operating System, has 21 units across 6 modules, over 196 pages of course material. You can read it one unit at a time.

How many credit units is CIT211?

CIT211 carries 3 credit units, at 200 level in Sciences.

Is CIT211 hard?

CIT211 is rated intermediate level, with basic mathematical content. It is mostly theoretical, problem solving and case study work.

How long does CIT211 take to study?

About 150 hours of study, spread across its 21 units.

How is CIT211 assessed?

CIT211 is assessed by assignments, tutor marked assignments and final examination.

What do I need before starting CIT211?

Introduction to Computer Science Data Structures and Algorithms

What can I do with CIT211?

Systems Programmer, Operating System Developer, Embedded Systems Engineer, Software Engineer and IT Professional.

More courses in Sciences

PHY204

Electrodynamics I

2 credit units

Open PHY204
CIT216

Fundamentals of Data Structures

2 credit units

Open CIT216
DAM212

Database Laboratory

2 credit units

Open DAM212