Vai ai contenuti | Vai alle rubriche

via Borgognona, 38 - 00187 Roma Tel 06.69.98.81 - Fax 06.67.86.815 - numero verde: 800 682682 - Part. IVA 00989551007

VAI AGLI ARTICOLI


UICIECHI.IT: OTTOBRE 2007 - Numero 10.

Didattica con Sistemi Virtuali (liberi).

Pubbliredazionale.

Una gamma di strumenti open source per rendere più semplice la vita agli studenti di informatica.

ZEUS News.

http://www.zeusnews.it.

03-10-2007.

I piloti di aerei si allenano con simulatori di volo e possono cosi' accumulare esperienza e provare anche situazioni che sarebbero estremamente inconsuete o pericolose.

Anche nella didattica dell'informatica la presenza di macchine virtuali aiuta a poter avere una visione molto piu' ampia ed approfondita della materia.

Da anni collaboro con il collega Michael Goldweber della Xavier University di Cincinnati, e studiamo quali strumenti sia meglio utilizzare nella didattica dell'Informatica. Abbiamo messo a punto una gamma di strumenti, alcuni preesistenti, altri creati appositamente per colmare lacune.

In un recente articolo pubblicato negli atti del convegno "ITiCSE 2005 - Innovation and Technology in Computer Science Education", abbiamo passato in rassegna i vari corsi di un tipico corso di laurea in Informatica mostrando come la disponibilita' di macchine virtuali possa fornire numerose nuove prospettive.

Presento qui una sintesi delle argomentazioni proposte.

  • Architettura degli elaboratori: Qemu e' in grado di eseguire programmi per diverse architetture, lo studente puo' confrontare il codice assembler di diverse architetture MIPS, sparc, i386, powerpc, arm etc.
  • Sistemi Operativi. La macchina uMPS (realizzata all'Universita' di Bologna da Mauro Morsiani) consente agli studenti di poter creare da zero il kernel di un sistema operativo didattico. Per poter provare ad installare, configurare e mantenere un sistema operativo si puo' usare Qemu. Se poi si vogliono esaminare le differenze fra sistemi operativi e distribuzioni si puo' usare le immagini fornite gia' pronte e configurate dal progetto OSZOO (sempre di UniBO). E' possibile fare prove sulla portabilita' del codice, vedere la compatibilita' fra differenti API. Gli studenti operano quali amministratori delle macchine virtuali senza che questo possa costituire pericolo. Tra l'altro sono anche liberi di fare esperimenti, se qualcosa va storto e' sempre possibile ripartire dall'immagine "pulita" di partenza e riprovare.
  • Reti di Calcolatori. Tutte le macchine virtuali possono essere collegate fra loro da reti virtuali quali la Virtual Distributed Ethernet (VDE, creata a UniBO). Gli studenti cosi' provano la configurazione della rete, possono scrivere la propria implementazione di protocolli e provarla, possono anche creare infrastrutture complesse con router, switch e provare il funzionamento emulando guasti e malfunzionamenti.
  • Applicazioni su rete: e' possibile per gli studenti installare o configurare servizi di rete usando macchine User-Mode Linux (o anche Qemu ma in questo caso e' meno efficiente). Usando VDE gli studenti possono estendere le reti con i servizi virtuali e accedere ad esse anche da casa costruendo cosi' una Internet didattica, in tutto e per tutto coerente nei servizi e nei protocolli con quella reale. In questo microcosmo possono fare esperimenti senza poter creare brecce all'infrastruttura di sicurezza della rete universitaria.
  • Sicurezza dei sistemi e delle reti. Su sistemi virtuali possono essere provati virus e vermi (worm) senza alcun pericolo. Gli studenti possono poi giocare a "guardie e ladri" tentando vicendevolmente di trovare e forzare i problemi di sicurezza delle macchine virtuali degli altri studenti.

L'uso di sistemi virtuali amplia gli orizzonti consentendo una gamma molto vasta di esperimenti esattamente come i simulatori di volo per i piloti. Avere molteplici ambienti operativi reali e reti sperimentali reali richiede un alto investimento in termini di hardware e di apporto tecnico per la manutenzione quotidiana e il mantenimento degli standard di sicurezza. Con le macchine virtuali l'investimento in hardware e la richiesta di supporto tecnico vengono drasticamente ridotti.

Sull'efficacia del metodo didattico dovreste chiedere ai nostri studenti, posso pero' citare l'esempio di Andrea Arcangeli che e' stato mio (brillante) studente all'Universita' di Bologna e ha studiato la struttura del kernel con le nostre macchine virtuali (allora usavamo chip/hoca).

Valutate quindi l'uso di macchine virtuale nella didattica o nella vostra sperimentazione personale. Se poi volete perfezionare la vostra conoscenza del software libero e completare il vostro curriculum con un titolo specifico, potete iscrivervi al Master in Tecnologia del Software Libero e Open Source.

E' un master per informatici che desiderano specializzarsi nella progettazione e realizzazione di progetti di software libero. E' multidisciplinare, oltre ai corsi di informatica sono presenti corsi di diritto, per capire e gestire correttamente le licenze, e di economia.

Renzo Davoli, direttore del Master in Tecnologia del Software Libero e Open Source

Pubbliredazionale.