CSC 346 - Operating Systems

Fall 2002 - Section 00 - Curtis 206 - MWF 12:00-12:50

Course Description

Development of systems programming; operating system concepts including multiprogramming, time-sharing, concurrency, synchronization and deadlock problems, virtual memory management, file systems and resource-sharing.

Prerequisites

CSC 134, officially. However, students who have received a grade of B or better in CSC 133 would be well-equipped to take this course without having CSC 134.

Course Objectives

Textbook

Nutt, G.; Operating Systems, A Modern Perspective; 2 ed. Lab update; Addison Wesley; 2002. ISBN: 0-201-74196-2.

Course Resources

Resources for this course will be placed in the following location on the campus network: H:\users\nlippinc\csc346. Additionally, some Linux-related resources may be made available in Curtis 101.

Software

MS Visual C++ is required for Windows-based lab assignments and is available in computer labs on-campus. GNU gcc and g++ (Linux C, C++ compilers) are required for Linux-based assignments and are available in Curtis 101.

 

 

Instructor

Norman Lippincott

Asst. Professor, Computer Science

Office: Curtis 105

Phone: 610-437-4471, ext. 6197

e-mail: nlippinc@cedarcrest.edu

Office Hours

Monday: 1:00-3:00, 5:30-6:30

Tuesday: 5:30-6:30

Wednesday: 1:00-3:00

Friday: 1:00-3:00

Assessment Overview

Grades for this course will be based on the following assessment items with weights as shown:

Lab Assignments (6) 50%

Tests (2) 25%

Final Exam 20%

Class Participation 5%

A final score is calculated as a weighted average and rounded to the nearest full percent. Final grade is then awarded according to the following scale:

93-100 A 73-76 C

90-92 A- 70-71 C-

87-89 B+ 67-69 D+

83-86 B 60-66 D

80-82 B- 0-59 F

77-79 C+

Assessment

Lab Assignments

Assignments for the course will consist of both lab-based and written components, and are to be done outside of class. Some assignments will be Windows-based and some Linux-based. All facilities needed to complete lab assignments are available in on-campus computer labs.

The assignments require the student to explore operating systems concepts in a hands-on environment beyond the theoretical aspects covered in class.

Tests

Tests will be written and will consist of short-answer questions, problems, and essays. Through tests, the student shows competence in operating systems terminology, underlying operating systems principles, and how those principles apply in specific situations.

Final Exam

The final exam format is the same as that of the tests, but longer.

Class Participation

Students who are active and attentive members of the class may receive up to 5 points for class participation. Students who engage in side conversations during class time should expect no more than 3 points for class participation.

Due Dates and Late Work

Assignments are due at the beginning of class on the day they are due. By turning in assignments on time your work will be graded and returned in a timely manner (typically within one week), and with comments as appropriate.

Work turned in late will be subject to any or all of the following:

  1. A penalty of 10% of the total possible score will be assessed; 20% if work is a week late or more.
  2. The assignment may be graded without comment.
  3. The assignment will be graded and returned at the instructor’s convenience, possibly as late as the end of the semester.

Extra Credit

Requests for extra credit will be handled on a case-by-case basis. Typically, requests for extra credit will be granted for the purpose of improving a poor test score or assignment grade. Extra credit assignments will be directly related to the material that was the source of difficulty for the student, and gives the student a chance to show that she has, in fact, overcome that difficulty.

General Policies

Honor Philosophy

The Cedar Crest College Student Handbook, Honor Philosophy part III, Community Standards for Academic Conduct, includes the following:

"As a student at Cedar Crest College, each student shall:

Unless specifically designated by the instructor, assignments for this course are individual assignments, not group projects. It is reasonable and appropriate for students to discuss an assignment outside of class, particularly for programming projects. However, the actual assignment work, whether programming or written, is to be one’s own. It is not appropriate to collaborate on programming assignments, nor is it appropriate to copy another student’s program (or other assignment), alter the program’s (or assignment’s) appearance (e.g. changing formatting, variable names, output text), and present it as your own individual work. Evidence of such behavior will be considered a violation of the Honor Philosophy and will result in a grade of zero for the assignment. A second offense will result in a grade of "F" for the course.

Classroom Protocol

Appropriate classroom behavior is implicit in the Cedar Crest Honor Code. Such behavior is defined and guided by complete protection for the rights of all students and faculty to a courteous, respectful classroom environment. That environment is free from distractions such as late arrivals, early departures, inappropriate conversations, and any other behaviors that might disrupt instruction and/or compromise students’ access to their Cedar Crest College education.

 

Attendance

Regular attendance is an important factor contributing to student’s success in the class. Although much of the material covered in class comes from the textbook, some course content may come from instructor’s notes or other resources, and may be delivered only in lecture form. The student is responsible for all material covered in class, and should arrange to get notes from another student in the event of absence from class. The instructor’s notes are not available for perusal by the students.

Your instructor keeps an attendance record for the class, however this record does not directly affect the student’s grade. If a student has excessive absence and is not showing responsibility for the course material, an academic performance notice will be issued to the Advising Center.

If a student will be absent on the day of a test, arrangements for a makeup must be made in advance of the test. Failure to do so will result in a grade of zero for the test.

Students with Disabilities

Students with documented disabilities who may need academic accommodations should discuss these needs with their professors during the first two weeks of class. Students with disabilities who wish to request accommodations should contact the Advising Center.

Computer Classrooms

When classes are conducted in computer classrooms, the computers are to be used only for activities directly related to the class. Use of class computers for other activities, such as web browsing, e-mail, games, instant messaging, and so on, is not permitted. Be aware that such activity not only distracts you from the class, but distracts other students as well. Students who engage in such activity during class will receive a reduced class participation grade.

Course Schedule

The following is a tentative schedule for the course and may be adjusted as necessary during the semester.

Mon

Wed

Fri

Topic / Reading

Assignments

8/26

Course Intro

Ch. 1 – Introduction

8/28

8/30

Ch. 2 – Using the Operating System

Lab Assignment 1

Due: 9/13

9/4

9/6

Ch. 3 – Operating System Organization

9/9

9/11

Ch. 4 – Computer Organization

9/13

9/16

Lab Assignment 2

Due: 9/27

9/18

Ch. 5 – Device Management

9/20

9/23

9/25

Ch. 6 – Process Management

9/27

9/30

Test 1

10/2

Ch. 6 – Process Management (continued)

Lab Assignment 3

Due: 10/18

10/4

10/7

Ch. 7 – Scheduling

10/9

10/11

10/16

Ch. 8 – Basic Synchronization Principles

10/18

10/21

Lab Assignment 4

Due: 11/1

10/23

Ch. 9 – High-level Synchronization

10/25

10/28

Ch. 10 – Deadlock

10/30

11/1

Ch. 11 – Memory Management

11/4

Lab Assignment 5

Due: 11/15

11/6

11/8

Test 2

11/11

Ch. 12 – Virtual Memory

11/13

11/15

11/18

Ch. 13 – File Management

Lab Assignment 6

Due: 12/6

11/20

11/22

11/25

Ch. 14 – Protection and Security

12/2

12/4

Ch. 16 – Remote Files

Ch. 17 – Distributed Computing

12/6

12/9

Final Exam