MCA-105
Operating Systems with Linux
What an operating system does with a processor, memory and a disk — with every idea followed by the Linux commands and system calls that expose it.
- Semester
- Semester 1
- Credits
- 3
- Scheme
- 3 lectures a week
- Contact hours
- 44 across four units
- Category
- Core
What the paper is
Operating Systems with Linux is two papers taught as one. Each unit introduces a piece of theory — scheduling, synchronisation, paging, file systems — and then closes with the Linux commands and system calls that let you watch that theory happen on a real machine. The pairing is the point of the paper, and it is also how the exam tends to be set.
The theory half is classic Silberschatz. The critical-section problem, semaphores, the classical synchronisation problems, Banker's algorithm and the page replacement algorithms are the core, and they are algorithmic: you are expected to trace them on given input, not describe them.
The Linux half is easy to leave until last and then find you cannot answer it, because it is the half you cannot revise from a diagram. `fork`, `exec`, `wait`, `pipe` and the file system calls come up as short questions, and they are much easier to remember once you have actually made a process spawn a child and watched it exit.
What to concentrate on
- Scheduling and page replacement are the two guaranteed numerical topics. Both are asked as “trace this algorithm on this sequence and compute the average” — practise them with a stopwatch, because they are marks you either collect quickly or lose slowly.
- Deadlock is the unit that separates grades. Know the four Coffman conditions well enough to argue about which one each prevention strategy breaks, and be able to run Banker's algorithm forwards without hesitating.
- The synchronisation problems — bounded buffer, readers-writers, dining philosophers — are worth learning as complete solutions rather than summaries. They are also the direct ancestors of the concurrency questions in Advanced Computer Architecture and Distributed Systems later.
Syllabus, unit by unit
Summarised from the approved scheme. Hours are the contact hours the scheme allots, which is a fair guide to where the marks sit.
Unit I · Operating system concepts and process management
11 hours- Components of an operating system, operations, protection and security, computing environments
- Abstract view of an OS: user and system view, OS services, system calls and their types
- Computer system architecture: single-processor and multiprocessor systems
- Types of operating systems: batch, multi-programmed, time-shared, real time, distributed
- Process management: process concept, operations, cooperating processes, inter-process communication, threads
- Linux: introduction and basic commands
Unit II · Synchronisation and CPU scheduling
11 hours- Process synchronisation: the critical-section problem and its solution, bakery algorithm, synchronisation hardware
- Semaphores and their implementation, classical problems of synchronisation, critical regions, monitors
- CPU scheduling: criteria and algorithms, multilevel queue and multilevel feedback queue scheduling
- Linux: process management commands and system calls
Unit III · Deadlock and memory management
12 hours- Deadlock: system models, characterisation, resource allocation graph
- Deadlock prevention, avoidance, detection and recovery, Banker's algorithm
- Main memory: contiguous allocation, fragmentation, paging, segmentation
- Virtual memory: demand paging, page replacement and its algorithms, allocation of frames, thrashing
- Linux: memory management commands and system calls
Unit IV · Files, devices and secondary storage
10 hours- File-system interface: concepts, access methods, directory and disk structure
- File-system structure and implementation, directory implementation, allocation methods, free-space management
- Devices: types, channels and control units, multiple paths, block multiplexing
- Secondary storage: mass-storage and disk structure, disk scheduling algorithms, disk management, RAID
- Linux: file management commands and system calls
How it is examined
- Question 1 is compulsory, covers the whole syllabus, and is made of objective or short-answer questions. It carries 12 marks.
- The rest of the paper is four units matching the four above. Each unit sets two questions and you attempt one, so there are four more answers at 12 marks each.
- Examiners are asked to map every question to a course outcome using Bloom's taxonomy, which is why questions are phrased as “apply”, “analyse” or “evaluate” rather than only “explain”.
The pass mark is 40 out of 100 in every paper.
Learning objectives
- Understanding the basic components of operating systems and their interactions
- Selecting policies for process management, memory management and deadlock management
- Understanding the basics of file, device and disk storage management
Assumed beforehand
- Fundamentals of computer systems
- Introduction to programming
Paired in the scheme with MCA-163 Operating Systems with Linux Lab.
Books it is taught from
- TB1Silberschatz, Galvin and Gagne, “Operating System Concepts”, Wiley, 9th edition, 2015
- TB2Sumitabha Das, “Unix Concepts and Programming”, McGraw Hill Education, 4th edition, 2015
- TB3W. Richard Stevens and Stephen A. Rago, “Advanced Programming in the UNIX Environment”, Addison-Wesley, 3rd edition, 2013
- TB4Milan Milenkovic, “Operating Systems: Concepts and Design”, Tata McGraw-Hill, 2nd edition, 1995
Notes for MCA-105
Lecture notes, question papers and assignments filed against MCA-105 are in the library. Everything there has been checked by a moderator before it appears, and an account is free — new ones are approved by hand, which is what keeps the shelf clean.