Back home



CSc 415: Operating Systems Principles

Instructor Dr. Jozo J. Dujmovic
(English spelling: Yozo Dooymovich)
Office: Thornton 906 (MWF 11-12 a.m.)
Phone: (415) 338-1008
Email: jozo@cs.sfsu.edu

Prerequisites

Grade C or better in CSc 410, 411 , Engr 356, Phys 230/232 and working knowledge of calculus, basic probability theory, and statistics (Math 250)
Literature
  • A. Silbershatz and P. Galvin, Operating System Concepts. Addison-Wesley, 1998.
  • J. Dujmovic, Operating Systems Principles, CSc415 Course Reader, SFSU 1998.
  • L. Dowdy and C. Lowery, P.S. to Operating Systems. Prentice Hall, 1993.
  • M.J. Rochkind, Advanced Unix Programming. Prentice-Hall 1985.
  • G. Glass, Unix for Programmers and Users. Prentice-Hall 1993.
Grading Homework, totaling 25 points
Midterm Exam, 30 points
Final Exam, 45 points
Additional activity, 5 points

Objectives There are several approaches to the area of Operating Systems:

  1. Operating system concepts (functional characteristics and features: their description, classification, and global understanding)
  2. Performance aspects of operating systems (analytic models, simulators, and performance measurement methods)
  3. OS for users (how to use OS commands and command interpreters).
  4. OS for programmers (systems programming: how to use system calls and OS internals).
  5. OS design/implementation (writing specific OS components, e.g. device schedulers, drivers, etc.)

Our objective is to present a uniform distribution of the above approaches.

Syllabus
  • Layers of system software and virtual machines: computer system structures, and operating system structures.
  • Processor and process management: processes, and CPU scheduling.
  • Dynamic models of computer systems: queueing models of interactive and batch systems.
  • Process synchronization and deadlocks.
  • Storage management: partitioned memory management and techniques for virtual memory organization.
  • File management: file-system interface and implementation.
  • Device management: disk structure, performance, and scheduling.
  • Protection and security in operating systems: data access protection, user authentication, and encryption