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
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
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
Week 8
Tuesday – 18 October
Thursday – 20 October
Week 9
Tuesday – 25 October
Thursday – 27 October
Week 10
Tuesday – 1 November
Project 2 (Optional) due midnight the Day of the Dead
Thursday – 3 November
Week 11
Tuesday – 8 November
Thursday – 10 November
Week 12
Tuesday – 15 November
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
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
Thursday – 8 December