You should expect to get hands-on familiarity with | Illumos on x86 | Linux on x86 | ELF format | processes and kernels' process | data structrues | load/run time | virtual memory space layouts, | dynamic loading/ memory management & allocators | linking of | libraries design of kernel interfaces | | linking time OS and HW debugging support | | symbol tables DTrace | Kprobes | | SysTrace | | | DDK | LKMs | Your project should show mastery of one or more of these topics, and include some demonstrably working code that implements or instruments the corresponding kernel mechanism or feature. You can also pick a different topic, such as synchronization or scheduling. Start thinking about your project early, decide on your topic by the middle of the term, and presend your project to me by the end of the finals week. You can work on your projects alone or with a partner when the scope of effort needed warrants that (in other words, teams will be expected to pick and present a more complex project).