CT31                        Operating Systems

 

Structure

 

1.         Overview

Introduction

System Structures

 

2.         Process Management

Process Concept

Multithreaded Programming

Process Scheduling

 

3.         Process Coordination

Synchronization

Deadlocks

 

4.         Memory Management           

Memory Management Strategies

Virtual, Memory Management

 

5.         Storage Management

File systems

Implementing file systems

Secondary storage structure

I/o Systems

 

6.        Distributed Systems    

Distributed Operating systems

Distributed File Systems

Distributed Synchronization

 

7.        Protection and Security          

System Protection

System Security,

 

8.        Special Purpose Systems

Real-time Systems

Multimedia Systems

 

9.        Case Studies    

The Linux system

                        Windows XP

                        Inflectional Operating systems

 

 

 

 

“Operating System Principles”      Abraham Silberschatz, Peter Baer Galvin, Greg Gagne(2009),Johnwiley & Sons (Asia)Pte Ltd

 

“Modern Operating Systems”       Andre S Tanenbaum(2009) Pearson Education

Details

 

1.                    Introduction:   

1.1            What operating systems do

1.2            Computer systems organization

1.3            Architecture,

1.4            Structure,

1.5            Operations,

1.6            Process Management

1.7            Memory Management

1.8            Storage Management

1.9            Protection and security

1.10          Distributed systems,

1.11          Special Purpose systems

1.12          Computing environments

 

2.                    System Structures

 

2.1          OS services,

2.2          User OS interface

2.3          System  calls,

2.4          System programs

2.5          OS design

2.6          Design and Implementation

2.7          OS Structure,

2.8          Virtual Machines

2.9          OS generation

2.10        System boot

 

3.                    Process Management

   

3.1            Process Concept

3.1.1       Process scheduling

3.1.2       Interprocess Communication

3.1.3       Communication in client server systems

 

3.2         Multithreaded Programming

3.2.1       Multithreading models

3.2.2       Thread libraries

3.2.3       Threading issues

3.2.4       OS Examples

 

3.3         Process scheduling

3.3.1       Scheduling algorithms

3.3.2       Multiple-Processor scheduling

3.3.3       Thread scheduling

3.3.4       OS examples

3.3.5       Algorithms evaluation

 

 

 

 

 

4.                     Process coordination 

 

4.1          Synchronization

4.1.1         Critical section

4.1.2         Peterson’s solution,

4.1.3         Synchronization Hardware

4.1.4         Semaphores

4.1.5         Classic problems of synchronization

4.1.6         Monitors

4.1.7         Synchronization examples

4.1.8         Atomic transactions

 

   4.2     Deadlocks        

4.2.1       Deadlock

4.2.2       Characterization,

4.2.3       Methods of handling deadlocks,

4.2.4       Deadlock: Prevention, avoidance, detection, recovery  

 

5.                     Memory Management

 

5.1        Memory-Management Strategies

5.1.1       Contiguous Memory Allocation

5.1.2       Paging

5.1.3       Structure of page table

5.1.4       Segmentation

 

                        5.2        Virtual-Memory Management

5.2.1       Demand paging

5.2.2       Copy-on-write

5.2.3       Page Replacement

5.2.4       Allocation of frames

5.2.5       Thrashing

5.2.6       Memory Mapped Files

5.2.7       Allocating Kernel Memory

 

6.                     Storage Management            

 

6.1        File Systems       

6.1.1       Concepts

6.1.2       Access methods

6.1.3       Directory structure

6.1.4       File System mounting

6.1.5       File sharing

6.1.6       Protection

 

6.2        Implementation File Systems:    

6.2.1       Mass-storage structure

6.2.2       Disk Structure

6.2.3       Disk attachment

6.2.4       Disk scheduling

6.2.5       Disk Management

6.2.6       Swap-space Management

6.2.7       RAID structure

6.2.8       Stable-storage structure

 

6.3        I/O Systems     

6.3.1       I/O Hardware

6.3.2       Application I/O interface

6.3.3       Kernel I/O subsystems

6.3.4       Transforming I/O requests to hardware operations

6.3.5       Streams

6.3.6       Performance

 

7.                    Distributed Systems    

7.1            Distributed OS:

7.1.1       Types

7.1.2       Network Structure

7.1.3       Network topology

7.1.4       communication structure

7.1.5       communication protocols

7.1.6       Robustness

7.1.7       Design issues

 

7.2      Distributed File systems  

7.2.1         Naming and Transparency

7.2.2              Remote File access

7.2.3              Statefulv versus stateless service

 

7.3      Distributed Synchronization

7.3.1         Event ordering

7.3.2         Mutual Exclusion

7.3.3         Atomicity

7.3.4         concurrency control

7.3.5         Deadlock handling

7.3.6         Election Algorithms

7.3.7         Reaching agreement

 

8.                             Protection and Security

     

8.1  System Protection

8.1.1       Goal of Protection

8.1.2       Principles of Protection Domain of Protection

8.1.3       Access Matrix

8.1.4       Implementation of Access Matrix

8.1.5       Access Control, Revocation and Access Rights

8.1.6       Capability-Based Systems

8.1.7       Language-Based Protection

 

8.2        System Security

8.2.1       Programe Threats

8.2.2       system and network threats

8.2.3       cryptography as a security tool

8.2.4       user authentication

8.2.5       Implementing Security Defences

8.2.6       Firewalling to protect systems and Networks

 

9.                     Special Purpose Systems

9.1          Real-time Systems:

9.1.1       System  characteristics

9.1.2       features, of Real-time Kernels

9.1.3       implementing Real time OS

9.1.4       Realtime CPU Scheduling

 

9.2          Multimedia Systems       

9.2.1       What is multimedia

9.2.2       compression

9.2.3       Requirements of Multimedia Kernals

9.2.4       CPU Scheduling

9.2.5       Disk Scheduling

9.2.6       Network Management

9.2.7       An example: CineBlitz

 

9.                             Case Studies        

 

10.1        UNIX BSD (contents on line)

10.2        The Mach System (Contents on the windows 2000

10.3        Contents on line

 

 

 

Text Books :

 

 

1.                                             “Operating System Principles”      Abraham Silberschatz, Peter Baer Galvin, Greg Gagne(2009),Johnwiley & Sons (Asia)Pte Ltd

 

2.                                             “Modern Operating Systems”       Andre S Tanenbaum(2009) Pearson Education