CS 306-401  OPERATING SYSTEMS

SYLLABUS  FALL 2000

 

INSTRUCTOR:  Lee Burge

OFFICE: LKD 2111 x4852

EMAIL: [email protected]

COURSE WEB SITE:  https://www.imappl.org/~blegand/class/401

TEXT:  "Applied Operating System Concepts" 1E (Addison-Wesley) Silberschatz, Galvin, and Gagne

CATALOG DESCRIPTION:  Prerequisites: 306-354 (Advanced Data Structures). Topics covered include system calls and system programs, interrupt handling, device and memory management, process scheduling and the trade-offs in the design of large scale multitasking operating systems.  Several case studies will be used, with special emphasis on the UNIX operating System.

COURSE OBJECTIVE:  The purpose of this course is to introduce the student to some of the basic features of modern operating systems. The course is intended for students majoring in the department of Systems and Computer Science. Students will program extensively in order to understand the difficulties involved with writing operating systems.  An operating system design must balance several factors such as speed of throughput, ease of use, security, size of code, and ease of modification; therefore, students must be able to make design decisions based on balancing several different factors.

PREREQUISITES BY TOPIC:

1. Knowledge of the C.C++ and Java programming languages.
2. Familiarity with some assembly language.
3. Elementary and advanced data structures.
4. Experience with programs of at least three hundred lines of code.
5. Experience as a user of several operating systems. (Win9x, NT, Unix, and Apple Mach OS)

TOPICS COVERED:

Chapter 1: Introduction
Chapter 2: Computer System Structures
Chapter 3: Operating System Structures 
Chapter 4: Processes
Chapter 5: Threads 
Chapter 6: CPU Scheduling
Chapter 7: Process Synchronization
Chapter 8.1-8.3: Deadlocks
Chapter 9: Memory Management 
Chapter 10: Virtual Memory
Chapter 11: File Systems
Chapter 12: I/O Systems 
Chapter 13: Mass-Storage Structure

IF TIME PERMITTS

Chapter 14: Network Structures
Chapter 15: Distributed Communication 
Chapter 16: Distributed Coordination
Chapter 17: Distributed File Systems
Chapter 18: Protection
Chapter 19: Security

GRADING:

4 extensive programming projects:     40%
5 homeworks    10%  -- @ 10pts each
2 exams    30% -- @75pts each
1 final exam    20% -- 100pts

GRADING SCALE:

90-100%

   A

80-89%

   B

70-79%

   C

60-69%

  D

FINAL EXAM:  Thursday Dec. 14  8:00am - 10:00am

CSAB Category Content:
CORE: None
ADVANCED
    Algorithms(0.5 credits)
    Analysis and Design (1.5 credits)
    Software Engineering (0.5 credits)
    Programming (0.5 credits)
Total Credits: 3

Policy on late projects, research papers, and make-up exams:

Late projects will be deducted 10% per day for each day late. NO make-up exams will be given unless there is a
bona fide written doctor’s excuse. In the event that such an excuse is accepted, the deadline will be extended the
number of days specified in the excuse.

Plagiarism Policy:

Howard University has adopted a new policy on plagiarism and cheating. In short, all instances of
plagiarism will be resolved by an office of the administration, which will conduct the appropriate
hearings. See the section entitled "ACADEMIC CODE OF STUDENT CONDUCT" on pages 26-27 of
the "Student Reference Manual and Directory of Classes."

Notice:

The Americans with Disabilities Act requires institutions to accommodate the needs of persons with
disabilities. If you need special arrangements such as sign language interpreters or audiotapes of
lectures, please make an appointment to see me.