G22.2250-001
Operating Systems
Fall 1998

Instructor/Teaching Assistants:

Name Room Phone Office Hours
Partha Dasgupta
Email: partha@asu.edu
719, Broadway, Room - 702 998-3225 MW 5-6,
and by appointment
Teaching Assistants:

Jianbo Peng jianbo@cs.nyu.edu
Junhua Wang junhua@cs.nyu.edu



422 CIWW
422 CIWW


998-3083
998-3083


Tue 4:30p-6:30p.
Thu 4:30p-6:30p.

Text Book

Course Contents:

  1. Introduction to Operating Systems:
    1. History
    2. Efficiency and Convenience
    3. Protection
  2. Operating System Services
    1. System Architecture
    2. System Calls
    3. Resource Management
  3. CPU Scheduling Concepts
    1. Context Switching
    2. Multi-Processing
    3. Long and Short term Scheduling
    4. Comparison of Scheduling Algorithms
    5. Timesharing Concepts
  4. Concurrent Processes
    1. Concurrency
    2. Race Conditions
    3. Mutual Exclusion and Synchronization
    4. Synchronization Techniques
    5. Semaphores
    6. Concurrent Programming Paradigms
    7. Readers/Writers, Dining Philosophers
    8. Language Support: Regions and Monitors
    9. Message Passing.
  5. Memory Management:
    1. Memory Allocation protocols
    2. Paging/Segmentation
    3. Virtual Memory
    4. Demand Paging
    5. Page Replacement
  6. Deadlock Handling
    1. Deadlock Concepts and Conditions
    2. Avoidance and Prevention
    3. Banker's Algorithm
  7. Device Management:
    1. Disks and Peripherals
    2. Device Drivers
    3. Disk Scheduling
  8. File Systems
    1. File Naming
    2. Directory Management
    3. File Access Methods
    4. Protection
  9. Introduction to Networking

Projects

Programming projects will involve writing concurrent programs and executing them on a Unix machine. Class accounts will be provided, some software and examples will be provided.

Programming will use the C language. Some knowledge of using Unix (editing, compiling) is essential, and expected. Knowledge of basic programming in C will be assumed. Number and complexity of projects

will be determined as the course proceeds. Information on usage of shared memory and semaphores in Unix will be provided.

Reference book for C: "The C Programming Language", Kernighan and Ritchie.

Grading and Exams

The following table shows the schedule and weight for exams and coursework. The marks obtained will be curved for grade assignment.

All exams will be open book, open notes.

Although discussing homework/project problems with peers is acceptable be careful that you work out your solutions. Any impropriety in homeworks and exams will be treated seriously.

Item Date Weight
Homeworks and Projects As assigned 35%
Mid Term Exam November 2nd, 7p-9p 30%
Final Exam (comprehensive) December 14th, 7p - 9p 35%