CSG 712 – Intensive Computer Systems, Spring 2009
Prof. Peter Desnoyers, pjd@ccs.neu.edu, 334 West Village H
Class description:
Studies the structure, components, design, implementation, and internal operation of computer systems, focusing mainly on the operating system level. Briefly reviews computer hardware and architecture, including the arithmetic and logic unit, and the control unit. Covers current operating system components and construction techniques, including the memory and memory controller, I/O device management, device drivers, memory management, file system structures, and the user interface. Briefly discusses distributed operating systems, real time systems and addresses issues such as concurrent processes, scheduling, interprocess communication and synchronization. Some relevant distributed algorithms will be discussed as time allows. The course will also cover design and analysis techniques for desirable properties in computer systems selected from the following: functional correctness (in the absence of faults), performance and throughput, fault-tolerance and reliability, real-time response, security, and quality-of-service. Includes examples from real operating systems. The course will emphasize abstraction while programming exercises will be used to facilitate the understanding of concepts.
Prerequisites:
The following are what I believe to be practical prerequisites for this class. Students who are not sufficiently prepared in one or more of these areas should anticipate that additional effort will be required on their part.
C programming and basic familiarity with Unix systems. Students will be responsible for completing programming assignments in C without assistance.
Computer architecture. We will discuss some aspects of computer architecture (e.g. virtual memory) in great depth; however students are responsible for a basic understanding of CPUs, subroutine linkage, control flow, and enough familiarity with assembler to understand small (5-10 lines) snippets of example code.
Class materials
The textbook for this class is:
Operating Systems Concepts
Avi
Silbershatz, Peter Baer Galvin, and Greg Gagne
7th
edition: ISBN 0-471-69466-5
8th edition: ISBN
0-470-12872-0
Either the 7th edition or the 8th edition should be acceptable. Additional materials will be posted electronically on the class Blackboard site as needed.
Web site
This class will make extensive use of Blackboard for posting materials and submitting assignments. Note that Blackboard uses your @neu.edu email address, so please ensure that you either check this account or forward it properly to an account which you check regularly.
Schedule
The class will meet from 2:50 until 4:30 on Mondays and Wednesdays in Shillman Hall room 425. There will be a final exam on the last day of class, April 15.
The tentative schedule of class meetings is as follows:
|
Jan 5 |
Programs, processes, and context switching |
|
Jan 7 |
|
|
Jan 12 |
|
|
Jan 14 |
Synchronization, scheduling and queuing |
|
Jan 21 |
|
|
Jan 26 |
|
|
Jan 28 |
Virtual Memory |
|
Feb 2 |
|
|
Feb 4 |
|
|
Feb 9 |
Virtualization |
|
Feb 11 |
|
|
Feb 18 |
Midterm review |
|
Feb 23 |
Midterm exam |
|
Feb 25 |
Block Devices and I/O |
|
Mar 9** |
|
|
Mar 11** |
|
|
Mar 16 |
File Systems |
|
Mar 18 |
|
|
Mar 23 |
|
|
Mar 25 |
Security |
|
Mar 30 |
|
|
Apr 1 |
System Architecture |
|
Apr 6 |
|
|
Apr 8 |
Benchmarking and Measurement |
|
Apr 13 |
|
|
Apr 15 |
Final Exam |
** I will be traveling the week of 3/9. There will be no class on 3/9 or 3/11, but I expect to schedule a single make-up lecture on Thursday 3/12 or Friday 3/13.
Assignments
I am currently planning to assign 2 programming projects and 3 non-programming homeworks. The programming assignments will be submitted online; I may ask that some of the non-programming assignments be submitted on paper. The department will provide all computing facilities needed to complete these assignments; you are welcome to use your own computing resources, as long as your final submission compiles and runs correctly on the department system.
There will be assigned readings for most of the classes, and for each there will be a brief question due electronically before that day's class.
Late homework policy: Late homework will be assessed a penalty of 15% per day late or fraction thereof; each student may elect to submit one homework up to 4 days late without penalty. Late reading reports will not receive credit.
Scribe notes
There will be a single student responsible for taking notes on each lecture; these notes will be due before the next class, and will be made available to other students on Blackboard. (legible paper notes are entirely acceptable; they will be scanned and posted as PDFs) Students will sign up for slots during the first class. I will be videotaping my lectures and making them available on Blackboard; however note-takers are expected to attend the lecture for which they are responsible. A portion of the class grade (5%) will be based on satisfactory completion of scribe notes.
Grading
The following is a tentative breakdown of how grades will be assigned.
|
Reading reports |
10% |
|
Homework |
45% |
|
Scribe notes |
5% |
|
Mid-term |
15% |
|
Final |
25% |
Policies
Exams are open book / open notes; calculators are permitted but not computers and especially not the Internet.
Collaboration: Students are expected to work together on assignments, but must always submit their own work, and in addition should identify those students they collaborated with. (scribe notes are the only exception to this – any form of collaboration which results in a useful resource for your classmates is allowed)
If a student's grade on the final exam is higher than their grade on the mid-term, both tests will receive the final exam grade.
Computer use during class is allowed but expected to be for class purposes (e.g. note-taking, reference) only. Please avoid non-class-related computer use so that I do not have to revisit this policy.