Systems Research Group
Department of Computer Science
University of Illinois at Urbana-Champaign
  > Current
  > Future

Auth. Reqd

Please email Prof. Roy Campbell if you are interested in working on any of the following projects.
All projects require some basic knowledge of C++. Knowledge of how operating systems work will help speed up projects, but you can always learn as you work with us. Some of these projects are suitable for CS290 or CS490 individual studies courses at UIUC. Each project has some background reading, a report to write at the end, and some experiments. The projects are ideal for undergraduates wanting to try out research or for graduates who want to get some experience in systems research. Some of these projects are also suitable for a Masters Thesis.

Exception Handling for Virtual Choices
Integrate the exception handling support into Virtual Choices so that all events for Virtual Choices at the virtual choices/os boundary are handled through C+ exceptions.
Multi-threaded version of Virtual Choices
Modify Virtual Choices to allow multiprocessors and multiprocessing on multi-core machines.
Upgrade Pentium port of Choices
Upgrade the Pentium port of Choices to work with the new Choices distribution and new x86 architectures.
System Interface port to Virtual Choices
Add the new user/system interface Choices API to Virtual Choices so that Virtual Choices would then have user programs.
Virtual Machine Interface using SystemInterface work
Devise a VMI interface for Virtual Choices at the system interface level and convert Virtual Choices to use it.
Virtual Hypervisor
Explore the idea of building a virtual hypervisor based on Virtual Choices. Essentially build a Virtual Choices VMI interface plus page table mods.
Cellphone Applications
Build or port cell phone applications like calendaring, phone books etc. to Choices
UNIX Compatibility Library cleanup and upgrade
Modify the Choices UNIX Compatibility Library to work with the new Choices system interface API.
UNIX Compatibility Library Exception Handling
Modify the Choices Unix Compatibility Library to accept C++ exceptions coming from the Choices Kernel.
Choices LCD and keypad drivers for OMAP H2
Build a Choices driver for the display and keypad on the OMAP ARM boards
Networking support upgrade for Choices
Port the latest TCP/IP BSD stack to Choices, replacing the older version of TCP/IP with the latest and cleaning up the socket and other code to work elegantly.
Choices Ethernet Driver for OMAP H2 board
Build a Choices Ethernet device driver for OMAP ARM Choices.