∗ Virtual Square (V 2) in Computer Science Education Renzo Davoli Michael Goldweber University of Bologna Xavier University [email protected] [email protected] ABSTRACT General Terms It is common to name as virtual the imaginary space that can Experimentation, Security, Performance be created by software using computers and networks. This space is not only a set of processing and communications Keywords means and methods but it is also a space where humans can “meet,” exchange ideas, leave messages etc. Students Teaching, Operating Systems, Networking, Administration, in computer science must learn how to design, implement, Virtual Machine, Security, Laboratory manage and debug the systems and networks that create this virtual space. Furthermore, CS students need an ex- 1. DEFINITION OF A VIRTUAL SQUARE perimental environment –a playground– where they can de- 2 velop their skills at creating and supporting these virtual (V ) SYSTEM 2 environments. A Virtual Square (V ) system [3] consists of virtual or em- For this “playground” we propose a virtual world made up ulated machines connected together by virtual or emulated of emulated computer systems and emulated networks. This networks. 2 emulated world will be the students’ testing environment, The basic characteristics of a V system are the following: where they can run their own services, administer their own machines and set up security attacks without any danger • Consistency of the emulation. The overall system should behave as a real system of computers and networks. to real networks and systems. It is a virtual space based 2 on virtual machines and virtual networks but it is also a The extra layer of virtuality introduced by V can re- meeting place for computer science students, where they can duce the performance of the system. All the virtual computers and networks behave as real computers and test the effectiveness of their ideas. 2 This “space” therefore is a twice virtual space, which we networks, albeit as slower devices. Naturally, V net- 2 call virtual to the second power or virtual squared (V ). It works are effective if the speed of the emulation and is a also virtual location (i.e. a town square) where different the processing and communication power of the under- real computers, virtual systems and people can meet and lying real distributed system are sufficient to preserve communicate. usability, in terms of responsiveness for the users. 2 • Possibility to integrate V systems and real systems; Categories and Subject Descriptors 2 or to keep V systems completely disjoint if needed. K.3.2 [Computers and Education]: Computer and In- The consistency of the emulation must therefore be at formation Science EducationComputer science education; the internal processing level. If so, it is then possible to C.2.5 [Computer Systems Organization]: Local and interoperate between real systems and virtual systems Wide-Area NetworksEthernet,Internet; D.4.6 [Operating and to forward, switch or route packets between vir- Systems]: Security and ProtectionAccess controls; D.4.4 tual networks and real networks. On the other hand, [Operating Systems]: Communications ManagementNet- there can be cases in which it is desirable to have dis- 2 work communication joint, non intercommunicating V systems, unable to ∗ This work was partially supported by the WebMinds FIRB exchange any data with real systems and networks. project of the Italian Ministry of University, Research and 2 Education • Safety. V virtual machines and networks must run as standard user programs, with no need for dangerous kernel modules or specific root-required configurations in the underlying host systems and networks. Clearly, 2 Permission to make digital or hard copies of all or part of this work for when V networks are interfaced with real infrastruc- personal or classroom use is granted without fee provided that copies are tures, the real systems on the boundary may need some not made or distributed for profit or commercial advantage and that copies root-required configuration. bear this notice and the full citation on the first page. To copy otherwise, to 2 republish, to post on servers or to redistribute to lists, requires prior specific There are two components to a V system; emulated hosts permission and/or a fee. ITiCSE'05, June 27–29, 2005, Monte de Caparica, Portugal. and emulated networks. There are several currently avail- Copyright 2005 ACM 1-59593-024-8/05/0006 ...$5.00. able free or open source technologies that can be used as 2 2 V emulated hosts. The only V emulated/virtual network- MPS/µMPS [10, 8]. MPS and µMPS were designed for 2 ing environment (VDE) was developed as part of the V educational purposes. Like Qemu, Bochs and PearPC, initiative. MPS/µMPS are complete virtual systems. MPS em- 2 V systems have several applications. For example they ulates a MIPS based computer (user-level, complete have been used in research areas as diverse as security, pri- processor virtualization). It is a workbench for com- vacy, mobility, and software development. This paper fo- puter science students to run their experimental oper- 2 cuses on V system applications in computer science educa- ating systems in a real-world consistent virtual com- tion. Interested readers are referred to the Virtual Square puter while stripping off unnecessary complexities. µMPS Project Home Page[3] for information about these other uses is a MMU-simplifed version of MPS designed to be 2 for V systems. more accessible for undergraduate operating system experimentation. Both projects provide network in- 2. V 2 EMULATED HOSTS terface support. Currently several different virtual machines can be used Ale4NET [2]. Application Level Environment for Net- V 2 as the nodes in a system. working (Ale4NET) has just been released in alpha User-Mode Linux (U-ML) [13]. This is a project that version. It is an I/O Virtualization only system: with realizes a complete system virtualization through sys- Ale4NET Unix processes (or groups of processes) can tem trapping. It is a set of patches for the linux kernel join a virtual network. Ale4NET provides neither pro- which defines a new virtual “um” hardware architec- cessor nor system emulation. Instead network calls are ture. A kernel for the “um” architecture is just an diverted to a Ale4NET daemon that gives a completely different perspective of the connectivity. Ale4NET can executable for the host computer which includes the 2 I/O virtualization routines as well as the kernel itself. be used as a bridge to enter a V system from a host Since it runs at user level it does not require any spe- machine at the user-level. In fact, unlike a tuntap cific kernel support from the host machine. Special based solution, Ale4NET virtualizes the network in- attention is given to both security concerns and per- stead of creating an OS accessible interface. There- formance; e.g. the number of threads is purposely kept fore, there is no need for root access to set up net- low and the address space of the emulated kernel is in- work connectivity. Ale4NET traps system call via the accessible by the emulated tasks. the dynamic library preloading technique. The libc interface routines to access system calls are overrid- Qemu [11]. Quoting its author’s web site: “Qemu is a den by Ale4NET functions that trap network accesses. FAST! processor emulation using dynamic translation Ale4NET is IPv4 and IPv6 compatible, including a sin- to achieve good emulation speed.” Qemu is able to gle hybrid stack able to run both families of protocols. run just as a processor or as a complete system virtu- alizer. Running different executables it is possible to 2 3. V VIRTUAL NETWORKS run single executables compiled for different processor 2 architectures in a Linux environment. Furthermore, it V is able to use several networking tools. is possible to start a virtual machine and boot an entire 1. VDE: Virtual Distributed Ethernet [5] This is the operating system. Qemu runs on a number of differ- primary glue for a Virtual Square solution/environment. ent hardware architectures allowing for the running of Based on the idea of virtual switches and virtual crossed i386, ppc, arm and sparc executables. Qemu also pro- cables, VDE is able to create virtual Ethernet compli- vides a virtual machine emulating i386 and ppc based ant distributed networks. VDE supports several kinds architectures. This project is very active with new 2 of V machines (User-Mode Linux, Qemu, Bochs, MPS/µMPS, ports and features announced on a daily base. Finally, Ale4NET) and can be interfaced to the single virtual Qemu runs at user-level and virtualizes completely the world through a tuntap interface or via slirp support. processor architecture. VDE runs at user level, (it needs root access only when Bochs [9]. Bochs is a historically important virtual ma- a tuntap interface is required). VDE can be used as chine project. Bochs runs on several host architectures a general tunnel, a VPN, a tool for mobility, or as a (Linux, MacOS 9/X, and Windows) where it is able way to create a closed encrypted distributed network. to create a complete system virtualization of an i386 Furthermore, it is network protocol transparent: any architecture. Bochs relies on standard emulation tech- protocol able to run on an Ethernet can be supported niques thus it is quite slow when compared to modern by VDE. virtual machines. Bochs runs at user-level and com- pletely virtualizes the processor architecture. 2. Tuntap kernel support Tuntap is a general virtual interface for the linux kernel. Quoting the linux kernel PearPC [7] This project is conceptually similar to Bochs documentation file: “tuntap provides packet reception but implements a PPC architecture instead of an i386 and transmission for user space programs.” It can be PC.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages5 Page
-
File Size-