CPSC 410 / CPSC 611 -- Operating Systems (Fall 2008)

CPSC 410 / CPSC 611 -- Operating Systems (Fall 2008)


Section 410-501 / 611:

Time:
TR 11:10am - 12:25pm
Location:
124 HRBB


Instructor: Teaching Assistant:

Riccardo Bettati
509C Harvey R. Bright Bldg
845-5469
Office hours:
M: 11:00am-12:00pm
T: 2:00pm-3:00pm
R: 2:00pm-3:00pm
(and by appointment)
e-mail:
bettati cs

Baik Song An
845-1865
Office hours:
M 11:00am - 12:00pm
T 4:00pm - 5:00pm
F 3:00pm - 4:00pm
e-mail:
baiksong cs


TA-Page | Schedule | Slides | Tests | Homeworks | Projects

News/Announcements:




Required Textbook

We will be following this textbook rather closely. Purchasing it for the course is strongly recommended.

Reference Material

These optional books complement the textbook. Perusing them may help you better understand some issues discussed in class.

Of course I never miss a chance to recommend the following bathtub reading to anybody with ambition to write decent code.


Lectures

During lectures we will be covering OS concepts and case studies. One particular "case study" will be the OS kernel developed in the projects, including the underlying architecture and run-time environment.

Tutorials

In addition to the lectures, we will have a series of tutorials, which will present additional material that is specific to the machine problems.

If there is interest, additional tutorials will be scheduled to present and discuss current OS related issues, that is, for material that is not part of the course syllabus.

Stay tuned for more information on tutorials!


Assessment Method

This couse will have three tests (160 + 160 + 180 = 500 points,) a series of projects (totalling 350 points,) and several homeworks (totalling = 150 points).

The grading scale looks as follows:

A: 901 - 1000 points

B: 801 - 900 points

C: 701 - 800 points

D: 601 - 700 points

F: 0 - 600 points

We expect that the projects (and perhaps the tests) will have some bonus points.


Late-Submission Policy

Machine problems and homeworks are to be handed in on CSNET. Make sure that you have access to CSNET.

Note: The machine problems are very demanding, and they will require dedication and time.

All the submission deadlines have included extra time for the consideration of accidental events such as (not limited to) unavailable resource (machines are down,) sickness of students, stock market collapse, distress due to the Aggies loosing a game, etc. This means that additional extensions are generally not granted. The rule of the game: START EARLY!

Lateness is penalized with 1/5 of the earned points of the item per calendar day. After the due date (plus 5 days) no more submissions will be accepted. Also, no make-up work submissions will be accepted.


Examinations

There will be two midterms and one final examinations. The midterms will be in-class, and the final will be during the allocated time during Final's Week.

All tests will be closed-book. You will be allowed one hand-written "cheat sheet" of size 8.5in x 5.5in. No other aids will be allowed, except for writing utensils.


Projects

In this course we will not only talk about operating systems; we will actually build one (at least portions of it.) You will get into writing some rather sophisticated code. While doing this, you will realize that writing OS code is to programming your typical application like NASCAR racing is to driving your mom-in-law to Sunday brunch. If you need somebody to hold you by the hand (like, memory protection) you will be in really bad shape. You will either have to learn to live without, or you will write your own. But the fun part is that you will learn how to nurture a CPU (or multiple CPUs) from the moment it wakes up until it has access to sufficient support infrastructure to run user programs on its own.

This semester we will be using MIPS IV as the underlying architecture for the projects. As execution platform we will be using a sophisticated software emulator for the MIPS CPU and enough supporting infrastructure (PCI busses, etc.) to represent a system where interesting stuff happens. For information on the emulation environment check out GXemul.

The environment for the projects is written in C++, which gives a nice opportunity to some of you to get a little experience in writing simple object-oriented code. It is simple, from an object-oriented standpoint. The code itself will be more sophisticated than most you will write before you graduate. For the students who are not familiar with C++, a short introduction of the most important concepts will be given in form of a tutorial. A working knowledge of C will be assumed.

Some of the projects will be graded at two levels:

Basic level: Handing in a correct solution at this level is perfectly fine, and is sufficient to get maximum points in class. Typically, it should not be difficult to solve the projects at this level.

Advanced level: For experts who think their talent is wasted on implementing solutions for the basic level. Handing in a correct (!) solution at this level will give you bonus points. A Note for 611 students: Expect to submit some of the projects at the Advanced Level, with no bonus points.


Communication Policy

Both the instructor and the teaching assistant for this course will do their best to communicate relevant administrative information (deadlines, information about posted material, details about projects, locations of tutorials, and so on) in an effective and timely manner. We will be using anouncements in class, postings on the web site, material on csnet, and occasionally e-mails to students.

Having said that, keep in mind that this is not a distance education course! You are expected to be current with the material covered in class and with any announcements made in class. In fact, announcements in class will override whatever information has been made available through the other channels. The instructor and TA cannot be held responsible for not conveying important information to students who did not attend class.

Note on e-mail etiquette: E-mail is a very convenient and potentially effective way to communicate with instructor and TA, but only if used in a professional manner. Keep in mind that -- in particular when a deadline is looming -- we are receiving many e-mails, and all senders expect immediate turn-arounds. Therefore, keep your e-mail short and to the point; indicate that you have done some thinking *before* typing the e-mail; provide necessary support documentation (e.g. code sections) when needed (don't attach huge amounts of code!); follow standard basic rules for courteous and professional communication; proofread your e-mail before sending it out. We will not answer e-mail that does not follow these rules. Repeated offenders will be added to the spam filter.

Note on e-mail accounts: Over the years we have been having problems with off-site e-mail accounts used by students. We will therefore be sending CS-410/611 related e-mail to the accounts listed on TamuDirect only. (These are typically of the form xxxx@neo.tamu.edu, xxxx@cs.tamu.edu, or xxxx@tamu.edu.) Make sure that you have access to these mails, and forward them appropriately if needed.


Academic Dishonesty

The Aggie Code Honor applies. (Check http://www.tamu.edu/aggiehonor for details.)

Disabilities Policy Statement

The Americans with Disabilities Act (ADA) is a federal antidiscrimination statute that provides comprehensive civil rights protection for persons with disabilities. Among other things, this legislation requires that all students with disabilities be guaranteed a learning environment that provides for reasonable accommodation of their disabilities. If you believe you have a disability requiring an accommodation, please contact the Department of Student Life, Services for Students with Disabilities in Cain Hall, Rm. B118, or call 845-1637.


These pages are prone to change without notice! Consult them regularly to avoid surprises.


Last modified: August 2008