Operating Systems Logo

Operating Systems

Course Materials, Lecture Slides, Assignments and Examination Resources

Bachelor of Computer Applications (BCA), II Year, 2023

Course Information

This course was taught to Bachelor of Computer Applications (BCA), II Year students at JNV University, Jodhpur during the academic session 2023.

Prerequisites

Course Description

Operating Systems introduces the fundamental concepts of modern operating systems, including process management, CPU scheduling, memory management, file systems, input-output management and synchronization mechanisms. The course explains how an operating system manages hardware resources and provides services to application programs.

Course Outcomes

Course Modules

Module 1: Introduction to Operating Systems

Topics Covered

  • Operating System definitions and characteristics
  • Types of operating systems
  • Functionalities and services of operating systems
  • Hardware concepts related to operating systems
  • System calls and system structure

Learning Resources

Module 2: Process Management

Topics Covered

  • Process concepts, states and Process Control Block (PCB)
  • Process scheduling and scheduling criteria
  • Scheduling algorithms
  • Multiple processor scheduling
  • Real-time scheduling
  • Threads and multithreading in Linux

Learning Resources

Module 3: Process Synchronization

Topics Covered

  • Interprocess communication
  • Critical section problem
  • Mutex locks and semaphores
  • Classical synchronization problems
  • Deadlock characterization and handling
  • Deadlock prevention, avoidance, detection and recovery
  • Process scheduling in Linux

Learning Resources

Module 4: Memory Management

Topics Covered

  • Logical and physical address space
  • Memory allocation and swapping
  • Contiguous memory allocation
  • Segmentation and paging
  • Virtual memory
  • Demand paging
  • Page replacement algorithms
  • Memory management in Linux

Learning Resources

Module 5: I/O Management and File Systems

Topics Covered

  • Disk scheduling algorithms
  • Disk management
  • Swap space management
  • Disk reliability and stable storage
  • File concepts and directory structures
  • Linux file systems

Learning Resources

Additional Course Resources

Assignments

Examination Resources

Recommended Text Book