AY 2008-2009/Sem-2/ITM106 Operating Systems

From IIITM-k-wiki

Jump to: navigation, search


Contents

Course Objectives

In this course you will learn the basic concepts as well as concepts needed for designing modern operating systems. We will be discussing how the OS interfaces with the application software and the hardware of the computer system. We will investigate all of the key features of a modern operating system including process/thread scheduling and management, memory management, deadlock detection and avoidance, file management, disk scheduling and management, and some collection of advanced topics including security and distributed systems. Our philosophy behind the way the class is structured is that "you learn by doing". For this reason, this class has a significant implementation component and sufficient sets of "questions & answers" homework assignments. Due to the amount of implementation you will be expected to do, this class will have a lab associated with it and you will be working in groups of 2 or 3.

Instructor(s)

  • Balu John, Assistant Professor, Govt Engg. College, Barton Hills, Tvm [Guest Faculty]
  • Md. Meraj Uddin, Design Engineer, IIITM-K
  • Rajesh R, Sr. Project Associate, IIITM-K


Credits

4 [3 lectures + 2 Labs(2 hours each)]

Class Hours

   * Lecture:  Tuesday    09.00 AM - 10.10 AM Park Centre Classroom
   * Lab:      Tuesday    02.00 PM - 04.35 PM Park Centre Classroom
   * Lab:      Wednesday  02.00 PM - 04.35 PM Park Centre Classroom
   * Lecture:  Friday     02.00 PM - 03.10 PM Park Centre Classroom
   * Tutorial: Friday     03.25 PM - 04.35 PM Park Centre Classroom

Syllabus

Learning Module I: Introduction I

   1.1 Basic Concepts
   1.2 Historical Perspective and Evolution
   1.3 Computer System Operation
   1.4 Operating System Components
   1.5 Operating System Services
   1.6 Operating System Structure
   1.7 Operating System Functions

Learning Module II: Introduction II

   2.1 System Calls
   2.2 System Programs
   2.3 Interrupts
   2.4 Operating Systems view of Computer

Learning Module III: Process Management

   3.1 Process Concept
   3.2 Process Scheduling
   3.3 Operations on Processes
   3.4 Cooperating Processes
   3.5 Basic Concepts of CPU Scheduling
   3.6 Scheduling Criteria
   3.7 Scheduling Algorithms
   3.8 Multiple-Processor Scheduling
   3.9 Real-Time Scheduling
   3.10 Inter-Process Communication
   3.11 Communication in Client ? Server Systems

Learning Module IV: Threads

   4.1 Introduction to threads
   4.2 Benefits of Threads
   4.3 User and Kernel Threads
   4.4 Multithreading Modules
   4.5 Pthreads
   4.6 Solaris 2 Threads
   4.7 Window 2000 Threads
   4.8 Linux Threads

Learning Module V: Process Synchronization

   5.1 Introduction to Process Synchronization
   5.2 Race Conditions
   5.3 The Critical-Section Problem
   5.4 Mutual Exclusion
   5.5 Semaphores
   5.6 Monitors

Learning Module VI: Deadlocks

   6.1 Introduction to Deadlock
   6.2 Deadlock Characterization
   6.3 Methods for Handling Deadlocks
   6.4 Deadlock Prevention
   6.5 Deadlock Avoidance
   6.6 Deadlock Detection
   6.7 Recovery from Deadlock
   6.8 Two Phase Locking

Learning Module VII: Memory Management

   7.1 Introduction
   7.2 Memory Management Functions
   7.3 Memory Architecture Evolution
   7.4 Swapping
   7.5 Multiprogramming with Partitions
   7.6 Contiguous Memory Allocation
   7.7 Paging
   7.8 Design issues for paging systems
   7.9 Segmentation

Learning Module VIII: Virtual Memory

   8.1 Virtual Memory concept
   8.2 Demand Paging
   8.3 Page Replacement
   8.4 Allocation of Frames
   8.5 Thrashing
   8.6 Memory Management with bit maps, linked lists
   8.7 Buddy Systems

Learning Module IX: File Systems

   9.1 File Concepts
   9.2 Access Methods
   9.3 Directory Structure
   9.4 Security and Protection
   9.5 File-System Structure
   9.6 Allocation Methods
   9.7 Free-Space Management
   9.8 Directory Implementation
   9.9 Efficiency and Performance
   9.10 Disk Scheduling
   9.11 Log-Structured File System

Learning Module X: I/O Systems

   10.1 Introduction
   10.2 Principles of I/O hardware
   10.3 Principles of I/O software
   10.4 I/O Requests Handling
   10.5 Transforming I/O to Hardware Operations
   10.6 Kernel I/O Subsystem
   10.7 Performance

Learning Module XI: Distributed Systems

   11.1 Introduction to Distributed Systems
   11.2 Design Issues
   11.3 Sockets
   11.4 Remote Procedure Calls
   11.5 Remote Method Invocation
   11.6 Object Registration
   11.7 Event Ordering
   11.8 Synchronization
   11.9 Mutual Exclusion
   11.10 Deadlock Handling
   11.11 Election Algorithms

Learning Module XII: Protection

   12.1 Goals of Protection
   12.2 Domain of Protection
   12.3 Access Matrix
   12.4 Revocation of Access Rights
   12.5 Language-Based Protection

Learning Module XIII: Security

   13.1 The Security Problem
   13.2 Authentication
   13.3 Program Threats
   13.4 System Threats
   13.5 Threat Monitoring
   13.6 Encryption
   13.7 Computer-Security Classifications

Learning Module XIV: Case Study

   14.1 Case Study I:  UNIX AND LINUX
   14.2 Case Study II: WINDOWS 2000

Prerequisites

  • ITM-102: Computer Architecture and Organisation
  • Basic Knowledge of Programming Language

Target Learner Groups

The course is primarily intended for the students of PGDIT of IIITM-K. But it is suitable for B. Tech [Computer Science and IT], MCA and MSc [Computer Science] Students, Faculty and Teaching Associates/Assistants associated with Operating Systems course in all the universities in Kerala.

Course Progress

Lab: Sessions

TVI: Lectures

Home Assignments

Performance Evaluation

The following is the breakup of the different components and their respective weights in the final evaluation.

  1. TVI Sessions and Homework: 10%
  2. Practice Sessions Lab Exam: 15%
  3. Quizzes 10%
  4. Mid Term Exam: 25%
  5. Term Paper 15%
  6. Final Exam 20%
  7. Attendance 05%


Recommended Textbooks

  • Applied Operating System Concepts, By Avi Silberschatz and Peter Galvin, and Greg Gagne, WSE WILEY, 7th Edition 2007
  • Operating Systems: A Modern Perspective, By Gary Nutt, Pearson Education Asia 2nd Edition 2000
  • Operating Systems Design and Implementation, Second Edition By Andrew S. Tanenbaum Albert S.Woodhull
  • Operating Systems, McGraw-Hill Book Company, New York By S. E. Madnick and J. J. Donovan
  • Millenkovi C.M., "Operating System; Concepts & Design", Megraw Hill.
  • Tanenbaum A.S., "Operating Systems Design and Implementations", Prentice Hall NJ.
  • Silbersehatz A and Peterson, J.L "Operating System Concepts", Wiley
  • Stalling William "Operating Systems", Maxwell Mchmillan International Editions 1992


Assignments

Personal tools
<
May 2012
>
SMTWTFS
12345
6789101112
13141516171819
20212223242526
2728293031
Events Upcoming
More ยป