CS215 -- Operating Systems

CS215

Operating Systems

Instructor

Frederic Green, Mathematics/Computer Science, BP334, ext. 7410. E-mail: fgreen <at-sign> ((black <dot>) | "") clarku <dot> edu.

Office Hours:

Tuesdays 1-4pm, Thursdays 10:30am-12:30pm.

Text

Operating System Concepts with Java, by A. Silberschatz, P. Galvin and G. Gagne (Wiley). (More info here.)

Lectures and/or Labs

Lectures Tuesdays/Thursdays 9-10:15am, BP326. Labs at the same time, TBA, in BP310.

Course Goals

To study the principles underlying the design of operating systems. This is a course about how operating systems work, not how to use various operating systems (which you are expected to know!). The notion of process, process state, and the management of asynchronous concurrent processes will be discussed. We will explore techniques for managing CPUs, memory, I/O devices, file systems, and distributed systems (networks), and mechanisms for security. We will see how some of these ideas are implemented in a number of specific systems. Practical experience will consist of the implementation some of these concepts largely via the medium of Java technology.

Course Work and Grading Policies

There will be about five substantial, graded programming projects, and several written assignments (taken from or based on problems in the book). In addition, we will devote the last few classes to paper/presentations on specific operating systems (details to follow). Homework accounts for 50% of your grade. There will also be a midterm (20%) and a final (30%).

On Collaboration, Academic Honesty, Etc. . .

It is generally expected that programming projects will be worked on by teams of two students per team. Written assignments are to be done individually. Collaboration between teams (for programming projects) or between individual students (for written assignments) is not permitted. Any departure from these policies will be explicitly stated before the work is assigned. Cases of academic dishonesty (presenting other people's work as your own) will be dealt with severely. This is all in accordance with Clark University's policy on academic integrity.

That being said, a certain degree of interaction between individual students or between teams is permitted. Discussions regarding the nature of the assignment, clarifications about what needs to be done, and even an occasional technical tip (e.g., "what class do I need to create a thread?") are encouraged. But the actual design, coding and debugging of a programming project is to be done only by a single team, and written assignments are done only by individual students.

Course Outline

We will mostly follow the development in the book. Many topics in the Linux chapter (21) will be sprinkled among the various topics, as examples (including examples from other flavors of UNIX). The syllabus below is subject to change. General topics include [with brackets indicating chapters in the text]:

Assignments

Other Links

Back to Fred Green's Home Page