CMPS 431, Spring 2011 Syllabus

1.0 Contact Information

Dr. Patrick McDowell


Office: 220 Fayard Hall

1.1 Course Information

The purpose of this course is to provide an overview of computer operating systems. Topics to be discussed include a brief history of OS’s and their design and development. The course will cover major components the and the algorithms and implementation techniques used to create them. The class will be presented using a both a mix of theory and hands-on exercises.

2.1 Course Times

T, 5:00 – 7:45

2.2 Text

Operating Systems Internals and Design Principles, Fourth Edition; William Stallings


Reference Text – Operating Systems Concepts, Fifth Edition; Silberschatz and Galvin

2.2 Grading Policy


There will be 3 tests and a final exam, homework problems and 2 or 3 programming assignments. The material for the quizzes, and exams will be taken from the assignments and lectures. Students are expected to be in class and do the assigned work. 


Test 1 – Sections 1 – 4

Test 2 – Sections 5 – 7

Test 3 – Sections 8 - 10


Grade Scale

90 to 100 – A

80 to 89 – B

70 to 79 – C

60 to 69 – D

0 to 59 – F


Attendance is important. Absences will have an adverse effect on your grade in the following ways: missed quiz points, missed announcements concerning assignments and due dates, non-exposure to material not directly covered in text.


Academic Dishonesty is a serious subject. In this class the objective is too learn, and since there are many computer based assignments, unless otherwise stated, working together is okay, but it is the students responsibility to make sure that they can do the assignments. Copying someone else’s work is dishonest, and will impair performance on in class quizzes. Copying someone else’s work on examinations, plagiarism, improper acknowledgement of sources, etc are considered serious offenses and are grounds for disciplinary action as outline in the current general catalogue.


Classroom Decorum: Free discussion, inquiry, and expression is encouraged in this class. Behavior that interferes with either (a) the instructors ability to conduct the class or (b) the ability of students to benefit from the instruction is not acceptable. Examples may include routinely entering the class late or departing early; use of beepers, cell phones, or other electronic devices; repeatedly talking in class without being recognized; talking while others are speaking; or arguing in a way that is perceived as “crossing the civility line.


  • If you are a qualified student with a disability seeking accommodations under the Americans with Disabilities Act, you are required to self-identify with the Office of Disability Services, Room 203, Student Union. No accommodations will be granted without documentation from the Office of Disability Services.
  • It is University policy that the classroom is not a place for children, and that students are not to bring their family members for day care or baby sitting.
  • Course Outline/Schedule
  • Overview of Operating Systems
    • What is an OS
    • Brief history.
  • Background and Basics
    • Computer System review
      • Architecture
      • Instruction cycle
      • Process Control Block
    • Basic OSs
      • Batch
      • Multi-programmed batch
      • Timesharing
    • Computer System Structures
    • Operating System Structures
  • Processes
    • Definition
    • Process States
      • 5 state model
    • Process structure
      • PCB and components
    • Operations on Processes
    • Threads
  • CPU Scheduling
    • I/O burst cycle
    • Context Switching
    • Scheduling
      • Short Term
      • Long Term
    • Scheduling Criteria
    • Algorithms
      • First Come First Serve
      • Shortest Job First
      • Priority Scheduling
      • Round Robin
  • Process Synchronization
    • Critical Section Problem
      • Mutual Exclusion
      • Races
    • Two Process Solutions
      • Algorithm 1
      • Algorithm 2
      • Algorithm 3
      • Bakery Algorithm
    • Synchronization Hardware
      • Test and Set
      • Swap
    • Semaphores
    • Deadlocks and Starvation
    • Classic Synchronization Problems
      • Readers/Writers
      • Dining Philosophers
  • Deadlocks
    • System Model
    • Necessary Conditions for a deadlock
      • Mutual Exclusion
      • Hold and Wait
      • No Preemption
      • Circular wait
    • Resource Allocation Graphs
    • Handling Deadlocks
      • Prevention
      • Avoidance
        • Bankers Algorithm
  • Memory Management
    • Address Binding
      • Compile time
      • Load time
      • Execution time
    • Logical versus Physical Address Space
    • Swapping
      • Contiguous Allocation
        • Single Partition
        • Multiple Partition
          • First Fit
          • Best Fit
          • Worst Fit
        • Internal and External Fragmentation
    • Paging and Virtual Memory
      • Basics
      • Demand Paging
      • Page Replacement
      • Page Replacement Algorithms
        • FIFO
          • Belady’s anomaly
        • Optimal
        • LRU
        • MFU
    • Thrashing
  • Storage
    • Files
      • Attributes
      • Operations
      • File types
      • Structure
      • Access methods
    • Directory Structure
    • Protection
  • File System Implementation
    • Allocation methods
    • Free Space Management
  • Secondary Storage Structure
    • Disks
      • Structure
      • Scheduling
        • FCFS
        • SSTF
        • SCAN