Announcements:
|
Co-Instructors
|
Teaching Assistantsaviv[at]cis.upenn.edu eschmutt[at]seas.upenn.edu gauravsh[at]cis.upenn.edu |
For office hours, see the CIS380 page.
For fastest response, please direct your emails to cse381@seas.upenn.edu.
This course is the lab component of CIS380 (Operating Systems), taught by Prof. Matt Blaze. This course consists of two large projects to design and implement your own operating system. Typical components include a process management system, a command interpreter, and a file management system.
Throughout the semester, we will hold regularly scheduled lectures/tutorials relating to topics discussed in CIS380. We will cover tools and techniques that will be invaluable for completing the assignments. A brief outline of the tutorials is presented below.
We will periodically post messages to this webpage and to the class listserv. These messages may contain crucial information (e.g., clarifications, explanations, changes, etc.). Students are expected to check these resources to keep up-to-date.
Recommended text: Advanced Programming in the UNIX Environment, Second Edition by W. Richard Stevens and Stephen A. Rago. We will assign weekly readings from this text. The book is available for online browsing at the above link, but we recommend a hardcopy, as this book will be an invaluable resource in your future career as an OS developer.
Unlike prior years, we will not be using a class newsgroup. Instead, we will use an email listserv to which you will be subscribed. This will likely be a very high volume listserv (particularly when close to project deadlines), so you may want to set up some mail filters. You are expected to read all messages posted to the listserv. In particular, we will make announcements to the class listserv. The listserv is a very important resource for you. We encourage (and expect) you to post comments, requests for clarifications, etc. to the listserv.
Please direct course-related emails to cse381@seas.upenn.edu. Emails sent to this address will reach the entire teaching staff, and will increase your chances of getting a fast response.
We require that students complete their assignments on seas.upenn.edu. seas (formly eniac-l) is a cluster of computers running the Linux operating system. We will not accept code written specifically for SunOS (the operating system that powers eniac-s.seas.upenn.edu). Please contact CETS if you do not already have access to the eniac cluster.
Activities, that have the effect or intention of interfering with education, pursuit of knowledge, or fair evaluation of a student's performance are prohibited. Examples of such activities include but are not limited to the following definitions:
A. Cheating: using or attempting to use unauthorized assistance, material, or study aids in examinations or other academic work or preventing, or attempting to prevent, another from using authorized assistance, material, or study aids. Example: using a cheat sheet in a quiz or exam, altering a graded exam and resubmitting it for a better grade, etc.
B. Plagiarism: using the ideas, data, or language of another without specific or proper acknowledgment. Example: copying another person's paper, article, or computer work and submitting it for an assignment, cloning someone else's ideas without attribution, failing to use quotation marks where appropriate, etc.
C. Fabrication: submitting contrived or altered information in any academic exercise. Example: making up data for an experiment, fudging data, citing nonexistent articles, contriving sources, etc.
D. Multiple submission: submitting, without prior permission, any work submitted to fulfill another academic requirement.
E. Misrepresentation of academic records: misrepresenting or tampering with or attempting to tamper with any portion of a student's transcripts or academic record, either before or after coming to the University of Pennsylvania. Example: forging a change of grade slip, tampering with computer records, falsifying academic information on one's resume, etc.
F. Facilitating academic dishonesty: knowingly helping or attempting to help another violate any provision of the Code. Example: working together on a take-home exam, etc.
G. Unfair advantage: attempting to gain unauthorized advantage over fellow students in an academic exercise. Example: gaining or providing unauthorized access to examination materials, obstructing or interfering with another student's efforts in an academic exercise, lying about a need for an extension for an exam or paper, continuing to write even when time is up during an exam, destroying or keeping library materials for one's own use., etc.
* If a student is unsure whether his action(s) constitute a violation of the Code of Academic Integrity, then it is that student's responsibility to consult with the instructor to clarify any ambiguities.
Ignorance of the integrity code is not an excuse. If you have a question regarding whether something is permissible, ASK US. Otherwise, be conservative.
Our policy is simple: If you are caught cheating, we will report you to the Office of Student Conduct. No exceptions.
The first 381 tutorial/recitation will be held today, Tuesday Sept. 9th in Levine 307 at 6pm. A more permanent location will be announced shortly.
Tutorial slides will be posted here shortly after the tutorial.
| Lecture | Topics Covered |
|---|---|
| 1 | Intro. C in 60 minutes. (slides) |
| 2 | Processes, Shells, Redirection and Job Control (slides) |
| 3 | Piping and Advanced Signals (slides) |
| 4 | Subversion (slides) |
| 5 | User contexts and source code management (slides) |
| 6 | File Systems (slides) |
There will be two short homeworks and two programming projects for this class. The first project is an individual assignment while the second is a group project. Additional information regarding the assignments will be posted on this page later in the semester.
Homework 2 is now available. It is due at 6pm on September 25th.
Homework 1 is now available. It is due at 6pm on September 16th.
Project 1 is now available. It is due at 6pm on October 10th.
Project 2 is now available. It is due at 6pm on December 5th.
Project 2 resources:
CIS381 has a reputation of being a very hard class. However, this isn't entirely correct. The material is not exceptionally difficult. However, compared to the projects you may have completed for other courses, the CIS381 assignments do take a substantial amount of time. The following advice may be helpful:
Page last updated: October 22nd, 2008