State University of New York at Oswego

  1. COURSE NUMBER AND CREDIT
  2. CSC 443 - 3 Semester Hours

  3. COURSE TITLE
  4. Operating Systems

  5. COURSE DESCRIPTION
  6. An analysis of the concepts and functions of operating systems. The course will include a survey of operating systems now in existence as well as methodologies for the selection, evaluation, adaptation, and implementation of an operating system.

  7. PREREQUISITES
  8. CSC 222, CSC 241 and at least one upper-level programming course.

  9. COURSE JUSTIFICATION
  10. An understanding of operating system concepts and functions is basic to the creation and installation of software components. An introductory course is a necessary element of any degree program with a focus in software engineering.

  11. COURSE OBJECTIVES
  12. Upon successful completion of this course, students will be able to:

    1. Understand some of the protocols and mechanisms of operating system design.
    2. Understand the requirements necessary for the interoperability of software and hardware subsystems.
    3. Understand the problems imposed by these requirements.
    4. Weigh the relative merits of existing and theoretical solutions to these problems.
    5. Implement and/or simulate rudimentary components of an operating system.

  13. COURSE OUTLINE
    1. Introductory Concepts
      1. Hardware
        1. CPU
        2. Memory
        3. Storage
      2. Software
        1. System
        2. Application
        3. Utility
      3. Components
        1. Hardware
        2. Software
    2. Process Management
      1. Processes
      2. Threads
      3. Scheduling
      4. Synchronization
    3. Storage
      1. Memory Management
      2. File Systems
      3. I/O
    4. Distributed Systems
      1. Networks
      2. Communication
      3. Coordination
    5. Security
      1. Access Rights
      2. Authentication
      3. Encryption
    6. Contemporary Operating System Examples

  14. METHODS OF INSTRUCTION
    1. Lectures.
    2. Discussion.
    3. Student presentations.

  15. COURSE REQUIREMENTS
    1. Presentations.
    2. Participation.
    3. Programming projects.

  16. MEANS OF EVALUATION
    1. Programming projects.
    2. Papers.
    3. Course participation and presentations.
    4. Examinations.

  17. RESOURCES
  18. Only readily available computer and software systems will be needed.

  19. BIBLIOGRAPHY
  20. D. Comer. Operating System Design: The Xinu Approach. Prentice-Hall, Englewood Cliffs, NJ, 1984.

    D. Comer. Internetworking with TCP/7P, Volume I, Second Edition. Prentice-Hall, Englewood Cliffs, NJ, 1991.

    D. Comer and D. L. Stevens. Internetworking with TCP17P, Volume II. Prentice-Hall, Englewood Cliffs, NJ, 1991.

    H. M. Deitel. An Introduction to Operating Systems, Second Edition. Addison-Wesley, Reading, MA, 1990.

    R. C. Holt. Concurrent Euclid, the UNIX System, and Tunis . Addison-Wesley, Reading, MA, 1983.

    B. W. Kernighan and R. Pike. The UNIX Programming Environment . Prentice-Hall, Englewood Cliffs, NJ, 1984.

    B. W. Kernighan and D. M. Ritchie. The C Programming Language, Second Edition. Prentice-Hall, Englewood Cliffs, NJ, 1988.

    D. E. Knuth. The Art of Computer Programming, Volume 1: Fundamental Algorithms, Second Edition. Addison-Wesley, Reading, MA, 1973.

    S. Kleiman, D. Shah, and B. Smaalders. Programming with Threads. Sunsoft Press, Upper Saddle River, NJ, 1996.

    D. Lea. Concurrent Programming in Java. Addison-Wesley, Reading, MA, 1997.

    A. J. Menezes, P. C. van Oorschot, and S. A. Vanstone. Handbook of Applied Cryptography. CRC Press, 1997.

    S. Mullender (Editor). Distributed Systems, Second Edition. ACM Press, New York, NY, 1993.

    J. Richter. Advanced Windows, Third Edition. Microsoft Press, Redmond, WA, 1997.

    A. Silberschatz, P. Galvin, and G. Gagne. Applied Operating System Concepts, First Edition. John Wiley & Sons, Inc, New York, 2000.

    A. Silberschatz, P. Galvin, and G. Gagne. Operating System Concepts, Sixth Edition. John Wiley & Sons, Inc, New York, 2000.

    A. Silberschatz, P. Galvin, and G. Gagne. Operating System Concepts with Java, Sixth Edition. John Wiley & Sons, Inc, New York, 2000.

    W. Stallings. Operating Systems , Fourth Edition. Prentice-Hall, Upper Saddle River, NJ, 2000.

    W.R. Stevens. Unix Network Programming: Interprocess Communications, Volume 2 , Second Edition. Prentice-Hall, Upper Saddle River, NJ, 1998.

    W.R. Stevens. Unix Network Programming: Networking APIs: Sockets and XTI, Volume 1 , Second Edition. Prentice-Hall, Upper Saddle River, NJ, 1997.

    A. Tanenbaum. Computer Networks, Third Edition. Prentice-Hall, Upper Saddle River, NJ, 1996.

    A. S. Tanenbaum and M. van Steen. Distributed Systems. Prentice-Hall, Upper Saddle River, NJ, 2002.

    A. S. Tanenbaum. Modern Operating Systems, Second Edition. Prentice-Hall, Englewood Cliffs, NJ, 2001.

    A. S. Tanenbaum. Structured Computer Organization, Third Edition. Prentice-Hall, Englewood Cliffs, NJ, 1990.


Document: Computer Science Course CSC443
URL: http://www.cs.oswego.edu/emma/outlines/csc/csc443.html
Last Update: Sun, 10 Aug 2003 15:18:28 GMT

 Last Updated: 7/9/07