Software Systems Spring 2008 For today you should have: 1) refined your semaphore problem and written it up By the end of today, you should: 1) check hw06 into your repository 2) check the final version of your project report, in good PDF, into your repository, along with any supporting files. Outline: 1) practice exam 2) course overview 3) project time Final exam: Friday 9 May, high noon. Topics ------ Latency and bandwith Processes and threads Virtual memory and address spaces Timesharing and scheduling algorithms Page replacement algorithms Queueing theory Memory management and garbage collection File system implementation / interface Database implementation and sorting I/O implementation and abstraction A little P2P Synchronization: puzzles and implementation Concepts -------- Latency lags bandwidth caching, replication, prediction The process/thread abstraction thread of execution + address space + abstracted I/O Scheduling (CPU, disk, etc.) Indirection OS as an interrupt handler OS as an abstraction provider OS as coordinator The hardware/software interface Interface stacks Skills ------ CS arithmetic Performance analysis: 1) measurement: 2) workload characterization: distribution of file sizes, etc. 3) modeling: lognormal and Pareto distributions 4) analysis: queueing theory 5) simulation: discrete event simulation 6) implementation: 7) verification: C programming in UNIX environment Thinking in sync Reading technical material and research papers. Writing technical material. Project-related skills (not killing teammates, etc.)