CSCI523 - Advanced Operating Systems

Instructor: Tobin Maginnis


Course Syllabus

Class Calendar   Alternative Class Calendar
Linux Kernel Development, 3rd ed., Robert Love
Linux Kernel Development, 3rd ed., Robert Love
Linux Kernel Primer, Salzberg
Greg Kroah-Hartman Device Driver Development Kit
LXR Cross Referencer
Linux kernel cross referenced source code
Red Hat Enterprise Linux cross reference
Grades Hold the key and click reload/refresh to ensure viewing the most recent version.
Review Questions Answers
Daily Quiz Answers
Linux Kernel 64-bit Memory Map
Chapter 17 from: Operating System Concepts by Abraham Silberschatz, Peter B. Galvin and Greg Gagne
MMU Page Table
MMU Page Faults and Paging
MMU Enabled Security
Memory Hierarchy Latency
The memristor - Phase change semiconductors
Wikipedia Memristor
But memristor will not be production-ready until 2025...

  • News
    Highly critical "Ghost" allowing code execution affects most Linux systems
    Google Discovered the GHOST vulnerability and Patched ChromeOS in April 2014 and kept mum.
    Missing 8GB from 32GB?

    Unit One Objectives
    Unit Two Objectives
    Unit Three Objectives - Chapter 7
    Unit Three Objectives - Linux scalability
    Distributed Computing Summary
    An Analysis of Linux Scalability to Many Cores
    Unit Four Objectives

    Kernel Newbies - Introductory information for new kernel hackers
    Kernel Newbies - Linux Kernel Versions
    Current 3.18 Kernel Features
    Next Kernel 3.19 Kernel Features
    Kernel Glossary
    Wikipedia Linux Kernel
    Hitler uses git

    Restoring the Kernel Source Tree
    Program One Assignment
        How To Compile A Kernel - The Fedora Way
        How To Compile A Kernel - The Ubuntu Way
        Kernelnewbies:FAQ - Kernel Compilation
        Example Kernel Compilation Notes
    Microsoft Vista's slow network performance
    Program Two Assignment
    Program Two-A Assignment
    Program Three Assignment
    Program Four Assignment
    Program Five Assignment
    Wacky Daemon - Flash Console LEDs - V2.00
    Wacky Daemon - Flash Console LEDs - V2.03
    Program Six Assignment

    Homework One Assignment
    Homework Two Assignment
    Homework Three Assignment
    Linux project to boot up from a USB flash drive
    The Lazy Guide to Installing Knoppix on a USB Key
    Creating a Knoppix bootable USB key
    Linux project to improve storage efficiency
    Open() Service Control Flow
    Read() Servcie Control Flow

  • Linux Kernel Implementation Details
    Linux kernel idioms
    GCC inline asm directive tutorial
    GCC asm directive with ARM assembly
    Kernel Map
    Linux Kernel in a Nutshell
    C Library Implementation of write()
    Read-Copy Update: Using Execution History to Solve Concurrency Problems
    Read-Copy Update Mutual Exclusion

  • OS Research Reports
    Google OS Research
    Failure Trends in a Large Disk Drive Population
    Disk failures in the real world
    Best guess implementation of the Google system
    Google File System, SOSP, Oct 2003
    Google Objectives
    The 2006 Linux File Systems Workshop
    SMP IRQ Affinity
    Linux Weekly News Driver Porting Articles
    Linux Weekly News - The seq_file interface

  • Linux Kernel References
    Linux Kernel Wiki
    Commented code segments
    Official Kernel Source
    The Linux Kernel Module Programming Guide and the Linux Kernel 2.4 Internals
    The Linux Documentation Project
    Kernel Analysis HOWTO
    Summary of Linux kernel mailing list

  • Computer Architectures
    2003 Status Report on 64bit CPUs
    Sony, Toshiba, and IBM's Cell processor architecture

  • Kernel Odds & Ends
    Where Are Operating Systems Headed?
    Sana Security White Papers
        Sana image of System Call sequence for a Linux Apache Server    
      Sana image of System Call sequence for a Microsoft Server  
    GCC Inline Assembly HOWTO

  • Kernel Tuning

  • GNU C Help Pages
    The GNU Manuals -
    Local copy of GlibC manual
    The GNU C Library FAQ
    The GNU assembler (gas) documentation  in HTML
    The GNU source-level debugger (gdb) documentation  in HTML
    A Concise Introduction to C -
    C Programming Book -
    Assembly tutorial -

  • Example Unix Security Holes
    Mac/Unix Trojan horse
    Attempt to Create a Linux Backdoor
    Race condition puts 50 million people in eight states and Canada in the dark!