OPERATING SYSTEMS COURSE [SPRING 2006]: SYLLABUS
|
Goals
- Get a good understanding of "how stuff works", i.e., how computers
operate, how programs get executed, how hardware resources are
managed, etc..
- Develop an understanding of the function, the structure, and
operation of modern operating systems.
- Get a feeling of what really matters in operating system design,
understand the basic design tradeoffs.
- Understand the interaction between (system) software and hardware,
as well as between the operating system and applications.
- Understand the basics of the modern parallel, distributed, and
networked operating environments.
- Familiarization with the main relevant standards (such as POSIX).
- Familiarization with the operating systems jargon.
Prerequisites
- Programming skills
- Knowledge of the C programming language
- Basic understanding of the computer architecture
- Basic knowledge of data structures and algorithms
- Healthy skepticism and critical approach
Topics
- Introduction: function and structure of operating systems.
- Process management.
- Memory management.
- Multiprocessor systems (symmetric multiprocessing, supercomputers).
- I/O.
- Filesystems.
- Networking, distributed systems.
- Protection and security.
- Virtualization.
Of the topics above, most likely process management and memory
management will take 2 lectures each, and the rest of the topics will
have one lecture devoted to each of them.
More details will become available in the lecture slides as the course
progresses. The drills page will also
be updated as we proceed, and will also contain homework assignments.
Grades
The final grade will be a weighted sum of 3 components: homework (5-10%), project (20-30%, depending on the
difficulty), and exam (the remaining
percentage of the weight).
Note that a passing grade in each of the three components separately
is necessary to pass the course.
$Revision: 1.2 $ $Date: 2006/03/04 11:43:55 $
|