University of Massachusetts Dartmouth

Department of Computer and Information Science

CIS 370 ?Design of Operating Systems

Fall 2008

 

Course Syllabus

Instructor Information

Dr. Ramprasad Bala

Office : DION 308 A

Phone : (508) 999-8259. Fax : (508) 999-9144

Email : r.bala@umassd.edu

Office Hours : TR 11:00AM - 12:30 PM, F 12:00 - 1:00. By appointment

Home Page : www.cis.umassd.edu/~rbalasubrama/home

Course Page : www.cis.umassd.edu/~rbalasubrama/CIS370/F08

 

Course Information

Lecture : TR 2:00 - 3:15PM DION 101

Lab : Section 1 - T 8:00 - 9:50AM DION 305

Section 2 T 10:00 - 11:50PM DION 305

Tutoring : TBA

Teaching Assistant :

Email :

Office : DION 306

 

Course Description

Principles of modern operating systems and their design.  Scientific principles and engineering rules of operating systems are explored.  Process and storage management subsystems are analyzed in detail. Protection and security are taken into account in design.  An introduction to distributed operating systems is also presented.  This is a design and project based course with a laboratory component.

 

Course Goals

- To design and implement selected services of operating systems to users and programs
- To develop design and experimental skills in domain of operating systems
- To develop student's competence in at least two operating systems such as: UNIX, Mach, Linux, Windows, or MacOS.

 

Course Outcomes

- Knowledge of Unix System Programming

- Detailed understanding of OS layers, Process management, virtual memory, I/O subsystem, Process Synchronization and file systems

- Empirical evaluation of algorithms for CPU scheduling and memory management

- Competence in more than one operating system

 

Textbooks

Required - Operating System Concepts, Eighth Edition, by Silberschatz, Galvin and Gagne, J Wiley  Publishing

Recommended : Unix System Programming, Haviland and Gray, Prentice Hall

 

Pre-requisites

C or better in CIS 190, CIS 272 and CIS 273

Ability to program in C and familiarity with UNIX

 

Course Policies

Missed test policy:
Makeup tests will only be permitted in the case of extenuating circumstances and only with prior approval. In case of a very serious emergency supporting documentation (for instance, doctor's note or police accident report) is required. There will be no make-up for quizzes.

Academic honesty:
All work should be done on your own, no cheating is allowed. If you are dishonest, you will be asked to leave the course and take an "F". On quizzes and exams, you do not give or receive help. For the programming assignments, you must submit independent work

Special needs:
Any student in this course who has a disability that necessitates special accommodation should contact the instructor as soon as possible to discuss the appropriate accommodations necessary to complete the course requirements.

Misc:
No extra credit assignments will be given to individual students for the explicit purpose of passing this course without justifiable reasons. Please see the course webpage for all the details of course outline, test dates and other important information.

 

Tentative Course Outline

Weeks

Topics

Chapters

1

What is OS? Multiprogramming and Time-sharing, Interactive and Batch systems, brief history of OS. 

1

2

Basic system components, Interrupts, Protection mechanisms

1

3

OS functions, System Calls, OS structure, System Generation 

2

4

Assignment 1 - Out line. UNIX - Process Slides.

 

5

Process-definition, states, context switching. Tie-up loose-ends, review for test 1, and test 1

3

6

Chapter -4 Completion. Threads.

4

7, 8

CPU Scheduling- Criteria, Algorithms, Evaluation.

5

8, 9

Process Synchronization- The Critical section Problem, Semaphores, Classical Problems

6

10

Deadlocks - Characterization, handling methods, Prevention, Avoidance, Detection

7

10

Tie-up loose-ends, review for test 2, and test 2

 

11

Main-memory management - Swapping, Paging Segmentation

8

12,13

Virtual Memory - Demand Paging, Page Replacement, Frame Allocation, Thrashing - OS examples.

9

14

File-System Interface & Secondary Memory Management

10, 13

15

Protection and Security

14, 15

16

Class presentation on Mach, Unix and Windows. Tie-up loose ends.

 

 

The outline, homework, and project assignments are tentative and subject to change without notice.

 

Grading Scheme

Exam #1 - 15% (including quiz scores) 

Exam #2 - 15% (including quiz scores) 

Exam #3 ?15% (including quiz scores) 

Programming projects (3) and Paper - 40% 

Labs -15%

 

90-100

A- , A , A+

80-89

B- , B , B+

70-79

C- , C , C+

60-69

D- , D , D+

Below 60

F

Important Dates

Test 1

October 2th

Test 2

November 6nd ?/span>

Test 3

December 19th

11:30-2:30PM ?/span>

Term Paper

Due December 12th

2 PM on the Portal

 

         Tuesday, September 2 Fall classes begin

         Monday, September 8 Last day to add/drop/audit

         Monday, October 6 Last day to file pass/fail

         Monday, October 13 Columbus Day: no classes

         Wednesday, October 15 Follow Monday's schedule

         Monday, November 10 Last day to withdraw from a class

         Tuesday, November 11 Veterans' Day: no classes

         Wednesday, November 26 Thanksgiving recess begins

         Friday, December 12 Fall classes end

 

 

I look forward to a productive semester!