This action might not be possible to undo. Are you sure you want to continue?
Duration: 44 class room hours + 20 Lab hours Objective: To introduce Advanced Operating System Concepts with linux environment. Prerequisites: Knowledge of Computer Fundamentals Evaluation method: Theory exam (objective/subjective/both) – 50% weightage Lab exam – 40% Assignments – 10% weightage List of Books / Other training material Courseware: Reference: 1. Operating System Principles, by Galvin, Wiley. 2. Unix Concept s and Applications by Sumitabha Das, TMH 1. Modern operating Systems, Tanenbaum. 2. Operating Systems – A Design – Oriented Approach by Crowley
Session 1: (Operating System Architecture) Lecture: • Introduction to Operating Systems and Terminologies • A Typical Monolithic-architecture of Operating Systems • Kernel Components and Non-kernel Components • User-space vs Kernel-space and User-mode vs Kernel-mode • Interrupt Management and h/w Interrupts / Handlers Session 2 & 3: (System Call Implementation) Lecture: • System Call Wrapper Library and System Call Wrapper APIs • Interrupt Management and Generic System Call Handler • System Call Table and Specific System Call Kernel Routines • Interrupt Management and Exception Handlers • A Typical Micro-kernel Architecture of Operating Systems • Writing and adding a new system call to the Linux kernel • Recompiling the Linux kernel and testing the generated kernel Assignment –Lab: Review Exercises Session 4: (Timer, Process management, Scheduling Policies) Lecture: • H/W Clocks and Timers vs S/W Clocks and Timers • Process Management • Process Scheduling / CPU Scheduling: Preemptive vs Non-preemptive • Different types of Scheduling Policies/Algorithms – FCFS, RR, PRIO, FAIR-SHARE, EDF. • Preemptive Kernel vs Non-preemptive Kernels Session 5: (Multi-threading Application) Lecture: • Introduction to Threads - User-level vs Kernel-level(many-to-one vs one-to-one) • Advantages of Multi-threading and some Real-world examples of • Multi-threaded Applications Session 6: (Inter-Process Communication) Lecture:
DAC, Operating System
Page 1 of 4
Operating System Page 2 of 4 . Message-queues and Shared-memory (Related to VM) • Dead-lock vs Starvation • Primer on Dead-lock Prevention.Synchronization vs Data-exchange IPCs . Avoidance and Detection/Recovery Techniques Session 9: (Memory Management) Lecture: • Memory Management • Hardware Techniques available for Memory-management (Segmentation/Paging) Session 10: (Virtual Memory Techniques) Lecture: • Software Techniques built on top of H/W Techniques (Virtual-memory Techniques) • Page Replacement Algorithms Session 11: (File System Management) Lecture: • File System Organization .Pipes.ACTS.Physical File System Organization Techniques • (Use Linux File System .for Processes and Threads IPCs .Semaphores and Mutexes Session 7: (Process and Threads) Lecture: • Process/ Thread Co-existence • Thread IPCs • Thread Scheduling Session 8: (Dead-Lock) Lecture: • IPCs .Use Linux File System for Illustration Session 13: (Virtual Machine System) Lecture: • Introduction • Virtual Machine Concepts Session 14 & 15: (OS design and architecture for multiprocessor systems) Lecture: • Introduction to Multi-Processor System • UMA vs NUMA • Multiprocessor kernel architectures DAC.Use Linux File System for Illustration • Steps Involved in Writing to a File .File System Manager in the Kernel • Disk-cache Management Session 12: (Disk I/O Management) Lecture: • Disk I/O Management • Disk Scheduling Algorithm • Steps Involved in Reading from a File .ext2/ext3 for Illustration) • Virtual File System Manager • Physical File System Manager • File System Management . Pune Teaching Guidelines for Operating System Concepts-DAC Aug 2011 • • • Introduction to Inter-process Communication Mechanisms ( IPCs ) .
finger. wc. gzip and gunzip. rm. rmdir. find. more. push. Session 17 Lecture: Gaining confidence with Linux • Access control list and chmod command • chown and chgrp commands • Standard I/O • I/O redirection and tee command • Pipes and Filters • Commands like telnet. w. Pune Teaching Guidelines for Operating System Concepts-DAC Aug 2011 • • • • • • • Multiprocessor memory architectures Multi-processor CPU scheduling Multi-processor synchronization techniques Multi-processor timer and time-management techniques Multi-processor interrupt handling techniques Kernel mutex Kernel semaphore Session 16 Lecture: • Introduction to Linux • The Linux File System o Working with Files and Directories o Pipes • Getting Started to Linux Basic Commands (ls. etc.Hard disk. Operating System Page 3 of 4 . jobs. cat. touch. bc and bc –l. grep. who am i. sort. lpr. banner date. ps. head. zcat. alias. cp. ftp. CDROM) in Linux environment and formatting of these devices. tail. mv. who. locate. Floppy. time. cd. diff. pop. tar an its variants. whatis. Assignment –Lab: Review Exercises Session 18 Lecture: vi editor • Features and different modes of vi editor • Editing using vi editor • Find and replace commands • cut-copy-paste commands • The set command • Other related commands of vi Assignment –Lab: Review Exercises Session 19 DAC. whoami.) Assignment –Lab: Getting Acquainted with the Linux Environment Use various commands in Linux system. zip and unzip. mkdir. tac. echo. and sftp • Use of secondary storage devices (Like: . unalias. ln and ln –s. pwd.ACTS. file. ssh. cal. touch. whereis. man.
) • Wild cards (* and ?) • Command line arguments • Arithmetic in shell scripts • Read and echo commands in shell scripts • The tput command • Taking decisions: o if-then-fi o if-then-else-fi o The test command (file tests. history and processes • Built-ins and functions • Shell Files Session 22 Lecture: Linux Installation and Linux Administration DAC. .profile. string tests) o Nested if-elses o The case control structure Assignment –Lab: Review Exercises Session 21 Lecture: Linux shell programming (Contd.bashrc. Operating System Page 4 of 4 .ACTS. Pune Teaching Guidelines for Operating System Concepts-DAC Aug 2011 Lecture: Linux shell programming • What is shell? • Different types of Linux shells • Bourne Again Shell (BASH) • Shell variables (environment and user defined) • Shell files (. . . until and for loop structures o The break and continue statements • Shell meta characters • Command line expansion • Directory stacks manipulation • Job control.bash_logout) • Positional parameters Assignment –Lab: Review Exercises Session 20 Lecture: Linux shell programming (Contd.) • The loop control structure o The while.bash_profile.