CS 426

Mon Aug 27-- Syllabus and an overview of operating systems and another. Read Chapter 1.
Wed Aug 30 -- Read Chapter 2. Review four level diagram. Timing program. Size of the kernel (files, bytes). Swearing in the kernel with graphs and examples. How linux does a system call. syscall_table linea_32.S entry_32.S getpid() and getuid current_uid current_cred_xxx task_struct task struct cred field struct cred uid_t kernel_uid_t
Fri Sep 2 -- Go over simple vs layered vs microkernel approaches to kernel design. Virtual machines. System booting. Processes. Read chapter 3 up to and including 3.3.2
Mon Sep 5 -- Problems 1.3, 1.10, 1.11b, 11.12 due via email.
Fri Sep 9 -- Threads and the thread assignment.
Mon Sep 12 -- Go over the many scheduling algorithms
Wed Sep 14 -- Read 3.0 up to and including 3.3 Questions 3.2, 3.4. Read 4.3. Questions 4.4 and 4.7. Read chapter 5. Questions 5.1, 5.5, 5.6a Scheduling including cpu/io overlap, average queue size, the flow diagram.
Fri Sep 16 -- Return Quizes. Go over next thread assignment. Talk about balagnce. Talk about overhead. Talk about deadlock. Compute wait times. Say why SJN is optimal. SJN and batch processing.
Mon Sep 19 -- Review deadlock and avoidance strategies. Review scheduling algorithms. Exponential average (SJN, load avg, blah). Go over why SJN is best on wait times. Batch scheduling. nice() and renice(). calls that affect the scheduler. Java Threads.
Wed Sep 21 -- Collatz. Quiz on scheduling and deadlocks and threads.
Thr Sep 22 - Read chapter 8. Memory Heirarchy and Memory Management.
Wed Sep 28 -- Read chapter 9. Overlays. Difference between swapping and paging. How long does it take to swap. (with disk bandwidth and hdparm -t /dev/sda) Go over /proc/meminfo. Review paging. Compute page sizes. Page size selection. Do paging examples.
Fri Sep 30 -- memory access times and Windows memory map and iPaq memory map and Linux memory map and DOS memory map. Computing effective memory access time.
Understanding the stupid Collatz program. Heirarchical paging. Death by paging idiocy.
Mon Oct 3 -- Paging basic idea. Locality of refernce. Belay's Min. LRU. One handed clock. Two handed clock. Arrays and the worst case scenerio. Hash tables and bad performance. madvise and mlock. Intel Page table.
Wed Oct 5 -- Two Dimentioal Arrays and benchmariking code. Performance calculations. copy-on-write. working sets. How Exec works. Computing memory required. The Story of a RAM in three part harmony. Looking at the output of top.
Fri Oct 7 -- Review for test.
Mon Oct 10 -- Review for test again
Wed Oct 12 -- Test.
Mon Oct 17 -- Mmap assignments. Tutorial. Hard drive geometry and mechanisms. Talking about hard drives and ssds including benchmark 1 and benchmark 2 and the movie.
Mon Oct 24 -- http://mjperry.blogspot.com/2011/10/markets-in-everything-bidding-for-mba.html. The Big Assignment. File system stuff.
Fri Oct 28 -- More file system basics. Coventry and a bug.
Fri Nov 4 -- Read chapter 10,11,12, and 13.
Mon Nov 7 -- Shell lecture.
Wed Nov 9 -- Windows is weird. Caching. cache games. disk compression, Log structured file systems. Wear leveling. Data deduplication and more.
Mon Nov 21 -- Lab day. Work on the big assignment.
Wed Nov 30 -- Lab day.
Fri Dec 2 -- Interrupts. xkcd. Interrupts wiki. signals. Interrupt latency data. inetterup latency.
Mon Dec 5 -- Lab Day
Wed Dec 7 -- Jeapordy
Fri Dec 9 -- Review for the final