Class Schedule
Week 1
Tuesday – 30 August
- Introduction to course and logistics
- What is an Operating System?
- The history of OSs and their future.
Thursday – 1 September
- Intro to C – pointers and memory allocation (PDF of slides)
- OS Structure
- Processes
Week 2
Tuesday – 6 September
- What happens when you press the ‘on’ button. BIOS, bootloader etc.
- Intro to processes.
Thursday – 8 September
- processes cont’d (PDF of slides)
- Project 1 (C basics) due on Friday 9 September.
- discussion about project 3.
Week 3
Tuesday – 13 September
- RAT 1 – 1 page (2 sides) of notes. Basically the first 2 chapters of the textbook and the first few pages of the chapter on processes. Topics include: process definition, execution modes, PCB, context switching, operating system structure, types of multiprocessing systems, blade servers, VMWare, bootstrap program, caching, virtual memory definition, protection, system calls, direct memory access, Moore’s Law, Joy’s Law and others.
- Finish Group and Partner Tasks
- How much do musicians earn online
Thursday – 15 September
- No class – instructor in Austin
- Project 2 (Optional) due Friday 7 October (friendly reminder)
Week 4
Tuesday – 20 September
- Fast Paced Intro to GDB
- threads continued
- intro to semaphores
Thursday – 22 September
- discussion of project 3
- semaphores continued
Week 5
Tuesday – 27 September
- discussion of revised due dates
- semaphore worksheet
- semaphore discussion
- Fun semaphore puzzlers
- An alternative to semaphores. Shared Objects
Thursday – 29 September
Week 6
Tuesday – 4 October
- RAT 2: one sheet 8.5 x 11 of notes. Concurrency and Synchronization. Semaphore, mutex, monitor, Java Synchronized, Deadlock.
Thursday – 6 October
- Therac-25 NYT article There were 2 software problems- describe both (present psuedocode if possible). Describe larger issues (end-to-end consistency checks). What should they have done?- partner presentation:
- Therac-25 partner presentation:
- Programming With Threads partner presentation. This is a short paper. Present the info and give a demo or two.
Week 7
Tuesday – 11 October
- Talk on CPU- Schedulers – (pdf of slides)
- Mac OS X Grand Central Dispatch partner presentation. Start with this article on Ars Technica starting around p 11. Google for more info.
- Project 3 (User-Level Thread Lab) due on Monday 10 Oct.
Thursday – 13 October
- Inside the Windows 7 kernel (how Windows 7 manages threads). three to four person partner presentation. These videos may be helpful: Mark Russinovich: Inside Windows 7 and Arun Kishan: Farewell to the Windows Kernel Dispatcher Lock
Week 8
Tuesday – 18 October
- no class – Fall break
Thursday – 20 October
Week 9
Tuesday – 25 October
- memory
Thursday – 27 October
Week 10
Tuesday – 1 November
- Project 4: threadLab (due next week)
- partner presentation: Programming with threads. This is a short paper. Present the info and give a demo or two. Patrick and Stephen
- partner presentation: Grand Central Dispatch (start with this article on Ars Technica — starting around p11; Google for more info)
Project 2 (Optional) due midnight the Day of the Dead
Thursday – 3 November
- Greg Kroah Hartman on the Linux Kernel
- partner presentation (3 people): Inside the Windows 7 kernel (report on this video of Mark Russinovich and this video about the dispatcher lock) Joe, Sam and JoJo
Week 11
Tuesday – 8 November
- Thread lab submitted by Sunday gets 10% bonus.
- Final Exam v1 distributed. Turn in by 15 November for a 10% bonus. (ps, pdf, Microsoft Word format)
- partner presentation: Using Genetic Algorithms to Automatically Tune the Kernel Ashby & Ford
Thursday – 10 November
- partner presentation: scheduling for real-time systems (either Real-Time Linux Kernel Scheduler or the scheduling bit of pSOSystem System Concepts (pSOSystem is a very popular OS for embedded real-time systems) David, Amanda and Phillip
- 12 November – thread lab due
Week 12
Tuesday – 15 November
- Final Exam v2 distributed. Turn in by 23 November for a 10% bonus. (pdf, Microsoft Word format)
- Virtual memory and demand paging (PDF of slides)
- Memory Worksheet
Thursday – 17 November
- Note about thread lab: Your score is out of 160 possible. One team did additional testing and received some bonus XP. If your score ends in a 1 that means I could not replicate crashing the stack. If you send me a screenshot of your program printing “Mo-o-m! One of my siblings just crashed my stack!!!” and then seg faulting I will give you 20 additional XP.
Week 13
Tuesday – 22 November
- partner presentation: Google File System. Kaylee and Rebecca These resources may be helpful:
- Google File System, by Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung – Erin
- videos about Google and cluster computing (incl. lecture 3 on the Google File System)
- Blue Pill Exploit
- Joanna Rutkowska talk on her secure OS
Thursday – 24 November
- no class – Thanksgiving break
Week 14
Tuesday – 29 November
- Final Exam v3 (the final version) distributed. Turn in by 23 November for a 10% bonus. (pdf, Microsoft Word format)
- RAT #3:
- Chapters 7 & 8 – Main Memory and Virtual Memory
- one 8.5 x 11 double sided page of notes.
Thursday – 1 December
- finish virtual memory worksheet.
- peer evaluations
- presentation: Why Cryptosystems Fail: Matt Martin
- HPC (High Performance Computing)
Week 15
Tuesday – 6 December
- MPI examples used in class:
- PelicanHPC cluster software
- Video on installing PelicanHPC on Virtualbox
- Cluster OS presentation: MapReduce: Simplified Data Processing on Large Clusters (Dean and Ghemawat 2004): Franklin, John & Marlene
Thursday – 8 December