What is Choices?
Choices is written as an object-oriented operating system in C++. As an object-oriented
operating system, its architecture is organized into frameworks of objects that are hierarchically classified by function and
performance. The operating system is customized by replacing subframeworks and objects. The application interface is a collection
of kernel objects exported through the application/kernel protection layer. Kernel and application objects are examined through
application browsers. Choices runs on bare hardware on desktop computers, distributed and parallel computers, and small mobile
devices. Choices is supported on the SPARC, x86 and
ARM processor architectures. Virtual Choices
(VChoices) also runs under UNIX System V and
Linux.
News & Updates
Thu Jul 12 15:04:40 CDT 2007 - Francis David <fdavid at uiuc.edu>
Francis' paper,
Building a Self-Healing Operating System and Lin's
paper,
iKernel: Isolating Buggy and Malicious Device Drivers Using Hardware Virtualization Support,
have been accepted for publication in the proceedings of the 3rd IEEE International Symposium on
Dependable, Autonomic and Secure Computing (DASC'07)
Thu Apr 26 15:08:34 CDT 2007 - Francis David <fdavid at uiuc.edu>
Jeff's paper,
Back in a Flash! - Fast Recovery using Non-Volatile Memory and Francis'
paper,
Transparent Recovery from Operating System Errors, will be
published in a supplemental volume to the proceedings of the conference on Dependable Systems and Networks, 2007.
Tue Apr 3 13:58:29 CDT 2007 - Francis David <fdavid at uiuc.edu>
Philip's report on
A Hypervisor for Embedded Computing has
been published in the Illinois Journal of Undergraduate Research.
Fri Mar 30 08:55:48 CDT 2007 - Francis David <fdavid at uiuc.edu>
Our paper,
Improving Dependability by Revisiting Operating System Design, has been accepted for
publication in the proceedings of
the 2007 Workshop on Hot Topics in Dependability to be held in Edinburgh, UK in June.
Wed Mar 28 20:38:14 CDT 2007 - Francis David <fdavid at uiuc.edu>
Our paper,
Context Switching Overheads for Linux on ARM Platforms, has been accepted for
publication in the proceedings of
the 2007 Workshop on Experimental Computer Science to be held in San Diego, CA in June.
Mon Mar 12 08:51:10 CDT 2007 - Francis David <fdavid at uiuc.edu>
Our paper,
Exploring Recovery from Operating System Lockups, has been accepted for publication in the proceedings of
the 2007 USENIX Annual Technical Conference to be held in Santa Clara, CA in June.
Mon Feb 19 09:36:58 CST 2007 - Francis David <fdavid at uiuc.edu>
Choices is being used in four
CS523 class projects
this semester, exploring virtualization, object oriented filesystem APIs, ethernet drivers, and recoverable driver frameworks.
The x86 port of Choices has been revived by Assadollah Gharighi and is being used for the virtualization project.
Wed Sep 6 15:55:30 CDT 2006 - Francis David <fdavid at uiuc.edu>
The latest Choices code is now available on the
downloads page. A new graduate
student, Chang Young Jung has joined our team this semester. He will be working on Choices and Virtualization.
Mon Jul 24 15:38:56 CDT 2006 - Francis David <fdavid at uiuc.edu>
Our virtualization research has been funded with a 3-year grant from Motorola through the university's
Motorola Center for Communication.
We also thank DoCoMo for continuing to sponsor our research on cellphone operating systems.
We have an opening for a systems graduate student RA in Fall 06 to continue our virtualization research in collaboration
with Motorola. Please contact Professor Campbell if you are interested.
Thu Jun 1 08:34:46 CDT 2006 - Francis David <fdavid at uiuc.edu>
We are looking for people to work on small projects over the summer and during the fall semester. If you are interested
please check out our
Future Projects page.
Sat Apr 22 10:00:00 CDT 2006 - Francis David <fdavid at uiuc.edu>
Our paper titled
Exception Handling in the Choices Operating System
has been accepted for publication in a volume of the Springer Verlag Lecture Notes in Computer Science.
Tue Feb 14 10:14:15 CST 2006 - Francis David <fdavid at uiuc.edu>
Choices is being used in three
CS523 class projects this semester.
The projects are a redesigned SystemInterface, a Choices based hypervisor for virtual machines, and virtual memory based code
isolation within Choices.
If you have questions or comments, please send them to Professor Roy Campbell / roy@cs.uiuc.edu