Computer Science 354
Operating Systems

Dickinson College
Fall Semester 1997
Grant Braught

General Course Information

Course Outline & Schedule

What do all the icons mean?

9/4/97 What is an Operating System?
  • Syllabus & Introduction
  • Project #1 - Installing Minix
  • 9/9/97 What Do We Need To Run An OS?
  • Review of Computer Organization
  • The Intel 386/486 architecture
  • Disk drive & peripheral structure
  • I/O & Interrupt hardware
  • User & kernel CPU modes
  • 9/11/97 How Does Your OS Get Started?
  • Bootstrapping an OS
  • Disk Partitions
  • System BIOS
  • Vectored Interrupts
  • 9/16/97 What Happens When You Log On?
  • System Initialization
  • Structure Of Minix
  • 9/18/97 What Is A Process?
  • User Authentication
  • Process States & Interrupts
  • Minix Message Passing
  • 9/23/97 Where Do New Processes Come From?
  • Looking inside a shell
  • The Fork and Exec system calls
  • Project #2: Minix Gets A New Scheduler
  • 9/25/97 How are Processes Represented?
  • Proc Structures
  • Process Table
  • Ready and Blocked Queues
  • 9/30/97 Which Process Gets To Run Next?
  • Scheduling Issues
  • Scheduling Algorithms
  • 10/2/97 How Do You Evaluate A Scheduler?
  • Scheduling Algorithm Examples
  • Scheduler Evaluation Measures
  • Project #2: Design Review Document Due
  • 10/7/97 How Do User Processes Talk To Each Other?
  • An interesting problem...
  • IPC mechanisms
  • Examples of Minix pipes
  • 10/9/97 More Minix Pipes
  • The Producer / Consumer Problem
  • Exam #1 Handed Out
  • 10/14/97 No Classs
  • Exam #1 Due
  • 10/16/97 MidTerm Pause - No Class
    10/21/97 What Is Memory Allocation?
  • The memory heirarchy
  • Memory and mono/multi programming
  • Project #2 due
  • Project #3 Assigned
  • 10/23/97 How Does The OS Find Free Memory?
  • Tracking free memory
  • Memory allocation schemes
  • Minix memory allocation
  • 10/28/97 What Is Virtual Memory?
  • Paging systems
  • Page tables
  • Research Paper Topic / Abstract due
  • 10/30/97 What Are The Problems With Paging?
  • Multi-Level page tables
  • Translation lookaside buffers
  • Inverted page tables
  • 11/4/97 What Are The Problems With Paging? (More)
  • Multi-Level page tables
  • Translation lookaside buffers
  • Inverted page tables
  • Proj #3 Design Review Document Due.
  • 11/6/97 Which Page Gets Swapped?
  • Page replacement algorithms
  • Design issues
  • 11/11/97 What Is A File System?
  • Overview of File Systems
  • Research Paper Outline & References due
  • 11/13/97 How Are Files and Directories Stored?
  • File allocation schemes
  • Directory implementation
  • FAT's and I-Nodes
  • 11/18/97 How Does the Unix File System Work?
  • Free space management
  • The basic Unix file system
  • Project #3 due - Rough Draft
  • 11/20/97 How Can The Unix File System Be Improved?
  • BSD Unix
  • Berkley Fast File System
  • Project #3 - Revised
  • 11/25/97 How Does The Minix File System Work?
  • Minix File System Overview
  • Research Paper Rough Draft due
  • 11/27/97 Thanksgiving Break - No Class
    12/2/97 What are Threads?
  • Introduction to threads
  • Race Conditions
  • Project #4 assigned
  • 12/4/97 How Do You Prevent Race Conditions?
  • Critical Regions
  • Busy Waiting
  • Semaphores
  • 12/9/97 Classical IPC Problems
  • Dining Philosophers
  • Sleeping Barber
  • 12/11/97 Research Paper Presentations
  • Operating Systems for Parallel Computers
  • Security Issues and the Java Programming Language
  • Operating System Security: Problems & Solutions
  • Research Paper Final Draft Due
  • Takehome Exam #2 Handed out
  • 12/21/97 Final Exam Date
  • Takehome Exam #2 Due
  • Project #4 Due