COP 4600, Operating
Systems, Spring 2012
Place: CSE
Building; CSE-E222
Time: T 2nd and 3rd
period (8:30 AM ~ 10:25 AM), R 3rd period (9:35 AM ~ 10:25 AM)
Syllabus: download
syllabus
Instructor: Prof. R. Newman
a.
Office location: CSE-E346
b.
Telephone: +1.352.505.1579
c. E-mail address: nemo-at-cise-dot-ufl-dot-edu
d.
Class Web site: http://www.cise.ufl.edu/~nemo/cop4600 or http://www.cise.ufl.edu/class/cop4600sp12
e. Office hours: TR 10:40-11:40, R 3:00-4:00
TA: Junjie Li and EunJu Kim
a.
Office: CSE-E309.
Telephone: 352.871.4668
?span style='font:7.0pt "Times New Roman"'>
Junjie: MWF 2:00-4:00 PM
?span style='font:7.0pt "Times New Roman"'>
Eunju: TR
1:00-3:00 PM
Laboratory
schedule:
Textbooks and
Software Required:
a.
Title: OPERATING SYSTEMS DESIGN & IMPLEMENTATION
Catalog
Description
- Credits: 3;
The design and implementation of various components of a modern operating system, including I/O programming, interrupt handling, process and resource management, computer networks and distributed systems. (MR)
Pre-requisites
and Co-requisites: CDA 3101, COP 3530; knowledge of C or C++ recommended.
Course
Objectives
Students will study the design and
implementation of various components of a modern operating system. Topics
include processor multiplexing, process and resource management, network and distributed operating system concepts. This is a
course on the theory, design, and implementation of operating systems, not a
course on how to merely use an operating system.
Successful students will be able to
discuss the four main components of operating system, design each of these,
evaluate a given design vis-?vis a particular purpose, and apply their
knowledge of data structures, algorithms, performance analysis, and protocols
to real-life problems in multi-threaded systems.
Contribution of course to meeting the
professional component (ABET only – undergraduate courses)
Engineering science is addressed in the
theoretical aspects of performance analysis and in deadlock detection, e.g. Engineering
design is a larger component of this course, with coverage of the design and implementation of various
components of a modern operating system, including I/O programming, interrupt
handling, process and resource management, computer networks and distributed
systems. Students will study and
evaluate designs as well as design and implement their own solutions to
operating systems problems.
Relationship of course to program
outcomes: Skills student will develop in this course (ABET only undergraduate
courses)
?span style='font:7.0pt "Times New Roman"'>
(c) an ability to design hardware
and software systems, components, or processes to meet desired needs within
realistic constraints such as economic, environmental, social, political,
ethical, health and safety, manufacturability, and sustainability.
Course
Outline (provide topics covered by week or by class period)
a. Introduction
– 2 wks
b. Processes
and Inter process Communication – 3 wks
c. I/O
Systems – 3 wks
d. Memory
Management – 3 wks
e. File
Systems – 3 wks
Attendance
and Expectations (is attendance required, penalties for absence, tardiness,
cell phone policy, etc.)
Attendance is required. Pop quizzes will be given on assigned
reading and on material covered in classes. Cell phones and pagers must be silent
during class. Reading emails, facebook, etc. is appropriate at some other time. Questions are encouraged - raise your
hand to be recognized. Try to
formulate the question before asking it, and wait to see if it is answered in a
few minutes so we can maintain flow.
Lengthy discussions will be deferred to office hours.
Students are required to check the
class web pages at least three times a week (MWF) for
announcements/updates. You are
responsible for all assignments posted on the web page or announced in class.
Grading
– methods of evaluation:
?span style='font:7.0pt "Times New Roman"'>
Quizzes & Homeworks: 20%
?span style='font:7.0pt "Times New Roman"'>
Exams: 50%
?span style='font:7.0pt "Times New Roman"'>
Projects: 30%: 20%
Project grades
include scoring for documentation and good programming practice in addition to
correct functionality.
Grading
Scale:
Grades are curved. However, there some guidelines you may follow:
a. A
= 75% on exams, 90% on projects, 90% on homeworks and
quizzes
b. B
= 65% on exams, 80% on projects, 85% on homeworks and
quizzes
c. C
= 55% on exams, 70% on projects, 80% on homeworks and
quizzes
Significantly better performance in one
method may make up for poorer performance in another method up to a point, but
to make a letter grade, the exam grade must be within 5 points of the
guideline, project grade must be within 10 points of the guideline, and homeworks and quizzes grade must be within 10 points of the
guideline (e.g., you cannot make an A if you have less than 80% on your
projects, and you cannot pass unless you have at least 60% on your projects).
Obligatory
Statements
ÒA C- will not be a qualifying grade
for critical tracking courses. In
order to graduate, students must have an overall GPA and an upper-division GPA
of 2.0 or better (C or better).
Note: a C- average is equivalent to a GPA of 1.67, and therefore, it
does not satisfy this graduation requirement. For more information on grades and
grading policies, please visit: https://catalog.ufl.edu/ugrad/current/regulations/info/grades.aspx
ÒUndergraduate students, in order to
graduate, must have an overall GPA and an upper-division GPA of 2.0 or better
(C or better). Note: a C- average
is equivalent to a GPA of 1.67, and therefore, it does not satisfy this
graduation requirement. Graduate
students, in order to graduate, must have an overall GPA of 3.0 or better (B or
better). Note: a B- average is
equivalent to a GPA of 2.67, and therefore, it does not satisfy this graduation
requirement. For more information
on grades and grading policies, please visit: https://catalog.ufl.edu/ugrad/current/regulations/info/grades.aspx
Make-up Exam
Policy
Exams must be taken at the scheduled
time, except under extreme extenuating circumstances. Written documentation of circumstances
(e.g., doctorÕs note on letterhead, obituary notice, etc.) must be submitted
with the request for a make-up examination. No exams will be given early, and
discretionary travel does not qualify as an extenuating circumstance.
Honesty Policy
All students admitted to the University
of Florida have signed a statement of academic honesty committing themselves to be honest in all academic work and understanding
that failure to comply with this commitment will result in disciplinary action.
This statement is a reminder to uphold your obligation as a UF student and to
be honest in all work submitted and exams taken in this course and all others.
Accommodation
for Students with Disabilities
Students Requesting classroom accommodation must first register with
the Dean of Students Office. That
office will provide the student with documentation that he/she must provide to
the course instructor when requesting accommodation.
UF Counseling
Services
Resources are available on-campus for students having personal problems or lacking clear career and academic goals. The resources include:
?span style='font:7.0pt "Times New Roman"'> UF Counseling & Wellness Center, 3190 Radio Rd, 392-1575, psychological and psychiatric services.
?span style='font:7.0pt "Times New Roman"'> Career Resource Center, Reitz Union, 392-1601, career and job search services.
Software
Use
All faculty, staff and student of the
University are required and expected to obey the laws and legal agreements
governing software use. Failure to
do so can lead to monetary damages and/or criminal penalties for the individual
violator. Because such violations
are also against University policies and rules, disciplinary action will be
taken as appropriate. We, the
members of the University of Florida community, pledge to uphold ourselves and our peers to the highest standards of honesty and
integrity.
?span style='font:7.0pt "Times New Roman"'> Minix 3 Website
?span style='font:7.0pt "Times New Roman"'> How to add system call
?span style='font:7.0pt "Times New Roman"'> Project3 Questions and Answers
Announcements
The demo time for Project3 will be on Mon. 2-4pm (for those who finish before the deadline), Wed. 2-5pm. No need to sign up. Just drop by E309 to show your demo.
If you're unable to create large number of files, one way to solve this is that you can make your file name as "myfile"+i%100 where i is the iteration. Then essentially you are overwriting the 100 files over and over again.
Please notice that during your demo, you will explain to me your modified source code and then try creating say, 50000 small files (of course, there will be only 100 files with the above strategy) in your original MINIX, and then reboot to your custom MINIX, delete all created files, use the same test code to create 50000 small files. The variation in timings will take a large portion in your project score.
Final Exam: Last day of class
Quiz 5 Tomorrow (APR/05/2012)
: First part of chapter 5 - file systems - with class notes.
Project 2 has been announced. (Due: Mar. 30)
Project
1 grade has been released. Office hours on Feb. 22 (Wed.), 24(Fri.), 27(Mon.),
29(Wed.) are cancelled.
Since
this is your first project and in order to help you get started quickly, we
have composed a tutorial about how to add a HelloWorld system call in MINIX
3.1.8. Please refer to the link below in Project section.
For
Project 1, you can install openSSH following this instruction
(http://www.mcs.csueastbay.edu/~tebo/Classes/6560/minix-file-transfer.html) in
order to transfer files or use putty. If you are using VirtualBox, you might
also need to do port forwarding
(http://wiki.minix3.org/en/UsersGuide/RunningMinixOnVirtualBox).
Quiz
1 Grades have been posted on Sakai.
TA
EunjuÕs office hour is changed (TR 1:00 PM ~ 3:00 PM)
Please read ahead in the book
according to the Spring
2012 Tentative Schedule - there may be pop quizzes on assigned reading
Exam
Project
|
Projects |
Due Date |
|
|
Feb. 17 |
||
|
Mar. 30 |
||
|
Apr. 20 |
||
|
|
|
|
Homework
Assignments
All
assignments refer to Tanenbaum unless otherwise
specified.
Homeworks will only be
accepted from teams. Teams must be between two and four students each. All
students on each team should attempt to solve every problem on their own first.
Everyone on the team will receive the same grade. Your homework papers must
have on them:
?span style='font:7.0pt "Times New Roman"'>
the class prefix and number,
?span style='font:7.0pt "Times New Roman"'>
the date,
?span style='font:7.0pt "Times New Roman"'> the assignment number,
?span
style='font:7.0pt "Times New Roman"'> the problem
numbers,
?span
style='font:7.0pt "Times New Roman"'> the printed
names of each team member in last name alphabetical order, and
?span style='font:7.0pt "Times New Roman"'> the signature of each team member beside their name, an indication of which members played the special roles below.
Team
roles include recorder and checker, with each team member required to rotate
through the roles (i.e., no member should fill role X i+1 times until every team
member has filled role X at least i times). Your
papers should be neatly written or typed. This is the responsibility of the
recorder. The checker is responsible for checking the completeness and
correctness of the answers and conformance to format. Illegible writing will
incur penalties at the discretion of the TA.
If you have a team member who is not
performing, you should email a note to this member indicating the problem and
cc it to the instructor and the TAs. If the member fails to meet obligations
again, then you should indicate this on the assignment submission and you will
be allowed to petition to reform the group.
All homework questions refer to Tanenbaum 3/e - note that most of the question numbers are
different from those in 2/e. I have taped a copy of the current homework
questions to my office door and taped two stapled copies of the questions there
also.
|
Homework |
Due Date |
|
|
HW1 |
01.19 |
1.{2,7,9,10,12,14,15,20,22,23} |
|
HW2 |
02.16 |
2.{2,3,7,11*,14,17,21,22,23,26,28,29,30} |
|
HW3 |
02.28 |
3.{2,5,11,12,14,15,18,19,25,28,35,39} |
|
|
|
|
|
|
|
|
Lecture Slides
http://www.cise.ufl.edu/~nemo/cop4600/slides/
Discussion Section Slides
http://www.cise.ufl.edu/class/cop4600sp12/dsslides/
Schedule
Please read ahead in the book
according to the Spring
2012 Tentative Schedule - there may be pop quizzes on assigned reading