CS 460 Schedule
| 
       Date 
       | 
      
       Topic 
       | 
      
       Notes 
       | 
      
       Assignments 
       | 
    
| Jan 30 | Introduction to OS (Chapter 1) |   | 
    |
| Feb 01 |  Introduction to OS  | 
        | 
      Homework: Page 42. 1.1, 1.2,1.3,1.5, 1.6, 1.10, 1.13, 1.18 DUE Feb 8. Submit as a GoogleDoc!  | 
    
| Feb 03 | Assignment One |  PATA | 
       Assignment
One (System
Calls | strace) C Coding Standards Eclipse Coding Standards Profile  | 
    
| Feb 06 | OS Structure (Ch 2) |  PDF AMD Pacifica Spec  | 
      SVN Repository DUE | 
| Feb 08 |  Homework page: 91 2.1, 2.2, 2.5, 2.6,2.8,2.14,2.20,2.24 DUE Feb 13 as GoogleDoc  | 
    ||
| Feb 10 | Lab (Demo Assignment One |
Study strace/ltrace output) | 
      glibc glibc Eclipse Project (non-building)  | 
      Assignment One DUE 4:45! | 
| Feb 13 | Processes (Ch 3) | PDF | 
      Linux Kernel Source Code Linux Kernel Source Code (backup) Linux Kernel Source Code - Download LWN - Linux "Weekly" News  | 
    
| Feb 15 | Process Layout | ELF File | 
      Linux Task Struct (PCB) #1, OpenFiles, #3,  thread_struct switch_to X86_32 X86_64 Files Struct fdtable file  | 
    |
| Feb 17 | In Marsh! | 
        | 
    |
| Feb 20 | Unix Shell | dup2, pipe | glibc | 
       Homework page 141: 3.1, 3.2, 3.7, 3.103.13 DUE Feb 27 as GoogleDoc  | 
    
| Feb 22 | fork()/exec Lab | 
      PDF LAB  | 
      Assignment Two (Unix Shell) | 
| Feb 24 | Linux Kernel in a Nutshell | 
       Exam Review and Homework Question! Linux Kernel: dup2 rcu: read-copy-update see also Feb 15! intel Instruction Manual vdso vdso2  | 
    |
| Feb 27 | Assignment Two (Milestone One DUE) | ||
| Feb 29 | EXAM | ||
| Mar 02 | Threads (Ch 4) | PDF Java Concurrency PThreads  | 
        | 
    
| Mar 05 | Threads | Assignment Two (Milestone Two DUE) | |
| Mar 07 | |||
| Mar 09 | Threads Lab Day! | 
      PDF Lab  | 
        | 
    
| Mar 12 |  Demo Day! Game of Life! CS Lab | 
      Script Big Input  | 
      Assignment Two (Final Milestone DUE) Assignment Three (Game of Life) Valgrind  | 
    
| Mar 14 | 
      PThreads Lab Review | Game of Life | 
      PDF | 
      |
| Mar 16 | 
       | 
      tsQueue | 
      cmpxchg (CS @ Denver U) Compare And Swap and ABA Lock free datastructures Non-Blocking Queue Wait-Free Queue Double ended Queue Lock-free Dynamic Memory  | 
    
| Mar 19 | Process Synchronization (Ch 6) | PDF | 
      Game Boards Assignment Three (Milestone One DUE) Flame Graphs  | 
    
| Mar 21 | 
       | 
      More Game Boards | 
    |
| Mar 23 | 
      long long | 
    ||
| Mar 26 | SPRING BREAK | 
      ||
| Mar 28 | SPRING BREAK | ||
| Mar 30 | SPRING BREAK | ||
| Apr 02 | CPU Scheduling (Ch 5) | PDF | 
      
      Linux Scheduler Linux Scheduler (Multiprocess) sched.c sched.h  | 
    
| Apr 04 | Assignment Three (Milestone Two DUE) | ||
| Apr 06 | Linux CFS  Kernel Patch Discussion struct rq struct cfs_rq struct sched_entity struct task_struct schedule function pick_next_task  | 
    ||
| Apr 09 | Linux Loadable Modules and Device Drivers (Marsh) | PDF | 
      
      Linux Device Drivers Chapter 1, 2, 3 O'Reilly  | 
    
| Apr 11 | Implement a Loadable Module (CS Lab) | Lab Exam Review  | 
      Arch Linux in VirtualBox  | 
    
| Apr 13 | Character Devices: struct inode/struct file/ tty_driver/timer_list (CS LAB) | Char Dev Tutorial  | 
       Assignment Three DUE | 
    
| Apr 16 | Implement a Character Device Driver (CS Lab) | Lab | 
        | 
    
| Apr 18 | EXAM | ||
| Apr 20 | Add a System Call to Linux (CS Lab) | 
      Lab | 
      Huge Game Board | 
    
| Apr 23 | 
      Game of Life  | Kernel Hacking Review (Marsh) | 
      GameOfLife | 
      Assignment Four (Kernel Hacking) | 
| Apr 25 | SENIOR PROJECTS DAY | 
      ||
| Apr 27 | Main Memory (Ch 8) | PDF | 
      |
| Apr 30 | 
       | 
    ||
| May 02 | Virtual Memory (Ch 9) | PDF | 
      |
| May 04 | |||
| May 07 | Kernel Results discussion | Review | FINAL REVIEW | 
      Assignment Four DUE | 
| May 09 | READING DAY NO CLASS | 
      ||
| May
11 | 
      FINAL
EXAM 3pm - 5:30 pm |