COP 4600, Operating
Systems, Fall 2011
Place:CSE
Building; E107
Time: MWF 5th period (11:45-12:35)
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/cop4600fa11
e.
Office hours: MW
1:30-3:30
TA: Junjie Li, Yang and EunJu Kim
a.
Office: CSE-E309.
Telephone: 352.871.4668
b.
E-mail address: junjie616 at gmail dot com, ejkim at cise
dot ufl dot edu
c.
Office hours: M-F
9:30-11:30 except during class or discussion sections and
á Junjie: Mon. 10:40-11:30am, Wed. 9:35-10:25am, Fri.
9:35-11:25am.
á Yang: 13:00 ~ 15:00 on Tuesday and Thursday
á Eunju: 9:30 ~ 11:30 on Tuesday and Thursday
Laboratory
schedule:
a.
Session: M 3rd (9:35) TUR 2305; W 4th (10:40) TUR 2306
b.
Meeting Location: TUR L005
Textbooks and
Software Required:
a.
Title: MODERN OPERATING SYSTEMS
b.
Author: TANENBAUM
c.
Publication date
and edition: 2007, 3rd
d.
ISBN number:
9780136006633
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)
á
(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.
á
(k) an ability to use the techniques, skills, and modern
engineering tools necessary for computer engineering practice.
Course
Outline (provide topics covered by week or by class period)
a.
Introduction – 2 wks
b.
Processes and Threads – 2 wks
c.
Interprocess Communication – 3 wks
d.
Memory Management – 2 wks
e.
File Systems – 2 wks
f.
I/O Systems – 2 wks
g.
Deadlocks – 2 wks
h.
Security – 1 wk
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:
a.
Quizzes: 20%
b.
Exams: 50%
c.
Homeworks: 10%
d.
Projects: 30%
Grading
Scale:
Grades are curved.
Obligatory
Statements
This statement must be included in
every grade scale for undergraduate level 1000-4000 syllabi:
Ò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
This statement must be included in
every grade scale for 5000 level graduate syllabi:
Ò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
This statement must be included in
every grade scale for 6000 level graduate syllabi:
ÒIn order to graduate, graduate students must have an overall
GPA and an upper-division 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:
http://gradschool.ufl.edu/catalog/current-catalog/catalog-general-regulations.html#grades
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:
á
UF Counseling & Wellness Center, 3190 Radio Rd,
392-1575, psychological and psychiatric services.
á
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.
Announcements
Homework
7 (Due: Nov/30) and Homework 8
(Due: Dec/2) are assigned.
Project
Project 1 to
implement a basic shell program is due Sep/21.
FAQ for project 1
is available now in SAKAI system.
Command
ÔlsÕ is an executable file and it is not a built-in command.
Some
codes from your peer students for project 1 are here.
If you want to use any of these as your starting step for project 2, you need
to clearly state this
in
your submitted readme file. (* The posting of the codes has been approved by
the authors and we thank you for your sharings!)
Project 2
to implement a shell program is due 10/21/11 via Sakai by 11:00 pm.
FAQ
for project 2 is available now at Discussions in SAKAI system.
Project
2 has been graded. Please have a check on sakai and feel free to come for
re-grading during JunjieÕs office hours
Mon.
10:40-11:30, Wed. 9:35-10:25, Fri. 9:35-11:30 before Nov. 22.
Some codes from your peer students for project 2 are here. If you want to use any of these as your starting
step for project 3,
you
need to clearly state this in your submitted readme file. (* The posting of the
codes has been approved by the authors and we thank you
for
your sharings!)
Project 3 to extend
your shell program with process management (background/foreground) is due 12/7.
Exam1
Exam1 will be in Sep/30.
Exam 2
on 11/09/11 - Chapters 4-6 plus lectures
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:
á the class prefix and number,
á the date,
á the assignment number,
á the problem numbers,
á the printed names of each team member in last name
alphabetical order, and
á 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.
|
Assignments |
Due Date |
|
|
HW1: 1{4,7,8,12,15,18,20,21,25} |
Aug/31 |
|
|
HW2: 2{6,8,10,13,26,28,33,35,37,38,40,41,45,46,47} |
Sep/19 |
|
|
HW3: 3{1,2,3,4,5,6,8,11,22,23,24,27,29,31,33,35,37} |
Sep/23 |
|
|
HW4: 4{1,3,4,9,11,12,15,17,18,19,21,22,25,26,28,29,32,33} |
Oct/19 |
|
|
HW5:
5.{2,4,5,8,11,12,13,15,16,21,24,25,28,30,38,43} due |
Oct/26 |
|
|
HW6: 6.{3,6,10,13,17,18,22,26,29} |
Nov/2 |
|
|
HW7: 7.{2,3,7,9,11,15,16,18,21,24,26,27,30,31} |
Nov/30 |
|
|
HW8: 9.{2,6,12,19,20,25,26,30,36,38,43} |
Dec/2 |
|
Project
All projects will use the CISE Unix systems for testing unless
otherwise noted.
|
Projects |
Due Date |
|
|
Project 1 |
Sep/21 |
Basic shell program |
|
Project 2 |
Oct/21 |
Pipe, Redirect |
|
Project3 |
Dec/7 |
Process management |
Lecture Slides
http://www.cise.ufl.edu/~nemo/cop4600/slides/
Schedule
|
|
Date |
Topic |
|
1 |
Aug 22 |
1.1-1.2 What is OS?, History |
|
2 |
Aug 24 |
1.3-1.4 Hardware, OS Zoo |
|
3 |
Aug 26 |
1.5-1.6 OS Concepts, System Calls |
|
4 |
Aug 29 |
1.7-1.8 OS Structure, C Language |
|
5 |
Aug 31 |
2.1-2.2 Processes, Threads +++ H/W 1 due |
|
6 |
Sep 2 |
2.3 IPC/Synchronization |
|
|
Sep 5 |
Labor Day - no classes |
|
7 |
Sep 7 |
2.4-2.5 Scheduling, Classical IPC Problems |
|
8 |
Sep 9 |
3.1-3.3 Memory Management, Address Spaces, Virtual
Memory |
|
9 |
Sep 12 |
3.4 Page Replacement Algorithms |
|
10 |
Sep 14 |
3.5 Design Issues for Paging Systems |
|
11 |
Sep 16 |
3.6-3.7 Implementation Issues, Segmentation |
|
12 |
Sep 19 |
Review |
|
13 |
Sep 21 |
Exam 1 |
|
14 |
Sep 23 |
4.1-4.2 |
|
15 |
Sep 26 |
4.3 |
|
16 |
Sep 28 |
4.4 |
|
17 |
Sep 30 |
4.5 |
|
18 |
Oct 3 |
5.1-5.2 |
|
19 |
Oct 5 |
5.3 |
|
20 |
Oct 7 |
5.4 |
|
21 |
Oct 10 |
5.5-5.7 |
|
22 |
Oct 12 |
5.8 |
|
23 |
Oct 14 |
6.1-6.4 |
|
24 |
Oct 17 |
6.5-6.6 |
|
25 |
Oct 19 |
6.7 |
|
26 |
Oct 21 |
Review |
|
27 |
Oct 24 |
Exam 2 |
|
28 |
Oct 26 |
7.1-7.4 |
|
29 |
Oct 28 |
7.5-7.7 |
|
30 |
Oct 31 |
7.8-7.9 |
|
31 |
Nov 2 |
8.1 |
|
|
Nov 4 |
Homecoming - no classes |
|
32 |
Nov 7 |
8.2 |
|
33 |
Nov 9 |
8.3 |
|
|
Nov 11 |
Veterans Day - no classes |
|
34 |
Nov 14 |
8.4 |
|
35 |
Nov 16 |
9.1-9.2 |
|
36 |
Nov 18 |
9.3 |
|
37 |
Nov 21 |
9.4 |
|
38 |
Nov 23 |
9.5-9.7 |
|
|
Nov 25 |
Thanksgiving - no classes |
|
39 |
Nov 28 |
9.8 |
|
40 |
Nov 30 |
Review |
|
41 |
Dec 2 |
Review |
|
42 |
Dec 5 |
Exam 3 |
|
43 |
Dec 7 |
Last day of classes - Review Exam 3 |