CSE 335 OPERATING SYSTEM AND SYSTEM PROGRAMMING
3 Hours/Week, 3 Credits
Introduction: Operating Systems Concept, Computer System Structures, Operating System Structures, Operating System operations, Protection and Security, Special-Purpose Systems. Fundamentals of OS : OS services and components, multitasking, multiprogramming, time sharing, buffering, spooling Process Management: Process Concept, Process Scheduling, Process State, Process Management, Interprocess Communication, interaction between processes and OS, Communication in Client-Server Systems, Threading, Multithreading, Process Synchronization. Concurrency control: Concurrency and race conditions, mutual exclusion requirements, semaphores, monitors, classical IPC problem and solutions, Dead locks - characterization, detection, recovery, avoidance and prevention. Memory Management: Memory partitioning, Swapping, Paging, Segmentation, Virtual memory - Concepts, Overlays, Demand Paging, Performance of demand paging, Page replacement algorithm, Allocation algorithms. Storage Management: Principles of I/O hardware, Principles of I/O software, Secondary storage structure, Disk structure, Disk scheduling, Disk Management, Swap-space Management, Disk reliability, Stable storage implementation. File Concept: File support, Access methods, Allocation methods, Directory systems, File Protection, Free Space management Protection & Security : Goals of protection, Domain of protection, Access matrix, Implementation of access matrix, Revocation of access rights, The security problem, Authentication, One-time passwords, Program threats, System threats, Threat monitoring, Encryption, Computer-security classification. Distributed Systems : Types of Distributed Operating System, Communication Protocols, Distributed File Systems, Naming and Transparency, Remote File Access, Stateful Versus Stateless Service, File Replication. Case Studies: Study of a representative Operating Systems, System Programming: Introduction to System Programming and Linux / Unix, Shell Programming, C Language for System Programming, Make and Make files, Process and Signals, Threads, Inter process Communications, X- Window Programming, Principle of single and multi user operating systems. Books: 1. Operating System Concepts - Silberschatz & Galvin Wiley 2000 (7th Edition) 2. Operating Systems - Achyut S. Godbole Tata Mc Graw Hill (2nd Edition) 3. Understanding Operating System - Flynn & Metioes Thomsan (4th Edition) 4. Operating Systems Design & Implementation - Andrew Tanenbam, Albert S. Woodhull Pearson 5. Modern Operating System - Andrew S. Tanenbaum.