This course introduces key operating system concepts such as processes, threads, scheduling, synchronization, memory management, and file I/O subsystems. It covers Unix commands and system calls for process management, interprocess communication, and I/O. Students will gain hands-on experience in managing and interacting with Unix systems.
- A course on “Computer Programming and Data Structures”.
- A course on “Computer Organization and Architecture”.
- Introduce operating system concepts (i.e., processes, threads, scheduling, synchronization,deadlocks, memory management, file and I/O subsystems andprotection)
- Introduce the issues to be considered in the design and development of operating system.
- Introduce basic Unix commands, system call interface for process management,interprocesscommunication and I/O in Unix.
- Will be able to control access to a computer and the files that may be shared.
- Demonstrate the knowledge of the components of computers and their respectiveroles incomputing.
- Ability to recognize and resolve user problems with standard operating environments.
- Gain practical knowledge of how programming languages, operating systems,andarchitectures interact and how to use each effectively.
- Introduction, Simple Batch, Multiprogrammed, Timeshared, Personal Computer, Parallel, Distributed Systems, Real-Time Systems, System components.
-Operating System services, System Calls, Structures.
- Process concepts and scheduling, Operations on processes, Threads, Cooperating Processes.
- Scheduling Criteria, Scheduling Algorithms, Multi-Processor Scheduling.
- fork, exit, wait, waitpid, exec
- System Model, Deadlocks Characterization, Methods for Handling Deadlocks,Deadlock Prevention, Deadlock Avoidance, Deadlock Detection, and Recovery from Deadlock.
- The Critical Section Problem, Hardware Support for Synchronization, Semaphores, and Classical Problems of Synchronization, Critical Regions, Monitors
- IPC between processes on a single computer system, IPC between processes on different systems, using pipes, FIFOs, message queues, shared memory.
- Logical versus Physical Address Space, Swapping, Contiguous Allocation, Paging, Segmentation, Segmentation with Paging, DemandPaging, Page Replacement, Page Replacement Algorithms.
- Access methods, Directory Structure, Protection, File System Structure, Allocation methods, Free-space Management. Usage of open, create, read, write, close, lseek, stat, ioctl system calls.
- Operating System Principles- Abraham Silberchatz, Peter B. Galvin, Greg Gagne 7th Edition,John Wiley.
- Advanced programming in the UNIX environment, W.R. Stevens, Pearson education.
- Operating Systems- Internals and Design Principles, William Stallings, Fifth Edition–2005, Pearson Education/PHI
- OperatingSystem A Design Approach- Crowley, TMH.
- Modern Operating Systems, Andrew S. Tanenbaum 2nd edition, Pearson/PHI
- UNIX programming environment, Kernighan and Pike, PHI/ Pearson Education
- UNIX Internals -The New Frontiers, U. Vahalia, Pearson Education.