|
|
|
|
Course Description:
CS 414/415 covers introductory operating system design and implementation. We will cover the basics of operating systems, namely structure, concurrency, scheduling, synchronization, memory management, filesystems, security and networking. We will also discuss advanced topics such as ubiquitous computing and extensible systems. The course is open to any undergraduate who has mastered the material in CS 314. All students enrolled in 414 this spring must also be enrolled in 415 and complete the practicum project. The project will require a substantial programming effort. |
CS 415 Projects:
This semester, the project component of the course will involve several projects which will start small and build up to an ad-hoc networking system on handheld computers. The first two project assignments will involve building a prototype operating system. The first assignment is to implement our own threads, scheduling, and synchronization mechanisms at user level on top of NT. We will use the facilities provided by NT mostly to bootstrap our own OS. The second one will add preemption and introduce interrupt-driven networking. For the third assignment, we will switch from NT to CE devices (Palmax 600's) donated by Microsoft. We have 30 Palmax 600's and 70 HP Jornadas with wireless networking cards for this course. The "default" class project for this semester will involve peer-to-peer messaging in an ad-hoc network. Students are encouraged to work in pairs and to modify their project.
|
|