Meeting time and location:
Tuesday/Thursday 4:50pm-6:05pm at CSB 632.
Instructor: Kai Shen
Email: kshen@cs.rochester.edu
Office hours: Tuesday/Thursday 6:05pm-7:05pm at CSB 714; or just walk in please
(appointments can be arranged, but not necessary).
TA: Konstantinos (Kostas) Menychtas
Email:
Office hours: TBD at CSB 626.
Prerequisites:
The course is open to both graduate students and undergraduate students who
have already taken CSC 2/456 (Operating Systems). Everyone who took the
Operating Systems course is expected to have good command of C/C++ programming.
Knowledge on computer networking is helpful, but CSC 2/457 is NOT a
prerequisite for this course.
Breath requirement:
For non-systems CS graduate students, you can use this course to fulfill your
breath requirement in systems.
Overview:
The operating system functions as the software backbone of modern computer systems.
In CSC 2/456, you have learned fundamental operating system materials such
as OS architectures, scheduling and synchronization, multiprogramming, memory
management, file and I/O system, protection and security. Built upon that,
this course will explore several advanced topics on operating systems. Most
of these topics relate directly to real-world deployed systems and practical problems.
In many cases, theoretical foundations and artificial intelligence techniques
are utilized in solving these problems.
Tentatively, this course is expected to cover the following topics:
Text and reference books:
There is no required text for this course. Given that you already took the
Operating Systems course, you should have a copy of the OS text and
you might find it handy when you need to brush off the dirt on some
concepts you learned before.
Although there is no required text, I plan to use a lot of materials from the following book:
Some course assignments will require you work with Linux and you may find a Linux reference book useful:
Assignments and grading:
There will be a few programming assignments and a final project.
The assignments will be based on materials discussed in class.
The final project can be chosen from a variety of topics related to operating
systems (including those that are not discussed in class). The instructor
will be available to help you devise concrete scope for your project.
You will be asked to submit a project proposal several weeks before the
final project due time. The project proposal should include a survey of
past results related to your project.
You should also be prepared to make a presentation of your final project.
Your grade will be based on a combination of your assignments and the final
project. No exams will be administered for this course.
Given that the success of this seminar course will depend very much on lively discussions in classes, I will also consider assign extra credits to those whose make significant contributions to class discussions.