CompSci 143A/CSE 104 - Principles of Operating Systems - Summer, 2009 (Dillencourt)
This course covers the basic principles and concepts of operating systems.
It is required for Computer Science majors at UCI.
It is a lecture/discussion course, not a project course.
The course will run from June 23 to August 28.
Note:The Summer Session website says ``corequisite required.''
This simply means that you should sign up for the discussion as well as
the lecture.
- Class meetings:
- Lecture: TuTh 2:00-3:20 PM, in PCB 1300 (***NOTE ROOM CHANGE!!***)
- Discussion: TuTh 3:30-4:20PM in PCB 1300 (immediately after lecture)
- Instructor: Prof. Michael Dillencourt
Email: dillenco at ics dot uci dot edu
Office: DBH 4086
Office hours: Click here.
- Teaching Assistant: Matthew Badin
- Exams:
- Final exam: Thursday August 27, 2PM.
- Quiz schedule. The quizzes will be given after the lecture on
the indicated days. Generally, they will be held during the
time alotted for discussion section. However, they might start either
before or after the official time for the discussion section, and
they may be collected before the official end time of the discussion
section.
- Quiz 1: Tuesday, July 7 (Week 3)
- Quiz 2: Tuesday, July 21 (Week 5)
- Quiz 3: Thursday, August 6 (Week 7)
- Quiz 4: Thursday, August 20 (Week 9)
- Homework problems:
Click here for the problems.
Homework will not be collected or graded.
The homework problems will be discussed in the
discussion section and may reappear on the quizzes or the exams.
-
Enrollment issues: registration, adds, drops, etc.
-
This course is taught under the auspices of the
UCI Summer Session Program.
To read their enrollment policy,
start here.
To see their calendar, and the deadlines for adds and
drops,
click here.
-
Adds:
I am willing to sign add cards at any time, consistent with
the rules of the Summer Session.
If you are not enrolled in the class, I will not grade your work.
-
Drops:
If you do decide to drop the course, you should complete all
the relevant paperwork as soon as possible.
The deadlines imposed by the Summer Session are firm, and if you
miss them there is nothing anyone can do about it.
All course drops must be completed by
the earlier of the following two dates:
-
The deadlines
specified by the UCI Summer Session Program
- The class before the final exam.
- Email:
- Email about the course material should be sent to
compsci143a-questions@ics.uci.edu.
This address is an alias for the instructor and all the instructional
staff, so it will give you the fastest turnaround.
Please include "CompSci 143A" in the subject line, and include your name,
student number, and official UCI email address in the message.
- Email that needs to go to a particular person (e.g., a request for
appointment with the instructor or the TA) should go to that specific
person.
- Return of graded work (quizzes, midterms):
- Graded work will be handed back in class.
- Course announcements:
-
Course announcements will be sent via email to all students enrolled
in the class.
- The announcements will be set to your UCI email address. All students
enrolled in this course have a UCI email address.
If you have not set up your UCI email account, you can do so by
going to the
Student Resources web page
for UCI Network and Academic Computing Services (NACS), and following the
link "Getting Started with Email at UCI" at the left of the page.
-
If you are not receiving these announcements for some reason, you can
view the archive by
clicking here.
- Grading
- Based on a midterm exam, a final exam, and four
quizzes:
- Final: 52%
- Quizzes: 48% (Lowest quiz score dropped, 16% for each of reamining three)
- The date and time of the
final exam will be listed above under "Exams."
The quizzes will be given in class on the indicated dates.
- There will be no makeups or excused absences for quizzes.
If you miss a quiz, you get a zero.
I will drop the lowest quiz score when computing your grade.
- It is expected that you will take the final exam at the regularly scheduled
time. Exceptions will be made only under extraordinary and documentable
circumstances.
- If you have a conflict that is predictable in advance, let me
know in advance. If you wait until after the exam, you run the
risk that your excuse will not be approved, and then you will get a zero.
(Note: "I have to work that day" is not a valid excuse. The exam schedule
will be announced well in advance--plan ahead!)
- If you have a conflict that is not predictable in advance (e.g.,
a medical emergency), I will ask for documentation.
- If you miss the midterm for a documentable reason, at my discretion
I may ask you to take a makeup exam, or I may base your exam grade solely
on your final exam.
- Text book:
- 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 much useful information, including lecture notes and a list of errata.
- Course notes:
- The slides as presented in class, and some additional material,
will be available
here.
- Two sets of course notes are available at
this link.
The lecture notes used in class are very minor modifications of these notes.
- 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 (see above).
- Week 1:
- Introduction. Processes. Defining and initiating processes. Process
interactions, critical sections, cooperation.
- Reading assignment: BS[1, 2.1-2.3].
- Week 2:
- Synchronization: semaphores, event synchronization,
monitors, protected types, classic synchronization problems.
- Reading assignment: BS[2.4-2.5; 3].
- Week 3:
- Operating system kernel; implementing processes and threads
implementing synchronization and communication mechanisms; interrupt handling.
- Quiz 1.
- Reading assignment: BS[4].
- Week 4:
- Process and thread scheduling: organization of schedulers; scheduling
methods; priority inversion. Deadlocks, deadlock detection.
- Reading assignment: BS[5; 6.1-6.3].
- Quiz 2.
- Week 5:
- Deadlock recovery, deadlock avoidance strategies,
deadlock prevention strategy.
- Reading assignment: BS[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: BS[7; 8.1-8.2].
- Week 7:
- Page allocation strategies. Code sharing, data sharing.
Distributed shared memory.
- Reading assignment: BS[8.3-8.5; 9].
- Quiz 3.
- Week 8:
File systems: user view; directories; device organization;
distributed file systems.
- Reading assignment: BS[10].
- Week 9:
- Input/Output systems: devices, device drivers, device management.
- Reading assignment: BS[11].
- Quiz 4.
- Week 10:
- Protection and Security: security threats, functions of a protection system
user authentication; secure communication; access control mechanisms.
- Reading assignment: BS[12-13].
- Final examination.
Last modified: June 23, 2009