Operating Systems (BTCS 402-18) - Theory

Detailed Contents

Module 1: Introduction

Module 2: Processes

Module 3: Inter-process Communication

Module 4: Deadlocks

Module 5: Memory Management

Module 6: I/O Hardware & File Management

I/O Hardware

File Management

Course Outcomes

The student will be able to:

  1. Explain basic operating system concepts such as overall architecture, system calls, user mode and kernel mode
  2. Distinguish concepts related to processes, threads, process scheduling, race conditions and critical sections
  3. Analyze and apply CPU scheduling algorithms, deadlock detection and prevention algorithms
  4. Examine and categorize various memory management techniques like caching, paging, segmentation, virtual memory, and thrashing
  5. Design and implement file management system
  6. Appraise high-level operating systems concepts such as file systems, disk-scheduling algorithms and various file systems

Suggested Books

Reference Books


Operating Systems Lab (BTCS 404-18)

List of Experiments

  1. Installation Process of various operating systems.
  2. Implementation of CPU scheduling algorithms to find turnaround time and waiting time. a) FCFS b) SJF c) Round Robin (pre-emptive) d) Priority.
  3. Virtualization, Installation of Virtual Machine Software and installation of Operating System on Virtual Machine.
  4. Commands for files & directories: cd, ls, cp, md, rm, mkdir, rmdir. Creating and viewing files using cat. File comparisons. Disk related commands: checking disk free spaces. Processes in linux, connecting processes with pipes, background processing, managing multiple processes. Background process: changing process priority, scheduling of processes at command, batch commands, kill, ps, who, sleep. Printing commands, grep, fgrep, find, sort, cal, banner, touch, file. File related commands ws, sat, cut, grep.
  5. Shell Programming: Basic of shell programming, various types of shell, Shell Programming in bash, conditional & looping statement, case statements, parameter passing and arguments, shell variables, shell keywords, creating shell programs for automate system tasks, report printing.
  6. Implementation of Bankers algorithm for the purpose of deadlock avoidance.

Course Outcomes

The student will be able to:

  1. Understand and implement basic services and functionalities of the operating system
  2. Analyze and simulate CPU Scheduling Algorithms like FCFS, Round Robin, SJF, and Priority
  3. Implement commands for files and directories
  4. Understand and implement the concepts of shell programming
  5. Simulate file allocation and organization techniques
  6. Understand the concepts of deadlock in operating systems and implement them in multiprogramming system

Reference Books