CSE 430
Operating Systems
Spring 2000
Instructor/Teaching Assistants:
| Names |
Room |
Phone |
Office Hours |
Instructor: Partha Dasgupta
Email: p a r t h a @ a s u . e d u |
GWC 326 |
965-5583 |
MW 3:30-4:30
Fri: By appt. |
| Teaching Assistants: To be
announced |
Text Book
Course Contents:
- Introduction to Operating Systems:
- History
- Efficiency and Convenience
- Protection
- Operating System Services
- System Architecture
- System Calls
- Resource Management
- CPU Scheduling Concepts
- Context Switching
- Multi-Processing
- Long and Short term Scheduling
- Comparison of Scheduling Algorithms
- Timesharing Concepts
- Concurrent Processes
(Note: The majority of the class
time will be spent on this topic)
- Concurrency
- Race Conditions
- Mutual Exclusion and Synchronization
- Synchronization Techniques
- Semaphores
- Concurrent Programming Paradigms
- Readers/Writers, Dining Philosophers
- Language Support: Regions and Monitors
- Message Passing.
- Memory Management:
- Memory Allocation protocols
- Paging/Segmentation
- Virtual Memory
- Demand Paging
- Page Replacement
- Deadlock Handling
- Deadlock Concepts and Conditions
- Avoidance and Prevention
- Banker's Algorithm
- Device Management:
- Disks and Peripherals
- Device Drivers
- Disk Scheduling
- File Systems
- File Naming
- Directory Management
- File Access Methods
- Protection
- Introduction to Networking
Homeworks and Projects
Homeworks will be assigned as material is covered. About 2 - 3
homeworks in the first 6 weeks of class.
Programming projects will be assigned towards the latter of
the class. Expect 2 projects in the second 6 weeks of class.
Programming projects will involve writing concurrent programs
and executing them on a Unix machine. 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.