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

http://www.cise.ufl.edu/class/cap6610sp10/new.gifHomework 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.

            http://www.cise.ufl.edu/class/cap6610sp10/new.gifSome 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!)

 

            http://www.cise.ufl.edu/class/cap6610sp10/new.gifProject 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