Syllabus OPERATING SYSTEM Lecture: 4 Hrs/week One paper: 100 marks / 3 Hrs duration Term work: 25 marks Practical: 3 Hrs/week Practical exam: 50 marks 1. System Software Overview of all system softwares: o Operating system o I/O manager o Assembler o Compiler o Linker o Loader 2. Fundamentals of Operating System OS services and Components Multitasking Multiprogramming Timesharing Buffering Spooling 3. Process and Thread Management Concept of process and threads Process states Process management Context switching Interaction between processes and OS Multithreading 4. Concurrency Control Concurrency and Race Conditions Mutual exclusion requirements Software and hardware solutions Semaphores Monitors Classical IPC problems and solutions Deadlock o Characterization o Detection o Recovery o Avoidance and Prevention 5. Memory Management Memory partitioning
2 Swapping Paging Segmentation Virtual memory o Overlays o Demand paging o Performance of Demand paging o Virtual memory concepts Rage replacement algorithms Allocation algorithms 6. I/O Systems Principles of I/O Hardware o I/O devices o Device controllers o Direct memory access Principles of I/O Software o Goals o Interrupt handlers o Device drivers o Device independent I/O software Secondary-Storage Structure o Disk structure o Disk scheduling o Disk management o Swap-space management o Disk reliability o Stable storage implementation Introduction to Clock o Clock hardware o Clock software 7. File Systems File concept File support Access methods Allocation methods Directory systems File protection Free space management 8. Protection & Security Protection o Goals of protection o Domain of protection o Access matrix o Implementation of access matrix o Revocation of access rights
3 Security o The security problem o Authentication o One-Time passwords o Program threats o System threats o Threat monitoring o Encryption o Computer-security classifications 9. Linux System Linux introduction and file system – Basic features, advantages, installing requirement, basic architecture of UNIX/Linux system, Kernel, Shell. Commands for files and directories cd, cp, mv, rm, mkdir, more, less, creating and viewing files, using cat, file comparisons, View files, disk related commands, checking disk free spaces, Essential linux commands. Understanding shells, Processes in linux – process fundamentals, connecting processes with pipes, Redirecting input output, manual help, Background processing, managing multiple processes, 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, dd, etc. Mathematical commands – bc, expr, factor, units. Vi, joe, vim editor. Shell programming: Shell programming basic, various types of shell, shell programming in bash, conditional and looping statements, case statements, parameter passing and arguments, shell variables, shell keywords, creating shell programs for automate system tasks and report printing, use of grep in shell, awk programming. Term work / Practicals: Each candidate will submit a journal / assignments in which at least 10 assignments based on the above syllabus along with the flow chart and program listing will be submitted with the internal test paper. Test graded for 10 marks and Practicals graded for 15 marks. Relevant Books: 1. Operating Systems Achyut S. Godbole Tata McGraw Hill 2nd edition. 2. Operating Systems D.M. Dhamdhere Tata McGraw Hill 2nd edition. 3. Understanding Operating System: Flynn & Mctloes 4th edition, thomson.
4 4. Operating Systems Design & implementation Andrew S. Tanenbam, Albert S. Woodhull Pearson. 5. Operating System Concepts (7th Ed) by silberschatz and Galvin, Wiley, 2000. 6. Operating Systems (5th Ed) – Internals and Design Principles by William Stallings, Prentice Hall, 2000. 7. Operating System Concepts (2nd Ed) by James L. Peterson, Abraham Silberschatz, Addison – Wesley. 8. Computer Organisation and Architecture (4th Ed) by William Stallings, Prentice Hall India, 1996. 9. Modern Operating Systems by Andrew S Tanenbaum, Prentice hall Inida, 1992. 10. UNIX – Sumitabha Das 11. Unix Shell Programming – Yashwant Kanetkar, BPB publications. List of Practicals for Operating System 1. Study of Basic commands of Linux. 2. Study of Advance commands of Linux. 3. Study of current directory according to the following arguments: a. Suffix to be replaced b. Replacement suffix The script should rename each matching file name suffix with replacement suffix. For example: rename txt text will rename the file atxt to atext. However no overwriting of existing files nor renaming of the special directories . and .. is allowed. Hint: You can use the command mv to rename a file. (B) Write a BASH shell script prime which will accept a number b and display first n prime numbers in standard output. 4. Shell scripting using general-purpose utilities. Eg. A) Write a menu driven shell script which will print the following menu and execute the given task to display result on standard output. MENU 1. Display calendar of current month 2. Display today’s date and time 3. Display usernames those are currently logged in the system 4. Display your name at given x, y position 5. Display your terminal number 6. Exit 5. Shell programming using filters (including grep, egrep, fgrep)