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

  1. E-mail address: junjie616-at-gmail-dot-com, ejkim-at-cise-dot-ufl-dot-edu
  2. Office hours:

?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:

  1. Session: sect 1083 W 4th (10:40) TUR 2346 
  2. Session: sect 5831 W 6th (12:50) MCCA 1142

 

Textbooks and Software Required:

a.     Title: OPERATING SYSTEMS DESIGN & IMPLEMENTATION

  1. Author: TANENBAUM & WOODHULL
  2. Publication date and edition: 2006, 3/e
  3. ISBN number: 9780131429383

 

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.

 

Links

?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

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

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

Description: Description: Description: http://www.cise.ufl.edu/class/cap6610sp10/new.gifFinal Exam: Last day of class

Description: Description: http://www.cise.ufl.edu/class/cap6610sp10/new.gifQuiz 5 Tomorrow (APR/05/2012)

           : First part of chapter 5 - file systems - with class notes.

Description: http://www.cise.ufl.edu/class/cap6610sp10/new.gifProject 2 has been announced. (Due: Mar. 30)

http://www.cise.ufl.edu/class/cap6610sp10/new.gifProject 1 grade has been released. Office hours on Feb. 22 (Wed.), 24(Fri.), 27(Mon.), 29(Wed.) are cancelled.

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

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

http://www.cise.ufl.edu/class/cap6610sp10/new.gifQuiz 1 Grades have been posted on Sakai.

http://www.cise.ufl.edu/class/cap6610sp10/new.gifTA EunjuÕs office hour is  changed (TR 1:00 PM ~ 3:00 PM)

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

 

Project 1

Feb. 17

 How to add a system call in MINIX 3.1.8

Project 2

Mar. 30

 Project2 FAQ Project2 Solution

Project 3

Apr. 20

 Project3

 

 

 

 

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