COMPSCI 453: Operating Systems Course Coordinator: Amit Jain

advertisement
COMPSCI 453: Operating Systems
4-credit course with 4 lecture hours per week
Course Coordinator: Amit Jain
Textbook(s) and Supplemental Material
Operating Systems: A Modern Perspective (3rd ed.), Gary Nutt, 2004.
Extensive lecture notes and program examples on class website, Amit Jain, 2011.
Optional: Operating Systems Concepts (8th Ed.), Silberschatz, Galvin and Gagne, 2012.
Optional, :, Modern Operating Systems (3rd ed.). Andrew Tanenbaum2008
Optional, :, Microsoft Windows Internals (5th ed.). Russinovich and Solomon2009
Optional, :, Linux Kernel Development (3rd ed.). Robert Love2010
Catalog Description
Process management, concurrency, inter-process communication, synchronization, scheduling,
memory management, file systems and security. Case studies of multiple operating systems.
PREREQ: COMPSCI 253 and COMPSCI 342 and ECE 330.
Required
Goals for the Course
Successful students will be expected to:
• explain the structure of an Operating System
• explain the function of an Operating System
• solve problems arising in Operating System design and implementation
• describe strategies used to implement commonly used Operating Systems
• write concurrent system programs that run correctly
• create a large piece of system software in stages
• analyze the impact of system software on individuals, organizations and society
Outcomes Addressed
a. an ability to apply knowledge of computing and mathematics appropriate to the
discipline
b. an ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution
c. an ability to design, implement, and evaluate a computer-based system, process,
component, or program to meet desired needs
e. an understanding of professional, ethical, legal, security and social issues and
responsibilities
h. recognition of the need for and an ability to engage in continuing professional
development
g. an ability to analyze the local and global impact of computing on individuals,
organizations, and society
i. an ability to use current techniques, skills, and tools necessary for computing
practice
j. an ability to apply mathematical foundations, algorithmic principles, and computer
science theory in the modeling and design of computer-based systems in a way that
demonstrates comprehension of the trade-offs involved in design choices
k. an ability to apply design and development principles in the construction of
software systems of varying complexity
Outcomes Assessed: b, c, i, j, and k
Topics Covered
Introduction and History
Process Management
Scheduling
Basic Synchronization Principles
High-level Synchronization and Deadlock
Device Management
Memory Management
Virtual Memory
File Management
Protection and Security
Introduction to Networking
Examples from Linux, Microsoft Windows and Mac OS X
Grading
Letter grades are assigned to students based on numerical scores for the following activities:
Activity
Homework and Programming Assignments
Midterm
Final
Curriculum Category Content (Credits)
Area
Core Advanced
Algorithms
Software Design
3
Computer Architecture
1
Data Structures
Programming Languages
Weight
70%
15%
15%
Download