Few systems support multiple architectural models for parallelism, message-passing systems, or distributed parallel programming environments. Therefore, many programs cannot easily be ported to different machines without substantial modification. The growing diversity of applications and the increasing sophistication of computer users require the development of more flexible operating systems. Choices is an object-oriented operating system that was built to encourage reuse by including mechanisms and support for inheritance and specialization.
Choices supports an application interface based on objects, inheritance, and polymorphism.
Using our approach, experiments have shown that operating-system customizations can improve performance of applications considerably. Users can select classes that are of interest from a browser to create custom-animated views of the compositional behavior of the dynamic instances of the classes in the running system. Initially, the class labels are placed arbitrarily on the display. The higher the communication between two classes, the thicker their connecting line. By using such visualizations during the trial execution of an application, the user may select appropriate operating-system customizations from various system libraries to improve performance.