CompSci 143A - Principles of Operating Systems - Spring, 2013 (Dillencourt)
[CrossListed as CSE 104]
Contents
Final Exam
- The Regular Final Exam will be held
Tuesday, June 11, 6:30-8:30PM in DBH 1100.
- If you have a conflict with the Regular Final Exam,
click here.
The deadline for requesting permission to take the Backup Final Exam
is Friday, May 17, at 6PM. This deadline is firm.
Class meetings
- Lecture: MWF 4:00pM-4:50PM DBH 1100 (Prof. Dillencourt)
- Discussion Sections: MW 5:00-5:50PM (Mr. Bannister)
- Monday: DBH 1100
- Wednesday: ICS 174
- You only need to sign up for one of the discussion sections, but you are
strongly encouraged to attend both.
Instructor
- Professor Michael Dillencourt
Email: dillenco at ics dot uci dot edu,
but see email for questions below
Office: DBH 4086
Office hours: click here.
Teaching Assistant
- Mr. Michael Bannister
Email: mbannist at uci dot edu,
but see email for questions below
Office hours: Friday 10:30-11:30.
In DBH 4011 except for Friday May 10 when they will be held in DBH 3011.
Readers
- Mr. Fausto Artico
Email: fausto dot artico at gmail dot com,
but see email for questions below.
Office hours: TBA
- Mr. Santanu Sarma
Email: santanus at uci dot edu
but see email for questions below.
Office hours: TBA
Email for questions
-
We will make every effort to answer all
course-related email promptly and to give helpful answers.
You can help us do this by following these simple guidelines:
- All email with questions about course material should be sent to
the following email address:
compsci143a-questions@ics.uci.edu.
This is an alias for the instructor, the TA, and the Reader(s).
Sending your question here ensures that we all see your message
and the response. It also gives you better
turnaround time.
-
Please include the string "CompSci 143A:" at the beginning of the
subject line.
- Please make the rest of your subject line descriptive.
If you have gone to all the trouble to write an email, take a few
more seconds and compose a descriptive subject line.
Don't just reply to a message if you are asking a new question.
If you have a question about Problem Y in Chapter X,
"CompSci 143A: Question about Chapter X problem Y" is a much better subject line
than "Re: CompSci 143A: announcement"
- Please include your name and student number in the message.
Course Announcements
- Course announcements will be sent via email to all students enrolled
in the class.
-
Click here for a
link to the archive of these messages.
This requires that you sign in to EEE and that you are registered for the class.
Course prerequisites
The following are the course prerequisites.
- ICS 23/CSE23 or ICS 46/CSE46, with grade of C or better.
- ICS 51 or EECS31/CSE31, with grade of C or better.`
The following text is taken directly from the Registrar's web site.
- Henry Samueli School of Engineering comments:
All undergraduate Engineering courses strictly enforce published prerequisites.
Courses with co-requisites may require you to enroll in the co-requisite
requirement before enrolling in the course.
If you are unable to enroll and you completed any prerequisites at another
college or university, you will need to petition for course authorization,
available at the Engineering Student Affairs Office.
Students earning a deficient grade in a prerequisite course after enrolling
will be dropped after the first week of class.
Students should address any prior grade issues (NR, I, etc.) before the
end of Week 1.
FOR ASSISTANCE: If you encounter a problem, check for schedule updates,
restriction changes, and changes to course capacities at
http://plaza.eng.uci.edu.
- Computer Science and Engineering department comments:
Prerequisites in CSE courses are strictly enforced.
- Donald Bren School of Information and Computer Sciences comments:
The School WILL DROP students from courses for which they have not satisfied
the prerequisites.
If you find you have been dropped from a course, please check the prerequisite
list at
http://www.ics.uci.edu/ugrad/current/degrees
and contact the
ICS Student Affairs Office at
http://www.ics.uci.edu/ugrad/current/index.php
BEFORE enrolling in the course again.
However, meeting the prerequisites does not guarantee a space in the class.
If you meet the course prerequisite by AP exam or transfer course credit,
go to
www.ics.uci.edu/ugrad/resources/index.php
to sign up for prerequisite block clearing.
Academic Counselors will clear students on a first come, first served basis.
Drop/Add Policy
If you are considering adding or dropping, please read the
following items. Note that under current UCI policies, an instructor
cannot directly add a student to the class. All enrollment changes
must be processed by the Student Affairs Office.
- For the first two weeks of the quarter,
all adds and drops will be handled automatically through the
Registrar's WebReg system.
After the second week of classes, adds and drops will only be allowed in
extraordinary circumstances, and they must be processed by the Student
Affairs Office. Paper add/drop cards no longer exist.
-
Access UCI students only: If you are taking the course through the
UCI Extension Access UCI program, different rules apply as they are still
on a paper-based system. I can sign your form after the second class, which
still gives you time to submit the form to UCI Extension and avoid paying
the late fee.
-
Class conflicts: I occasionally get requests that I permit a student
to take the class even though the student is also taking another class
that meets at the same time. If you are in this situation, please read the
following.
- If the conflict is with the lecture, I will not approve this.
- If the conflict is with the discussion section, I will approve this
provided the conflict is only with the discussion section and the
instructor of the conflicting course also agrees to this.
If you are
in this situation, please send me email, and be sure to include the following
information:
- The conflicting course;
- The name and email of the instructor of the conflicting course; and
- He name of the counselor with whom you are working.
I don't let you into the course, I simply notify the counselor that
I approve of your being enrolled in the course, and the counselor is the
one who actually admits you into the course.
So I need the third item in addition to the other two.
Without it I cannot act on your request.
Note:While I do allow you to take the course when you cannot
attend the discussion section, I do not recommend it.
The lectures present the material,
the homework is where you apply it, and the discussion sections are where the
homework solutions is discussed.
Hence the discussion sections are an important part of this course.
You are responsible for all material covered in the discussion section, whether
you attend them or not.
If you elect to take the course without attending the discussion sections and
then complain that being unable to attend the discussion sections puts
you at a disadvantage, you will not receive a sympathetic response from me,
the TA, or the Reader.
-
Missing Prerequisites:
If you are not allowed to enroll, or are dropped from the course, because
you are missing a prerequisite, there are three possible causes.
- An error was made. If you really have satisfied the
prerequisite, contact the Student Affairs Office in your home school.
If you can convince them that an error was made, they will authorize
you to enroll in the course.
- You have not taken the prerequisite course.
In this case, you need to
take the prerequisite course to satisfy the prerequisite requirement.
Under certain extraordinary circumstances I may be willing to consider
approving a prerequisite waiver,
but before doing so I will require you to
- Explain why the circumstances are extraordinary;and
- Take a written exam on the material in the prerequisite course.
Note that approving a prerequsite waiver does not remove any major-specific
requirement that you take the prerequisite course to graduate.
- Your grade in the prerequisite course C- or lower. In this case,
you need to retake the course and earn a grade of C
of higher to satisfy the prerequisite requirement.
The grade of C- or lower in the prerequisite
course demonstrates that your have not adequately mastered
the prerequisite course material.
I will not approve a prerequisite waiver in this case and I will
not authorize a special prerequisite waiver exam in this case.
Drops: If you are going to drop the course, you have
to drop before the end of the second week.
Otherwise, you will need the
Dean's signature, and there is no reason to assume you will be able to obtain
it.
TextBook
The following book is required for the course.
A copy of this book is available on reserve at the science library.
-
L. F. Bic and A. C. Shaw,
Operating Systems Principles,
Prentice Hall, 2003.
This book is required, and it should be available at the UCI bookstore.
The
book web site
has some additional information, including a list of errata.
Grading
Based on two midterms, a final, and weekly homework
assignments.
- Homework: 10% (Weekly assignments, due on Tuesdays, to be submitted
electronically. Lowest two will be dropped)
- Midterm 1: 23% (Friday, May 3)
- Midterm 2: 23% (Friday, May 31)
- Final: 44%
There will be no makeup exams or do-overs on midterms.
If you miss a midterm, you will receive a zero.
In extraordinary circumstances I will relax this policy
by giving you a grade on a missed midterm based on your score on the final.
But I will do this only if
- You ask and receive my permission in advance; or
- There is an unforeseeable emergency
(in which case I will ask for documentation.)
Regrade Policy
If you want your homework regraded, contact the Reader directly. Or you can
send email to the questions list and the Reader will see it.
The regrade policy for midterms is here.
Please note that there are deadlines for submitting regrade requests,
and we will strictly adhere to them.
Homework Assignments
Homework assignments will be made periodically. You will have at least
a week from when the homework is assigned to when it is due.
Homework is to be submitted electronically.
Late homework will only be accepted at the discretion of the Reader,
and if it is accepted a significant point penalty for late submission
will be applied.
Some of the homework problems may be easy, but some are challenging
and require a thorough understanding of the course material. If you
wait until the last minute to start the homework, you do so at your own
risk.
I will post homework for a chapter when we start covering the chapter
in class. The TA will discuss the solutions in discussion section.
Solutions to the homework will generally not be posted. So it is
important that you attend discussion section if you want to see
solutions to the homework problems.
The homework assignments are posted here.
Academic Dishonesty
Academic dishonesty (cheating) is a serious offense
in the eyes of the instructor, the instructional assistants,
ICS, and the university.
Incidents of academic dishonesty will usually result in your receiving
a grade of F in the course, and additional consequences may occur at the
academic unit or the campus level.
Examples of academic dishonesty include, but are not limited to:
- Copying from others during an examination, communicating exam answers
with other students during an examination,
or using unauthorized materials during an examination.
- Allowing another student to copy off your work during an examination.
- Tampering with an examination after it has been
corrected, then returning it for more credit.
- Forging add/drop/change cards and other enrollment documents,
or altering such a document after signatures have been obtained.
- Intentionally disrupting the educational process in any way.
For more complete information about academic honesty policies, consult the
UCI Academic Senate Policy on Academic Honesty
and the
Academic Honesty Policy for Information & Computer Science
Course Notes
- The slides as presented in class, and some additional material,
are available
here.
- Two older, similar sets of course notes are available at
this link.
- A set of notes in Powerpoint developed by Dr. Steve Franklin of UCI.
- A set of notes in PDF format developed by Prof. Renato Parajola,
formerly with UCI, now at the University of Zurich.
- You are responsible for all material from the lecture, discussions, and
assigned book readings, even if it does not appear in the lecture notes.
Course Schedule and syllabus
The following schedule is approximate and subject to change.
Readings in square brackets refer to
the text book by Bic and Shaw.
- Week 1:
- Introduction. Processes. Defining and initiating processes. Process
interactions, critical sections.
- Reading assignment: [1, 2.1-2.3].
- Week 2:
- Synchronization: semaphores, event synchronization,
monitors, protected types, classic synchronization problems.
- Reading assignment: [2.4-2.5; 3].
- Week 3:
- Operating system kernel. Implementing processes and threads.
Implementing synchronization and communication mechanisms. Interrupt handling.
- Reading assignment: [4].
- Week 4:
- Process and thread scheduling: organization of schedulers; scheduling
methods; priority inversion. Deadlocks, deadlock detection.
- Reading assignment: [5; 6.1-6.3].
- Week 5:
- Deadlock recovery, deadlock avoidance strategies,
deadlock prevention strategy.
- Reading assignment: [6.4-6.6].
- Week 6:
- Physical memory. Preparing a program for execution. Memory partitioning
schemes. Memory allocation strategies. Memory compaction strategies.
Virtual memory. Paging, segmentation.
- Reading assignment: [7; 8.1-8.2].
- Week 7:
- Page allocation strategies. Code sharing, data sharing.
Distributed shared memory.
- Reading assignment: [8.3-8.5; 9].
- Week 8:
- File systems: user view; directories; device organization;
distributed file systems.
- Reading assignment: [10].
- Week 9:
- Input/Output systems: devices, device drivers, device management.
- Reading assignment: [11].
- Week 10:
- Protection and Security:
security threats;
functions of a protection system;
user authentication; secure communication; access control mechanisms.
- Reading assignment: [12-13].
Last modified: May 13, 2013