BACHELOR WITH COMPUTER APPLICATIONS AS MAJOR (CT-I)
5th SEMESTER
CAP522J1: COMPUTER APPLICATIONS _ OPERATING SYSTEM
CREDITS: THEORY (3) PRACTICAL (1)
COURSE LEARNING OUTCOMES:
At the end of this course, a student should be able to:
• To learn and understand the concepts of operating system.
• To understand the core structure and functions of operating system.
• Explain process management, processor scheduling, and concurrent programming.
• Understand the concept of deadlocks and synchronization.
• Learn memory management, file management. I/O systems, and disk scheduling.
• Distinguish main memory and virtual memory.
• Leam Operating System Design issues.
• Leam basic Unix commands and shell programming
UNIT-1 (15 HOURS)
Introduction: Goals & Structure of Operating System. Basic functions & Modes. Types of Operating System (Batch,
Multiprogramming, Multitasking, Time Sharing, Parallel, Distributed A Real-Time OS). System calls.
Process: Process Concept, Process states, Threads, Uni-processor Scheduling: Types of scheduling (Pre-emptive &
Non- pre-emptive). Scheduling algorithms (FCFS, SJF, RR, Priority, Thread Scheduling).
UNIT-2 (15 HOURS)
Concurrency: Principles of Concurrency, Mutual Exclusion: Software approaches, Hardware Support, Semaphores,
Message Passing, Signals. Monitors, Classical Problems of Synchronization (Readers-Writers, Producer-Consumer,
and Dining Philosopher problem).
Deadlock: Principles of Deadlock. Deadlock Prevention & Avoidance, Deadlock Detection.
UNIT-3 (15 HOURS)
Memory: Memory Management requirements, Memory partitioning (Fixed and Variable Partitioning), Memory
Allocation Strategies (First Fit, Best Fit and Worst Fit), Fragmentation. Swapping, Segmentation, Paging.
Virtual Memory: Virtual Memory Concepts and Implementation, Concept of Demand Paging, Page Replacement
Policies (FIFO, LRU, Optimal, Other Strategies). Thrashing.
PRACTICALS (I CREDIT: 30 HOURS)
➢ In Malling and setting up of Linux /Unix Operating system.
➢ Using Basic Unix commands like echo, printf. Is, who, date, passwd, cal.
➢ Using pwd, cd, mkdir, rmdir, cat commands
➢ Using mv, rm, cp, wc and od commands.
➢ Demonstrate the use of Pipes.
➢ Using Basic and Extended regular expressions
➢ Implementing file permissions, printing commands.
➢ Mount devices like usb drives in UNIX/Linux.
➢ Write a shell script to demonstrate the use of variable & basic input output on the console.
➢ Write a script to demonstrate the use of control statements
TEST BOOK:
• Peter B Galvin, Greg Gagne. Abraham Silberschatz: Operating System Concepts. John Wiley & Sons, Inc.
• Shell Programming by Yashwant Kanetkar
REFERENCE BOOKS:
• Peter B Galvin. Greg Gagne. Abraham Silberschatz: Operating System Concepts. John Wiley A Sons, Inc.
• Andrew S. Tanenbaum: Modern Operating Systems, PHI
• William Stallings: Operating Systems, Pearson Education India
• M. G. Venkatesh Murthy: USIX & Shell Programming, Pearson Education
• Richard Blum, Christine Bresnahan: Linux Command Line and Shell Scripting Bible, Wiley.