The InstantLab Project
In physics, and other natural sciences, experiments are the fundamental approach to obtaining new insights into the subject material and to cement the knowledge gained from the classroom. Experiments are used to test a hypothesis against the physical world, to gain experimental proof, or to investigate natural phenomena in order to postulate a theory. We believe the former approach to be appropriate and essential for teaching operating systems as well, i.e. teaching operating system concepts must include practical experiments to further investigate and understand the principle.
The nature of an operating system is however that it is the very basic software layer that runs on top of the computer hardware. This circumstance makes observing effects of operating system principles harder as there is no layer below the operating system that might intercept the particular event. Also, in order to run such an experiment, a user would need to boot a specific operating system, which is at best inconvenient and is expensive in terms of configuration overhead.
So far at the OSM group, we leverage virtual machine technology in order to simplify access to operating system experiments. We provide a set of pre-configured virtual machine images that can easily be executed on any platform a user is convenient with, provided that some virtual machine software is available for that system. This approach minimizes the impact on the user, but still requires configuration overhead both for faculty and students.
Within the InstantLab project, we plan to further simplify access to conducting operating system experiments. In order to provide an infrastructure for conducting these experiments, InstantLab leverages virtual machine imagines to provide pre-configured, self-contained instances of operating system experiments. Despite of running those virtual machine images on a local hardware like a laptop or desktop PC, InstantLab further extends this idea by using Cloud Computing platforms to host those experiments and conduct them via a Web browser. Another aspect of the project deals with the design, implementation, and evaluation of experiments based on Windows and Linux operating systems.
We will use the load caused by executing our experiments to further investigate research questions, such as Cloud interoperability, Cloud monitoring, and Cloud forecasting.