|
CMSC421
Principles of Operating Systems |
|
Common Syllabus for all Sections
Coordinator & Instructor
Dr. Yelena Yesha
Computer Science & Electrical Engineering Department
Office: ITE335
Phone: (410) 455-3542
Email: yeyesha@csee.umbc.edu
Office Hours: TuTh 4:30pm - 5:30pm
Course Homepages
Section 0101: http://www.csee.umbc.edu/courses/undergraduate/CMSC421/fall05/frey/
Section 0201: http://www.csee.umbc.edu/courses/undergraduate/CMSC421/fall05/burt/
Section 0301: http://www.csee.umbc.edu/courses/undergraduate/CMSC421/fall05/yesha/
Class Time and Place
Section: | 0101 | 0201 | 0301 |
Instructor: | Dennis Frey | Gary Burt | Dr Yesha |
Meeting Time: | TuTh 11:30AM - 12:45PM | MW 5:30PM - 6:45PM | TuTh 5:30PM - 6:45PM |
Meeting Place: | ITE231 | ACIV 006 | ACIV 010 |
Office Hours: | TTh 10:00 - 11:00 Wed 10:00 - 12:00 | By appointment or walk-in | TuTh 4:30pm - 5:30pm |
Teaching Assistants
TBA
Office Hours: TBA
Class Lab
The CMSC-421 Lab is in ITE240. For hours and lab rules see the class homepage.
Important Dates
- Midterm Exam, TBA.
- Final Exam (Joint for all sections), December 16, 6:00PM - 8:00PM (tentative).
Prerequisites
CMSC-341, and (CMSC-211 and CMSC-311) or CMSC313 or (CMPE-310 and CMPE-312). If you do not meet the prerequisites, you will
be asked to drop the course. In addition, students must be familiar with the C programming language.
Textbook
Required
- OSC: Operating Systems Concepts (7th Edition) by Silberschatz,
Galvin, and Gange, John Wiley, 2005 ISBN 0-471-69466-5
- LKP: Linux Kernel Programming (3rd Edition), Beck et al., Addison Wesley, 2002, ISBN 0-201-71975-4
Recommended
- APUE: Advanced Programming in the UNIX Environment, R. Stevens,
Addison-Wesley, 1993, ISBN 0-201-56317-7
- MOS: Modern Operating Systems, 2nd Edition, Tannenbaum,
Prentice Hall, 2001
List of Topics
- Introduction and historical perspective
- Process Management, inter-process communication, and Threads
- Process and CPU Scheduling
- Process Synchronization (semaphores and monitors), and deadlocks
- Address spaces, multiprogramming, and I/O
- Memory management, address translation, and virtual memory
- File systems and Secondary Storage
- Security and Protection
- Special topics (TBA, tentative)
Course Objectives
Each student will (a) learn the fundamental concepts of designing and implementing or
extending modern Operating Systems, (b) gain deep understanding of the operations of
modern Operating Systems, (c) apply software development tools and skills, and
(d) practice his/her communications skills.
Required Work
Required work consists of (1) taking the midterm and final exams, (2) two or more homework
assignments, and (3) two or more substantial programming projects. Further, you are
expected to actively participate in class discussions. Academic dishonesty will be dealt
with severely according to University Policy.
Ground Rules for Assignments
There will be homework and project assignments.
- The assignments will be common for all sections.
- Assignment details, due dates, etc will be posted at the class homepage. Students are strongly
advised to check the class homepage on a regular basis. Failure to do so is not an acceptable excuse
for missing an assignment or for not adhering to the assignment's instructions.
- You may develop the programs for your assignments using the computers in the class lab, or any other
computer available to you. However, no matter what computer you use to develop your programs, you must
make sure that your programs can run successfully on the computers in the lab.
- All assignments must be submitted electronically using the submit program at UMBC by the date
they are due. No late assignments will be accepted, unless University Policy states otherwise.
- In submitting an assignment, students must adhere to the submission instructions specified by that
assignment.
- The written part of each assignment must be typed using a word-processor of your choice (you
may include hand-written mathematical formulas and/or diagrams as images in your documents). No matter
how you prepare the written part of your assignment, it must be submitted in the Adobe PDF format. No other
formats are going to be accepted.
- No collaboration. Each assignment is to be done and written individually by each student. Students
should not collaborate on any assignments.
- Students may be asked to come in and explain their solution(s) to the instructor(s) and/or TAs. Failure
to satisfactory demonstrate authorship of a solution is a violation of Academic Integrity. Any violation on
an assignment will be cause to review all previous work for other violations.
Students are strongly advised to keep up with the assignments and other coursework. Homework and project
assignments do demand the amount of time allocated to them.
Exams
There will be a midterm exam and a comprehensive final exam. The final exam will be joint for all the
sections. All the exams will be in class and will be closed-book and closed-notes.
Make-up exams are very rare and are possible only in the extreme conditions specified by University Policy.
You should make prior arrangements with the instructor if you expect to miss an exam.
Each student should have his student photo identification card or driver's license when taking an exam.
Failure to produce a proper photo ID may result in getting a zero on that exam.
Communication
Students are strongly advised to check the class homepage, their section specific webpage, and the course Blackboard
are on a regular basis for news, announcements, and assignments. Failure to do so is not an acceptable excuse for missing
an assignment or announcement.
Students are welcome to use the course Blackboard area to discuss topic matters. However, students are advised not
to solicit or post solutions to any assignment or otherwise violate Academic Integrity policy.
Class Lab
The class has a lab in ITE240. You will be able to access the lab using your UMBC student ID swipe cards
(after the close of the enrollment period). You must observe all the rules regarding usage of the lab.
Failure to observe those rules in suspending your lab access. The TAs will be holding their office hours
in the lab.
Grading
The course grades will be determined as follows. For each course activity in Table 1, each student
will receive an activity score, which will be an average of the student's scores on the assignments
for that activity. An activity score is a number in the range of 0 ... 100. A term score will be
computed by taking the weighted sum of activity scores, using the relative weights in Table 1. The
instructor will convert term scores into letter grades by using the following mapping:
90%+ A
80%+ B
70%+ C
60%+ D
Below 60% F
Activity | Weight |
Homeworks | 5% |
Projects | 35% |
Midterm Exam | 25% |
Final Exam | 35% |
Table 1: Course Activities and their relative weights.
Your grade is based on timely work accomplished during
the semester; incomplete grades will only be given for
medical illness or other such dire
circumstances, as allowed by University Policy.
Whenever a student receives an Incomplete,
that student must complete the course work and receive a regular
grade before the end of the next regular semester or the Incomplete
is automatically converted to an F. (This is done by UMBC, not
the instructor!)
Academic Conduct Policy
UMBC POLICY:
"By enrolling in this course, each student assumes the responsibilities of an active
participant in UMBC's scholarly community in which everyone's academic work and behavior
are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and
helping others to commit these acts are all forms of academic dishonesty, and they are
wrong. Academic misconduct could result in disciplinary action that may include, but
is not limited to, suspension or dismissal. To read the full Student Academic Conduct
Policy, consult the UMBC Student Handbook, the Faculty Handbook, or the UMBC Policies
section of the UMBC Directory [or for graduate courses, the Graduate School."
The following is taken from the UMBC Student Handbook:
DEFINITIONS OF ACADEMIC MISCONDUCT
Academic misconduct may include but is not limited to the following:
Cheating: knowingly using or attempting to use
unauthorized material, information, or study aids in any academic exercise.
Fabrication: Intentional and unauthorized
falsification or invention of any information or citation in an academic exercise.
Facilitating Academic Dishonesty: Intentionally or knowingly helping or attempting to help
another commit an act of academic dishonesty.
Plagiarism: Knowingly representing the words or
ideas of another as one's own in any academic exercise, including works of art
and computer-generated information/images.
PENALTY FOR ACADEMIC MISCONDUCT
If your homework of project is found to be "substantially similar" to that of another
student, or if it is determined that someone else completed your homework or project for you, then at a
minimum you and the other student (if applicable) will receive a grade of zero for that
homework or project and 10 point deduction (one letter grade) in your semester average.
Furthermore, all parties concerned will have their prior homeworks and projects re-checked
for cheating. Any second incident will result in a grade of 'F' for the semester.
Also, checking for cheating may occur at any time during the semester. Therefore, if you
cheated on Project 1, you may be confronted about that at any time;
receiving a grade for a homework or project does not mean you are "in the clear".
Any and all acts of dishonesty WILL BE reported to the University's Academic Conduct Committee for further action, which may include, but is not limited to, academic suspension or dismissal from the university.
POLICY FOR RESOLVING CASES OF ACADEMIC MISCONDUCT
Individual faculty members have the right and responsibility to deal directly with any
cases of academic misconduct
which arise in their courses. Instances of academic misconduct may be
identified in one of two ways. If a faculty member believes a student has
committed an act of academic misconduct--for example, by direct observation of
student behavior, by comparing the contents of an assignment with that
submitted by another student, or by reviewing notated sources or
references--the faculty member, in consultation with the Chair of the Academic
Conduct Committee, will assess the student's alleged misconduct and the faculty
member's options. If a student believes that academic misconduct has occurred,
the student will notify either the faculty member or the Chair of the Academic
Conduct Committee.
It is particularly important that the Chair of the
Academic Conduct Committee be consulted. The Chair can provide knowledge and
insight for the faculty member. Communication of instances of academic
misconduct also protects the integrity of the university by providing a means
of recording infractions that may be repeated by a particular student, or which
may prove endemic to a particular course or department. Consultation with the
Chair of the Academic Conduct Committee provides a formal record of the
infraction and resolution, protecting the student, professor, and university should
any questions later arise.
The student will have the opportunity to respond to an accusation of academic misconduct.
Cell Phones and Pagers
All cell phones and pagers must be either
turned off or set to vibrate. This is very distracting to your
classmate and instructors and it is very rude to let your phone interfere with
other's learning opportunities.
ADA Compliance
We recognize that some of you might have disabilities that require
special attention from the instruction staff. Please make us
aware of them so that UMBC can make suitable arrangements.