The SOFTICE project (Scalable, Open source, Fully Transparent and Inexpensive Clustering for Education) aims at leveraging Linux virtualization (e.g. User Mode Linux) and clustering technologies to support innovative pedagogies for undergraduate laboratories in courses such as Operating Systems and Networking.
Beyond making available course material in these courses, we also provide documentation and software to help educational institutions hosts their students' virtual machines on an inexpensive, scalable and non-intrusive infrastructure. Several solutions to manage, with minimal efforts, virtual machines dynamically spread over a load-balancing cluster are proposed. Each of them operates transparently relatively to the hosting network without need to change anything on the current classroom PCs since access will be possible from Linux, Unix or Windows workstations alike.
This material was hosted until about 2010 on the http://softice.lakeland.usf.edu/ wiki.
After the transfer of the USF IT department, the virtual appliance hosting it was no longer available. This page provides access to the most important material produced during the grant. Transfering the material back to this format is an ongoing project in itself. If you need access to some of the old wiki material, please email the PI at firstname.lastname@example.org or use the wayback machine to look for the older wiki archives.
Keep also in mind that, due to the advances in virtualization and cloud computing which emerged since this grant, most of our innovations are now main stream.
The following is a work in progress as we transition the material from the old wiki into this new website. You may find the original SOFTICE wiki pages archived in the wayback machine
This page provides pedagogical material for undergraduate Operating Systems Concepts 3 credits courses. Such courses are meant as a introduction to the algorithms, concepts, techniques and internals of operating systems. They are taught at USF as COP 4600 (CS version) and COP 4610 (IT version).
This page will host two types of resources for instructors and students:
You will notice that there are two approaches to using these labs in an operating system course. We recommend for students and instructors to use the first one presented below. It allows students to work on their own machine after downloading a VMware appliance. The alternative requires the instructor to set up a server for students to work on. In addition to the convenience of working on their own system, the former solution uses a newer kernel version.
Please contact Alessio if you are interested in adopting / adapting this material for your own courses or if you have questions not addressed on these wiki pages.
The rationale for using a case study assignment in an operating system course has been discussed in one of our publication (The case for case study assignments in undergraduate OS courses, A. Gaspar, S. Langevin, EIAE 2006) available on our EDU Research tab. The following page OSC: Case Study Assignment provides hands-out for students and instructions to organize such an assignment in your own operating system course.
This page documents the SOFTICE's OSC laboratories. These are meant to be used as 1 credit (roughly 3hrs/ week sessions) complement a 3 credits undergraduate course in Operating Systems Concepts (e.g. COP 4600). The laboratories are meant to be ran in parallel with the course, however they can be used as open / closed labs or even assignments in a lecture-only setting. Wiki pages below will detail how to use, prepare for these labs a well as provide further technical or pedagogical pointers.
You can work on these labs in two different ways;
This section discusses the latter possibility. It allows students to work on the OS Labs without the need for a Linux server hosting our material. This should be a good solution for independent learners or instructors not interested in hosting their students' VMs on a server. The VMware image runs on Windows or Linux PCs. Follow this link for a download link and step by step setup instructions.
For Instructors: Notes on the pedagogy used in the OSC labs For Students: Working on your own PC with the SOFTICE VMware OS Labs Image References for OSC course related to Operating Systems Indexed source code for the 220.127.116.11 Linux kernel source (Original LXR)
You will notice that this list of labs is shorter than the one originally developed for the grant. The labs that were removed are being worked on to be adapted to the newer kernel version (18.104.22.168 vs. 22.214.171.124) used by the SOFTICE OS-Labs virtual appliance compared to the User Mode Linux (UML) virtual machines students used on our server.
Update -- As of 11/16/2008, the above labs are being re-edited on the wiki to reflect the modifications required by our move to the new virtual appliance approach. These should be finalized before the next term. In the meantime the old labs are available below. Alessio 16:38, 16 November 2008 (EST)
This section contains the original laboratories which were developed in the SOFTICE grant. They require you to set up a SOFTICE server to which students will connect to run User Mode Linux (UML) virtual machines as described in the labs below. For Instructors: Notes on the pedagogy used in the OSC labs Instructions on Setting up the OSC labs on your own Linux box For Students: Accessing SOFTICE from home: step-by-step guide on using softice from home References for OSC course related to Operating Systems Downloads for OSC course for debian ISO images, ssh clients... Indexed source code for the 126.96.36.199 Linux kernel source (Original LXR)
The original SOFTICE wiki page may be found at wayback archived SOFTICE wiki page
Please contact Dr. William Armitage, lead developer for these labs, if you need access or any information; email@example.com.
These are the various faculty who managed the SOFTICE grant. Do not hesitate to get in touch with them individually with any questions about the labs they developed or the papers they are listed on.
This material is based in part upon work supported by the National Science Foundation under award number DUE ATE 0410696. Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.