area
sect 1
CSCD 340 - Operating Systems
Syllabus
Class Times
M,T, Th, F 12:00 - 1:50 CE 209
Text
Modern Operating Systems   Tannenbaum
You should try to read the text completely (once through) as quickly as possible. I encourage you to read (not study ) the text three times during the course of the term.
Software
I use Debian and Ubuntu (both Linux) primarily and any programs you might write should run on these systems, so you should test them there. Otherwise, there are no limits on what software you might use - though if you do use something strange, you should ensure that I can install anything needed on my system. Thus, any programming you might do can be done in any language that runs on Linux systems - that includes C, C++, Java, Python, Erlang, C# (Mono), Haskell, O'Caml ...
Class Goals
You should leave this class with a basic understanding of Operating Systems - some of the problems they solve and how they solve them. This is not a theory course and practical work will be expected.
I assume that you have a basic understanding of programming and of how to solve problems in the general area of computing. More specifically, I assume you have a good working knowledge of Java.
Academic Integrity
Unless otherwise noted, you should work on each of these assignments on your own. Copying other people's work is considered a Bad Thing and may result in failing the assignment, failing the class or in you being reported to the department or the University. This includes copying the work of other people in the class as well as copying work directly from the web.
If an assignment specifically allows you to work in groups, you should consider that a strong recommendation to do so. This does not relieve you from the constraints of the Academic Integrity rules - you should not copy work from other groups, nor should you copy work from elsewhere (the web, for instance).
You should (if you have not already done so) read the University web page on academic integrity.
Violations of the Academic Integrity policy or of the ACM Ethics Guidelines are subject to punitive action. This may (at the discretion of the instructor) range from a Good Stern Talking To to failing an assignment or the course up to formal university or even legal actions.
Schedule
Dates in the calendar are for the Monday of the week, except for assignments which are for the day the assignments are due.
Dates and topics are approximate and tentative.
Calendar
Changes Are Probably Inevitable
n
1 18 Sept Introduction Ch 1
2 25 Sept Architecture and Systems Ch 1
3 2 Oct Processes Ch 2
4 9 Oct Deadlock Ch 3 Back to the Future Friday 13 Oct
5 16 Oct Memory Ch. 4
6 23 Oct IO Ch 5 Processing... Friday 27 Oct
7 30 Oct File Systems Ch 6
8 6 Nov Security and Cryptography Ch 7
9 13 Nov OS System Design Ch 12 Doctor Memory Friday 17 Nov
10 20 Nov OS Futures Thanksgiving
11 27 Nov Wrap Up Topical Anesthetic Due: 1 Dec
Outcomes and Assessments
The successful student in this class will come out with a basic knowledge of operating systems, their structure, the problems involved, the algorithms used (in scheduling, deadlock, IO, memory management) and system security.
The successful student will prove such success by successfully completing all the assignments, and by actively participating in class.
Assignment General Information
Assignments are due Friday at 8PM of the week indicated. Assignments are not late until I start grading, however I reserve the right to start grading any time after Friday 8PM. Assignments received after I start grading but within a week of the due date will be penalized by one half (that is, the grades will be multiplied by 0.5 when they are included in the final grade calculations). Assignments more than one week late will not be graded and will receive a grade of zero. For more information on assignments and how to submit them see http://foo.ewu.edu/teaching/assignments.html.
Assignments submitted in other formats or in other ways will not be accepted. I'm (usually!) willing to give students the chance to resubmit one assignment, but you're taking chances if you try to go for more than that.
For more information on the assignment submit format, see http://foo.ewu.edu/teaching/homework-submit.html .
All assignments should be submitted with all of the files in text format unless otherwise specified. Code should be submitted as source files and not as object, executable, java class files or other binary files. If I can't determine a file type or open it with the tools to hand, I will not grade the assignment and it will receive a zero. Documents should also be submitted in text format. That is, no ".doc" files, no Open Office binary files and so on. HTML is text. So is TeX and LaTeX. Docbook and XML are also text but if you submit either of these be sure to provide me with XSL files as appropriate. While RTF is text, I would prefer you do not use it.
I would like to strongly encourage you to use TeX or (better) LaTeX to do your write up. LaTeX is a very common format in scientific and technical publishing and is available as Free and Open Source software for pretty much every system around. If you are unfamiliar with LaTeX, you might try Lyx, a more or less WYSIWYG document system that can be set to produce LaTeX. Lyx is available for all major systems.
Do not send back to me as part of your submission copies of binary files that I make available to you. Do not submit other binary data files to me - instead give me the programs needed to generate them.
There are a couple of exceptions to these guidelines. You may submit writeups in PDF format. You may also submit image files (as needed) in PNG or JPG format.
Each assignment must be submitted with your name and a brief description in a file in text format named "ReadMe" and with a Makefile (or Ant build file) if appropriate. If multiple people work on an assignment I only need one copy, but be sure to put everyone's name in the "ReadMe" file.
Grading
There are four assignments in this course. There is no final exam. You should start the assignments fairly early in the term or you are not likely to finish them on time.
If I think an assignment submitted is notable (notably good, that is) I may ask the submitter(s) to do a brief (20-30 mins) presentation to the class on that assignment. This will be worth (however good or bad the presentation is) one point toward your final grade (which, since your final grade will otherwise be based on 8 points) may be a nice addition.
Assignments
Number Due Date Page Points Group? Type
1 13 Oct Back To the Future 1 Point No Group Work Paper
2 27 Oct Processing... 3 Points Groups of up to 3 people Programming and Analysis
3 17 Nov Doctor Memory 3 Points Groups of up to 3 people Programming and Analysis
4 1 Dec Topical Anesthetic 1 Point No Group Work Paper
Notes
References
Oh foo