
Fall 1999
Prof.
Ibrahim Matta
office: (617) 358-1062
fax: (617) 353-6457
e-mail:
matta@cs.bu.edu
This page http://www.cs.bu.edu/fac/matta/Teaching/CS552/F99/
will be continually updated. Please check this page regularly (at least
twice a week).
Announcements:
All
grades as of 12/14/99, 3:00 pm.
12/12:
See an outline
of what you need to make sure you learned as you prepare for the final
exam.
See syllabus for textbook readings,
in addition to your lecture notes.
Solutions to questions on
files
and networks homework are now available (in PostScript).
If you have questions before the final, my office
hours are Wednesday 12/15 and Thursday 12/16 from 1:00 pm to 3:00 pm.
Fri 12/17/99
12:30 pm - 2:30 pm, STH B19. The final exam is closed books and closed
notes, and covers all material. Absolutely NO make-up exams or incompletes
will be given.
11/30: Last
programming assignment is out. Due Thursday December 9. To be done
in teams of 2.
Grades
as of 11/8. Please email me if you have any questions.
Fri 12/17/99
12:30 pm - 2:30 pm, STH B19.
11/19: Written
assignment on Files and Networks. Due Tuesday, November 30. To be done
individually.
11/7: Copy a new version of Sim.java of
PA3.
10/28: Programming
assignment 3 is out. Due Tuesday, November 16. To be done in teams
of 2. Start now!
Midterm Exam on Tuesday, October 26. Covers
all material up to October 21 class (including file systems of Chapter
11 in textbook, except directories). Closed books and notes.
10/21:
See an outline
of what you need to make sure you learned as you prepare for the midterm
exam.
See syllabus for textbook readings,
in addition to your lecture notes.
Solutions to questions on
processes
and the memory
homework
are now available (in PostScript).
If you have questions before the midterm, my office
hours are Friday 10/22 from 1:00 pm to 3:00 pm and on Monday 10/25 from
11:00 am to 1:00 pm.
10/11: Written assignment
on memory is due October 19.
This
assignment is to be done individually, not in teams.
10/4: TF and graders information added
below.
Check out practice
questions on processes.
9/28: See page of Project 2 for Person.java
and Project2.java stubs, and also sample runs.
9/22: Make sure you regularly check the
syllabus
page for up-to-date reading list.
9/21: Second Java programming assignment
is out. Click here.
Due October 12. Start now!
This assignment is to be done in teams of 2.
9/7: First Java programming assignment
is here.
Due date was September 21.
Time & Place
Tuesdays and Thursdays 9:30 - 11:00 am. Room B19 in STH (School
of Theology), 745 Commonwealth Avenue.
Course Description
Introduces basic structure, components, design, implementation, and internal
operation of the kernel of computer operating systems. Discusses process
management (processes, threads, scheduling, communication, synchronization,
deadlock handling), memory and storage management (main memory, virtual
memory, disks, file systems). Also covers file systems and process control
and communication mechanisms in a distributed environment as well as protection
and security.
This course assumes you are familiar with the fundamental concepts in
operating systems and basic modeling and performance techniques as covered
in CAS CS 350. This course will review these concepts and techniques and
build on them focusing on applied knowledge. Uses implementation examples
from Java and many real operating systems (UNIX/Solaris, Linux, Windows
NT). Includes programming projects in Java.
See tentative
syllabus for more details.
Prerequisites
-
Computer organization and programming (CAS
CS 210)
-
Algorithms and data structures (CAS CS 112
or 113)
-
Fundamentals of computer systems (CAS CS
350)
-
Fluency in C or C++, and working knowledge of UNIX
The course requires good computer programming skills. You
should be able to educate yourself by reading original documentation such
as UNIX man pages, Java API, etc.
Office Hours
Fridays 1:00 pm -4:00 pm, or by appointment. MCS 271.
TF & Graders
Teaching Fellow: Nicholas Eskelinen <nickesk@cs.bu.edu>.
Office hours: Mondays 5-6 pm and Thursdays 1-2 pm, or by appointment.
TF terminal in new UNIX undergraduate lab, 730 Commonwealth Ave, 3rd floor.
Graders: Kitling (Gloria) Chin <gkchin@cs.bu.edu>
and Tae-Jin (Joseph) Kim <taejin@cs.bu.edu>
Required Textbook
The course will include programming projects in Java. If you do not know
Java, you must be proficient in C or C++. Read the Java Primer in Appendix
A - it will help you get started. For those who are not familiar with object-oriented
concepts, you should read this note on Object-Oriented
Programming Concepts first.
Additional readings from other sources (including papers) may also be
assigned.
Book on-line
supplements are available.
Recommended Book
-
Ken Arnold and James Gosling, The Java Programming Language - Second
Edition, Addison-Wesley, 1997. ISBN 0-201-31006-6.
This Java book is strongly recommended. Links to on-line material on Java
will also be provided on this course home page. This book and other additional
textbooks should be available on reserve in the library.
Additional Textbooks
-
Tanenbaum, Modern Operating Systems, Prentice-Hall, 1992.
-
Bic and Shaw, The Logical Design of Operating Systems, Prentice-Hall,
1988.
Java Online Resources
Java
for C++ Programmers, tutorial by Marvin Solomon
From the Java home page:
Local copies of Java API, may be faster to access (courtesy Christopher
Beers):
Online Resources
Course Home Page: all course material will be accessible through
this course home page (http://www.cs.bu.edu/fac/matta/Teaching/CS552/F99/).
You should regularly look at this page for up-to-date information regarding
reading assignments, homeworks, etc.
Course Mailing List: there will also be a course mailing list,
cs552@cs.bu.edu.
To join the list, on csa, type: csmail -a cs552. I will use it
for updates and additional information regarding the assignments. So please
make sure to join this list.
Assignments: more information on project and homework assignments
will be available on-line.
Reading Material: additional required or recommended papers and
notes will be available on-line.
Grading Policy
There will be one midterm exam and one final exam. Both exams will be closed
books and notes, and will include all material covered from the beginning
of the semester until the day of the exam. There will be absolutely
no make-up exams, except for medical emergencies. In that case, blue
slips from Health Services will not be accepted; you must justify your
medical problem with a letter from a doctor, specifying the period of time
during which you were unable to attend one of the exams.
There will also be about 4-5 Java programming assignments as well as
other written homework assignments. Your final grade will be determined
approximately
as follows:
-
25% by the midterm exam, around 10/26/1999
-
25% by the final exam, Final Exam Fri 12/17/99
12:30 pm - 2:30 pm, STH B19.
-
35% by the Java assignments (about 2-3% for the first "getting started"
assignment, the rest equally divided among the remaining assignments)
-
15% by the written assignments
Each assignment will have a due date. There will be 10% penalty per day
for late submissions. But, no late assignments will be accepted after
one week from due date, and the last day to submit any late assignments
is December 7, 1999. Extensions may be granted only for religious holidays
and certified medical reasons.
No incompletes will be given, except for reasons of dire illness
shortly before the end of the course, and only if a significant amount
of work has been completed (e.g. attending lectures, handing in most assignments,
and attending the midterm).
Academic Honesty
The first Java programming assignment is designed to familiarize yourself
with Java. This and all written homework assignments are to be done individually
by each student. Other Java programming assignments are to be done in teams
of two. Discussion of issues in operating systems is encouraged, but
representing
the work of another team (for Java assignments) or another student (for
other assignments) as your own is expressly forbidden. This includes
"borrowing" or "stealing" programs/solutions or parts of them from others.
Cheating will not be tolerated under any circumstances. Handing in your
own work a day or two late will affect your grade far less than
turning in a copy of someone else's work on time!
See the CAS Academic
Conduct Code, in particular regarding plagiarism and cheating on exams.
A student violating this code will receive a grade of "F" for the course
and may be reported to the Academic Conduct Committee.
Acknowledgments: Contents are in part based
on material by Marvin Solomon, Tom Anderson, Avi Silberschatz et al., Jim
Kurose and Keith Ross.
Last Updated 12/12/99