Computer Science 320
    Operating Systems
    Course Syllabus
       


    Course Information
      Credit hours: 3
      Semester: Spring 2000
      Day & Time: Tuesday & Thursdays: 9 AM
      Prerequisite: 305

      Instructor Information

      Instructor: Kent Palmer
      Office: Mac Hall 15B
      Office Hour: Monday, Wednesday, Friday 3:15-4:15 PM
               Tuesday & Thursday 10 - 11 AM
      Office Phone: (217) 479-7102
      Home Phone: (217) 245-7675
      E-mail: kpalmer@mac.edu

      Required Text

      Stallings, William. Operating Systems: Internals and Design Principles. 3rd ed. Upper Saddle River, NJ: Prentice Hall, Inc., 1998.

      Goals

      Catalog description: Introduces the fundamentals of operating systems, process concepts, concurrent programming, etc. Process management, memory management, device management, scheduling, etc. will be covered.

      Objectives: This is a one-semester introductory course in the concepts of operating systems. Operating systems are the software that make computer hardware usable. The course will explain how operating systems determine the interface seen by users, control the sharing of resources between users, recover from errors, and determine computer performance. This course will not go into the details of systems programming or the writing of device drivers.

      After completing this course a student should be familiar with how an operating system:

      • Creates processes
      • Executes programs
      • Keeps accounting and security logs
      • Detects and correct error conditions
      • Provides access to I/O devices
      • Controls access to files and other system resources
      • Manages memory
      Course Expectations

      Attendance: If you need to miss a class, please notify the instructor in advance so we can arrange an alternate meeting time.

      Academic Honesty: Students are referred to the policy outlined in the student handbook (The Maggie).

      Grading Scale


      Grade Percentage
      A 90 – 100%
      B 80 – 89%
      C 70 – 79%
      D 60 – 79%
      F 0 – 59%

      Grade Distribution

      Component Percentage
      Exam 1 15 %
      Exam 2 10 %
      Final exam 20 %
      Online journal 8 %
      Major project  12 %
      Homework & VMS projects 30 %
      Attendance & participation 5 %

      Homework Schedule

      Some adjustments to the homework schedule may occur during the semester.


      Due Date Chapter Exercises in Stallings
      February 3 1 1.1, 1.3, 1.5, 1.8, 1.11, 1.13
      February 10 2 2.1, 2.2, 2.4, 2.6
      February 17 3 3.3, 3.5, 3.6, 3.7, 3.11
      February 24 4 4.2, 4.3, 4.5, 4.6
      March 2 5 5.1, 5.2, 5.3, 5.5, 5.9, 5.13, 5.20
      March 9 6 6.2, 6.3, 6.8, 6.10, 6.14, 6.15
      March 28 7 7.4, 7.5, 7.8, 7.10
      April 4 8 8.1, 8.4, 8.5, 8.6, 8.14
      April 11 9 9.1, 9.10, 9.11, 9.14, 9.15
      April 18 10 10.1, 10.2
      April 27 11 11.2, 11.5, 11.6, 11.8, 11.11 11.12
      May 4 12 12.3, 12.5, 12.7

      General Schedule

      (Chapter references are to Stallings, Operating Systems: Internals and Design Principals)


       
      Day Chapter Topics covered
      January 27 1 Registers, instructions, interrupts
      February 1 1 Memory and I/O
      February 3 2 Intro to operating systems
      February 8 2 VMS, NT, UNIX SVR4, Solaris
      February 10 3 Process states
      February 15 3 Process control
      February 17 4 SMP, & threads
      February 22 4 Microkernals
      February 24 5 Mutual exclusion
      February 29 5 Semaphores
      March 2 6 Deadlock
      March 7 6 Deadlock avoidance
      March 9 1-6 Exam 1
      March 14 7 Memory management
      March 16 7 Paging
      March 21,23   Break
      March 28 8 Virtual memory 
      March 30 8 Virtual memory cont.
      April 4 9 Types of scheduling
      April 6 9 Scheduling algorithms
      April 11 10 Multiprocessor scheduling
      April 13 10 Real-time scheduling
      April 18 7-10 Exam 2
      April 20 11 I/O devices
      April 25 11 RAID & caching
      April 27 12 File organization
      May 2 12 File sharing
      May 4 13 Client/Server
      May 9 13 Clusters
      May 11   No class
      May 16  1-13 Final exam (8 AM)

      VMS Projects

      VMS will be used as the sample operating system for the course. Several projects will be announced at a later date.

      Major Project

      Prepare a web site based on your research on an operating system topic. The site should contain about 2500 words of text on various pages. You should include at least 10 bibliographic citations or external links. The grade of this assignment will be primarily determined by textual content rather than the quality of graphical presentation.

      Submit a one page proposal describing your proposed research and include at least two references by February 17. The final project is due May 2nd.

      Online Journal

      You should maintain a Web page with weekly entries. An entry in the journal should include a 200 to 500 word review or summary of an article or chapter (from a book other than the textbook for this course) about a topic related to operating systems. The student should include a full citation of the article using the documentation protocol given in Allen Metcalf’s Research to the Point. If the material being reviewed is online, the entry should include link as well as a citation.

      Exam Schedule

      Week Exam Topics
      March 9 Exam 1 Computer processes, multiprocessors, threads, microkernals, semaphores, deadlock
      April 18 Exam 2 Scheduling and memory management
      May 16
      (8 AM)
      Final Exam This exam will be comprehensive, but greater emphasis will be placed on material covered since the last exam.


      Kent Palmer Homepage

      Department of Computer Science Homepage

      MacMurray College Homepage