CompSci 143A/CSE 104 - Principles of Operating Systems - Summer, 2011 (Dillencourt)
- Class meetings:
- Lecture: MW 1:00-2:50 PM, ELH 110
- Discussion: MW 3:00-3:50PM, ELH 110
- This means that the classroom is allocated for 3 hours, 1-4, on Monday
and Wednesday afternoons.
Generally the lecture will run 75-80 minutes, followed by a discussion section.
- Instructor: Prof. Michael Dillencourt,
Email: dillenco at ics dot uci dot edu
- Office hours:
Click here.
In addition, I am available after class.
- Office: DBH 4086
- Exams, Quizzes:
- Quiz schedule. There will be four quizzes, given on Wednesday of weeks 2,4,6, and 8:
- Quiz 1: Wednesday, June 29
- Quiz 2: Wednesday, July 13
- Quiz 3: Wednesday, July 27
- Quiz 4: Wednesday, August 10
- Final exam: Wednesday, August 24.
- Homework problems: Will be posted
here
.
Homework will not be collected or graded.
The homework problems will be discussed in
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:
- For now, all questions about this course should be sent to
Prof. Dillencourt (email address above).
Please put the string "CompSci 143A" in the subject line.
This will ensure that your email does not get blocked by my spam filter.
- Return of graded work (quizzes):
- 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 find instructions
for doing so at the
UCI NACS/OIT email page.
-
If you are not receiving these announcements for some reason, you can
view the archive.
- Grading
- Based on four quizzes and a final exam.
- Final: 52%
- Quizzes: 48% (Lowest quiz score dropped, 16% for each of the remaining three)
- 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,
are available here.
- 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.
- Reading assignment: [1, 2.1-2.3].
- Week 2:
- Synchronization: semaphores, event synchronization,
monitors, protected types, classic synchronization problems. Quiz 1.
- 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. Quiz 2.
- 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. Quiz 3.
- 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. Quiz 4.
- 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.
Final exam.
- Reading assignment: [12-13].
Last modified: July 22, 2011