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

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

  • no class – Fall break

Thursday – 20 October

Week 9

Tuesday – 25 October

  • memory

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. (pdfMicrosoft 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

Week 15

Tuesday – 6 December

Thursday – 8 December