Please email Prof. Roy Campbell
if you are interested in working on any of the
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.
Explore the idea of building a virtual hypervisor based on
Virtual Choices. Essentially build a Virtual Choices VMI interface plus
page table mods.
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
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.