MCA204/BCS301: OPERATING SYSTEM CONCEPTS 

(EVEN SEMESTERS)  (updated July 2007)

 

 Course Information

 Objectives & Prerequisites

  Syllabus

 Text & Reference Books

 Web Resources

 Course Modules & Readings

 Assignment

 Semester End Examination

 

 

 

General Course Information: 

 

Course Credits  : 04

Assessment      : Periodical Tests, Assignments, Semester Examination

Contact Hours  : 04 per week

Meeting Times  : Tuesday & Friday 11.10 A.M. – 12.40 P.M.

Location             : Computer Centre Classroom No. 1

Overlaps with    : BCS301- Operating System Concepts (New)

 

 

 

 

Course Objectives & Prerequisites: 

 

The course aims to introduce  Operating System Concepts with emphasis on foundations & design principles.

It comprises of 10 modules. Module 1 traces the evolutionary history of Operating Systems and introduces

concepts of Batch processing, Multiprogramming & Timesharing. Module 2 dwells into structures & functions

of operating systems. Different components of operating system like Process Management, Concurrency

mechanisms, Deadlock handling, Memory Management techniques, Virtual Memory, File System and

Secondary Storage Management, Security & protection etc. are covered in modules 3 to 9.  The course concludes

with Module 10 which  presents a case study of UNIX & WINDOWS Operating Systems and an  overview of

recent trends and current research  in Operating Systems. 

 

The course does not require any special prior study except a basic understanding of Digital Computers. 

A prior course in Computer Organization & Architecture and Computer Programming will help increase

the pace of learning.   

 

 

Course Syllabus:   

 

Introduction: Defining an Operating System, Design Goals, Evolutionary history of operating systems;

Concept of User, job and Resources; Batch processing, Multi-programming, Time sharing; Structure and

Functions of Operating System.

 

Process Management: Process states, State Transitions, Process Control Structure, Context Switching,

Process Scheduling, Threads.

 

Memory Management: Address Binding, Dynamic Loading and Linking Concepts, Logical and Physical

Addresses, Contiguous Allocation, Fragmentation, Paging, Segmentation, Combined Systems, Virtual Memory,

Demand Paging, Page fault, Page replacement  algorithms, Global Vs Local Allocation, Thrashing, Working Set Model,

Pre-Paging.

 

Concurrent Processes: Process Interaction, Shared Data and Critical Section, Mutual Exclusion, Busy form

of waiting, Lock and unlock primitives, Synchronization, Classical Problems of Synchronization, Semaphores,

Monitors, Conditional Critical Regions, System Deadlock, Wait for Graph, Deadlock Handling Techniques: Prevention,

Avoidance, Detection and Recovery.

 

File  and Secondary Storage Management: File Attributes, File Types, File Access Methods, Directory Structure,

File System Organization and Mounting, Allocation Methods, Free Space management; Disk Structure, Logical

and Physical View,  Disk Head Scheduling, Formatting, Swap Management.

Protection & Security.

 

UNIX/ LINUX and WINDOWS as example systems.

 

 

 

 

Text Book:   

 

 

