Overview
The goal of this assignment is to get each CSC 456 student to explore a particular topic in depth and write a survey on the topic. The surveys must be individual (i.e., written in your own words). The assignment will help develop your skills in exploring the literature, providing a critique (both the positive aspects and problems solved as well as the shortcomings and challenges remaining/emerging), and presenting your ideas in writing.
Below are some suggested topics, along with a few starting points. Please also use the readings and seminars from last year's schedule as possible topics. I emphasize that these are just starting points. Please feel free (and encouraged) to choose a topic outside of those listed below.
The survey paper will include a proposal, a rough draft, and a final draft. The proposal will briefly describe the topic for the survey paper and explain why the topic is of relevance to the course. The instructor will use the proposal to ensure that students have a good topic and can find sufficient sources for a good survey paper. The instsructor reserves the right to modify or reject a proposal; rejected proposals require the student to select a new topic.
The rough draft is a checkpoint to ensure that progress is being made. The final draft is the final draft due at the end of the semester and will comprise most of the grade.
You should provide accurate references to related work you mention in the survey. There is no specific requirement on the length of the survey, but I'd expect something with at least 2,000 words would be necessary for the level of coverage requested.
Operating System Provided Security
- Operating System access controls
- Compartmented Mode Workstation (CMW)
- Distributed Information Flow Control (DIFC) Systems
- Privilege Models
Operating System Exploitation and Defense
- Memory safety and control-flow integrity for system software
- Rootkits
- Operating Systems written in safe programming languages
- Formal verification of OS implementation
Operating System Synchronization
- TxLinux
Operating System Reliability
- Nooks
- Recovery Domains
Virtual Machines/Hypervisors
- Xen
- Hyper-V
- VMWare
Microkernels
- Mach
- L4
- Minix
Networking
- Network Filesystems
- Network Stack Implementat (Sockets, Streams, etc.)
- OS support for routers
Hardware Support for Operating Systems
- Faster Interrupt Dispatch Hardware
- MMU and Memory Protection
- Context Switching Features
- Atomic Instruction and Synchronization Support
User Interfaces
- Windowing system interfaces