CSE 430/598
Operating Systems
Fall 1997

Instructor/Teaching Assistant:

Name

Room

Phone

Office Hours

Partha Dasgupta
Email: partha@asu.edu
http://cactus.eas.asu.edu/partha

GWC 324

965 5583

M: 4:40-5:30pm
W: 11am-noon
W: 4:40 - 5:30pm

Nayna Mutha
Email: nayna@asu.edu

GWC 367

965-2797

Tues : 1:40 - 3:40 pm
Thurs : 10:00 - 12:00 am

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

Mon Oct 20th

30%

Final Exam (comprehensive)

Wed Dec. 17th, 6:40-8:30pm

35%