1.      Silberschatz & Galvin, Operating System Principles, John Wiley  7th Ed (Asia Student Edition).    

       (Silberschatz student's manual)

 

 

 

Reference Books:   

 

 

1.     William Stallings, Operating Systems: Internals & Design Principles, Pearson Education, 5th Ed.

2.    A. S. Tanenbaum, Modern Operating Systems 2/e, Pearson Education

3.    Gary Nutt, Operating  Systems 3/e, Pearson Education.

4.    M. J. Bach, The Design of the UNIX Operating System, Pearson Education.

5.    Vijay Mukhi, The C Odessy, BPB Publications.

 

 

 

Web Resources: 

 

Students are encouraged to visit Portals/ Journals of ACM,  Operating System Reviews and USENIX conference

proceedings. Local copies of few suggested readings are available at this page only for academic reference purposes.

Following are representative portals/ journals/ SIGs  reporting research in Operating Systems:

 

  ACM Transactions on Computer Systems (TOCS)

  ACM Operating Systems Review (SIGOPS-OSR)

  Proceedings of the nth ACM symposium on Operating Systems Principles (SOSP)

  USENIX Symposium on Operating Systems Design and implementation (USENIX)

  ACM Computing Surveys

  Communications of the ACM

  Computing Reviews

 

 

Course Modules & Suggested Readings:   

 

1. Introduction to Operating Systems and their evolution:    03 Contact Hrs  

       

        Layered View of a Computing System, Design Goals of Operating System, Evolution of Operating System,

        Batch Processing,  Multi programming, Timesharing.

 

            Suggested Reading:

              (a). [Stalling] Sections 2.1 to  2.4

              (b). [Silberschatz] Sections 1.1, 1.4 , 1.5

              (c). [Tanenbaum] Section 1.1 to  1.3

              (d). S. Rosen, Electronic Computers: A Historical Survey, ACM Computing Surveys, Vol.1 No.1 (March 1969)  

              (e). P. J. Denning, Third Generation Computer System, ACM Computing Surveys, Vol.3 No.34 (Dec. 1971)

              (f).  A. Moumina,  History of Operating Systems

      

2. Structure & Functions of Operating System:    03 Contact Hrs.  

   

     Operating System as Software, Kernel & Shell, System Calls, Functions of  Operating System, System Structure.     

  

         Suggested Reading:

              (a). [Silberschatz] Chapter 2

              (b). [Tanenbaum] Section 1.5 to 1.7              

          

          Check your progress (Currently disabled)

 

3. Process Management:    04 Contact Hrs.

   

     User Job, Resources, Process Concept, Process Control Block, Process States, State Transition, Context Switching,

     Process  Scheduling: Scheduling Queues, Scheduling Criteria, Scheduling Algorithms; Threads. 

 

            Suggested Reading:

               (a). [Silberschatz] Section 3.1 to 3.3, 5.1 to 5.7, 4.1 to 4.5

               (b). [Stalling] Section 3.1 to 3.4  &  4.1

               (c). [Tanenbaum] Section 2.2  

               (d). P. B. Hansen, The Nucleus of a Multiprogramming System, Communications of ACM, Vol.13 No.4 (April 1970) 

            (e). M. Ruschizka & R.S. Fabry, A Unifying Approach to Scheduling,  Communications of ACM, Vol.20 No.7                    

         

         Check your progress (Currently disabled)

 

4. Memory Management:    08 Contact Hrs.  

   

    Address Binding, Dynamic Loading & linking concepts, Logical & Physical Address, Contiguous Allocation,

    Fragmentation,  Paging,  Segmentation, Combined Systems, Virtual Memory, Demand paging, Page fault, Page

    Replacement & Page  Replacement  Algorithms,  Global vs. Local Allocation, Thrashing, Working Set Model,

    Pre-paging. 

 

           Suggested Reading:

              (a).  [Silberschatz] Chapter 8 & 9

              (b).  P.J. Denning, Virtual Memory, ACM Computing Surveys Sep. 1970  

              (c).  P.J. Denning, The Working Set Model for Program Behavior, Communications of ACM Vol.11 No.5 (May 1968)                      

              (d).  P.J. Denning, Working Sets Past & Present, IEEE Transactions on Software Engineering Vol.SE-6 No.1 (Jan.1980)

 

         Check your progress 1     Check your Progress 2 (Currently disabled)

 

      ***************************** PERIODICAL TEST NO 1 DUE  *****************************   

5.  Concurrent Processes:    08 Contact Hrs.  

   

     Process Interaction: Competition, Cooperation & Message Passing; Mutual Exclusion, Shared Data, Critical Section,

     Busy Form of Waiting, Lock & Unlock Primitives, Synchronization, Classical Problems of Synchronization, Semaphores,

     Monitors, Conditional Critical Regions.

 

           Suggested Reading:

              (a). [Stalling] Chapter 5

              (b). L. Lamport, The Mutual Exclusion Problem, Journal of ACM, Vol.33 No.2 (1986)  

              (c). L. Lamport, The Mutual Exclusion Problem has been Solved, Communications of ACM, Vol.34 No.1 (Jan. 1991)

              (d). E.W. Dijkstra, Cooperating Sequential Processes, Technical Report EWD-123 Technological University Einahoven 

                    The Netherlands (1965)

              (e). E.W. Dijkstra, Solution of a Problem in Concurrent Programming Control, Communications of ACM, Vol.8 No.9

                     (Sep.1965)

              (f).  L. Lamport, Concurrent Reading and Writing, Communications of ACM, Vol.20 No.11 (Nov. 1977)              

              (g). P. B. Hansen, Concurrent Programming Concepts,  ACM Computing Surveyes Vol.5 No.4 (Dec. 1973)

              (h)  C. A. R. Hoare, Monitors: An Operating System Structuring Concept, Communications of ACM, Vol.17 No.10 

                     (Oct. 1974) erratum Vol.18 No.2 (Feb.1975)   

 

            Check your progress (Currently disabled)

 

6.  System Deadlock:    03 Contact Hrs.  

    

     Necessary Conditions, Resource Allocation Graph, Wait for Graph, Deadlock Handling methods: Prevention, Avoidance,

     Detection & Recovery. 

 

            Suggested Reading:

              (a).  [Silberschatz] Chapter 7

              (b).  E.W. Dijkstra, Cooperating Sequential Processes, Technical Report EWD-123 Technological University Einahoven 

                     The Netherlands (1965)

              (c).  R.C. Holt, Some Deadlock Properties of Computer Systems, ACM Computing Surveys Vol.4 No.3 (Sep.1972)

              (d).  J.W. Havender, Avoiding Deadlocks in Multitasking Systems, IBM Systems Journal Vol.7 No.2 (1968)  

              (e).  A.N. Haberman, Prevention of System Deadlocks, Communications of ACM Vol.12 No.7 (July 1969)

              (f).   E.G. Coffman M.J. Elphick & A. Shoshani, System Deadlocks, ACM Computing Surveys Vol.3 No.2 (June 1971)

              (g).  S. Isloor & T. Marsland, The Deadlock Problem: An Overview, Computer Vol.13 No.9 (Sep.1980)   

 

             Check your progress (Currently disabled)

 

7.  File Management:    04 Contact Hrs.

   

    File Concept, File Attributes, File Types, Operations on Files, Access Methods, Directory Structure,

    File System Organization  & Mounting, Allocation Methods, Free Space Management.

 

             Suggested Reading:

                (a). [Silberschatz] Chapter 10 & 11

                (b). USENIX Association Proceedings of File System Workshop.   

                (c)  FAT32 and NTFS

 

          Check your progress (Currently disabled)

 

 8.  Disk Structure & Scheduling:    02 Contact Hrs.

     

     Disk Structure, Logical & Physical View, Disk Head Scheduling, Formatting, Swap Space Management. 

 

            Suggested Reading:

                (a). [Silberschatz] Section 12.1 to 12.6

                (b). R. Geist S. Daniel, A Continuum of Disk Scheduling Algorithms, ACM Transactions on Computer Systems Vol.5No.1

                       (Feb.1987)

                (c). T.J. Teorey & T.B. Pinkerton, A Comparative Analysis of Disk Scheduling Policies, Communications of ACM Vol.15

                       No.3 (March 1972)

                (d). B.L. Worthington G.R. Ganger & Y.N. Patt, Scheduling Algorithms for Modern Disk Drives, Proceedings of 1994 

                       ACM Sigmetrics Conference on Measurement & Modeling of Computer Systems May 1994

 

             Check your progress (Currently disabled)

 

9.  Protection & Security: 02 Contact Hrs.  

    

      Goals of Protection, Access Matrix, Capability based systems, The  Security Problem, System &

      Network threats,  Computer  Security classifications.

 

             Suggested Reading:

                a. [Silberschatz] Chapter 17 & 18                 

 

             Check your progress (Currently disabled)

 

             ***************************** PERIODICAL TEST NO 2 DUE  *****************************   

10.  Case Studies & Miscellaneous Topics:    03 Contact Hrs.  

      

    UNIX/ LINUX & Windows as Example Systems, UNIX-C Interface, UNIX Shell Programming,

    Recent trends in Operating Systems, Current areas of research in Operating Systems.       

 

             Suggested Reading:

                a. [Silberschatz] Chapter 21 & 22

                b. [Bach] Selected Text

                c. [Mukhi] Selected Text

                d. Cooke et al, UNIX and Beyond, An interview with Ken Thompson   

 

             Check your progress (Currently disabled)

            

              ******************************** ASSIGNMENT DUE  *********************************   

 

 

 

Assignment

 

1.  Write a C program to print the schedule for the following example using FCFS, SJF and RR Scheduling Algorithm. 

       Also compute the average turnaround and waiting times.  

 

Process

Arrival Time

Burst Time

P1

0

8

P2

1

4

P3

2

9

P4

3

5

 

2.    Write a C program to implement FIFO Page replacement algorithm. The program should compute the number of page

       faults for a given page reference string with a given number of frames. Assume local allocation/ replacement policy is used.

 

3.  The Sleeping - barber Problem : A barbershop consists of a waiting room with n chairs and a barber room with n chairs and a

     barber room with one barber chair. If there are no customers to be served, the barber goes to sleep. If a customer enters the 

     barbershop and all chairs are occupied, then the customer leaves the shop. If the barber is busy but chairs are available, then 

     the customer sits in one of the free chairs. If the barber is asleep, the customer wakes up the barber. Write a program to 

     coordinate  the barber and the customers.

 

4.  Write a multithreaded program that implements the Banker's algorithm for Deadlock Avoidance. Create n threads that 

     request and release resources from the bank. The banker will grant the request only if it leaves the system in a safe state. 

     Use either Pthreads or Win32 threads. Access to shared data  should be safe from concurrent access.  

 

 

Semester End Examination

 

Final/ Semester End Examination is expected to be held sometime around  Third  week of March' 2008.

 

The question papers for previous years can be downloaded from the link given below 

 

 

MCA204-2005

B.Sc. Part III-2007

(PDF Files, Acrobat Reader will be required to view these files)