Class Notes

Class notes will be placed here as they are created. These notes are for my use, but are provided for your convenience. In addition, programs created in class will be posted as they are created. My plan is to cover as much of the first 15 chapters of the book as possible. This may change as the semester progresses. The contents of this page will change.
  • Chapter 1, Introduction
    • Overview.
    • Interrupts.
    • Memory and I/O.
    • Sort of the end of the chapter..
  • The Arduino Nano
    • Nano Intro.
    • Some Basic Programming.
    • The Lab Build.
    • Interrupts.
    • Prep for the Homework.
    • Timers.
    • Code for this section
  • A history of OS
    • Part I
    • THE EVOLUTION OF OPERATING SYSTEMS by Per Brinch Hansen.
  • Chapter 3, Processes
    • Process Overview.
    • Creating Processes in Linux.
    • Context Switch.
    • Exit Status.
    • Interprocess Communications
      • Overview
        • Signals.
        • Code for signals. (I accidentally did signals in a different location)
      • Posix Shared Memory example.
      • Posix Message Queues.
      • A very quick look at sockets.
    • Code for this section.
  • Chapter 6/7, Synchronization
  • Chapter 4, Threads and Concurrency
  • Chapter 8, Deadlock
    • Overview.
    • Hardware.
    • Intro To Threads.
    • POSIX threads.
    • Mutex.
    • Bounded Buffer Problem..
    • Semaphores.
    • Monitors.
    • Monitors Code Addition.
    • Two More Problems.
    • Code for this section.
  • Cigarette Smokers Problem
  • Chapter 5, CPU Scheduling
    • Introduction.
    • Three Scheduling Algorithms.
    • Priority Scheduling.
    • Multi-Processor Scheduling.
  • Chapter 9, Main Memory
  • Chapter 10, Virtual Memory
    • extended Memory Hierarchy From avnet.com
    • Introduction to Memory.
    • Contiguous Memory Allocation.
    • Paging.
  • File Systems
  • Chapter 12, I/O Systems
  • Chapter 13, File-System Interface
  • Chapter 14, File-System Implementation
  • Chapter 15, File-System Internals