| Course Number |
|
| Course Name |
|
| Credits |
|
| Prerequisite |
|
| Course Description |
|
| Course Objectives |
A. familiar with the basic components of an operating system. B. familiar with some of the classical operating systems issues. C. able to study and modify an operating system. D. familiar with the structures of operating systems on various computer platforms. E. familiar with classical problems of concurrency and be able to develop programs using concurrency primitives. F. familiar with tasks of a systems administrator on various computer platforms. |
| Course Outline |
3. Multiprogramming 4. Time Sharing 5. Real-Time Systems 6. Multi-Processor Systems
2. The user view 3. The operating system view
2. Semaphores 3. Classical Process Coordination Problems 4. Interprocess Communications 5. Modularization 6. Synchronization 7. Concurrent Languages
2. Characterization 3. Prevention 4. Avoidance 5. Detection 6. Recovery
2. Swapping 3. Paging 4. Segmentation 5. fragmentation 6. garbage collection 7. placement strategies
2. Demand Paging 3. Virtual Memory concepts 4. Page Replacement Strategies 5. Thrashing 6. Locality and the Working Set
2. Allocation Methods 3. Directory Structures 4. Protection
2. Scheduling Strategies 3. Performance Trade-offs
2. First-Come-First-Serve Scheduling 3. Shortest-Seek-Time-First 4. Scan 5. Sector Queuing
monitoring. 2. Viruses, worms, Trojan horses. 3. Software packages for secure systems.
2. Adding users, peripherals, networks, email, Internet. 3. Startup and shutdown procedures. 4. Backup and restore facilities. 5. System Accounting. 6. Automating routine tasks using shell scripts.
2. Performance Issues. 3. System Tuning. |
| Suggested Texts |
Operating Systems, 2nd edition, Harvey Deitel, Addison-Wesley, 1990. |
| Related Readings |
The Design of the Unix Operating System, Maurice J. Bach, Prentice Hall, 1987. Advanced Unix Programming, M. Rochkind, Prentice-Hall, 1985. The Design and Implementation of the BSD 4.3 Unix Operating System, Samuel Leffler, Marshall McKusick, and John Quarterman, Addison-Wesley, 1989. Operating System Principles, Brinch Hansen, Prentice-Hall, 1973. The Architecture of Concurrent Programs, Brinch Hansen, Prentice-Hall, 1977. Principles of Concurrent Programs, M. Ben-Ari, Prentice-Hall, 1982. The Design of Operating Systems for Small Computer Systems, Stephen Kaisler, John Wiley & Sons Press, 1983. Unix, MS-DOS, other technical manuals. Writing a Unix Device Driver, J. Egan, T. Teixeira, John Wiley & Sons Press, 1988. MS-DOS Developer's Guide, J. Angermeyer and K. Jaeger, Howard W Sams & Co., 1986. Partial list of selected reprints of journals and publications. ACM SIG Transactions on Operating Systems, IEEE Transactions on Systems, Man, and Cybernetics, Technical reports form MIT, U. of Maryland, U. of Pennsylvania, Carnegie Mellon University, Temple University, etc. |