OpenPatent #4

O.S.O.S. Ovetto Surprise Operating System Rev. 0.1.1 Licenza CC-BY-SA 3.0

OSOS è un progetto per un sistema operativo di virtualizzazione, ovvero una combo composta da un software di virtualizzazione e un sistema operativo minimale da utilizzare come base (host) per un sistema operativo di lavoro (guest). Lo scopo è fornire all’utente un sistema operativo di lavoro che possa sfruttare i vantaggi di un sistema virtualizzato, più ulteriori offerti dalle tecnologie cloud, senza pagare troppo pegno sul fronte delle prestazioni. L’avvio del software di virtualizzazione e la sua presenza devono essere praticamente invisibili all’utente che quindi si trova a lavorare su un OS host senza notare differenze rispetto allo stesso OS installato in maniera tradizionale sul PC.

Avvio del sistema

All’avvio del PC l’utente distinguerà le seguenti fasi:

  • Schermata BIOS e possibilità di editarne le opzioni (F2, Canc, ecc. a seconda).
  • Schermata bootloader (Grub o simili) e relative opzioni.
  • Schermata (testuale o grafica minimale) di avvio del sistema di virtualizzazione, per pochi secondi (tempo impostabile) appare la possibilità di editare le impostazioni del sistema host (sotto-menu testuale o con grafica minimale accessibile tramite tasto-funzione).
  • Se l’utente non accede alle opzioni dell’host questo si avvia in background (schermata nera rispetto all’utente o schermata “progress”) e poi lancia direttamente il sistema operativo guest.
  • Login da parte dell’utente nel sistema guest.

Sostanzialmente l’utente si trova ad avviare direttamente il sistema operativo virtuale (guest) senza accorgersi di nulla, il tempo di avvio si allunga leggermente e alle classiche schermate del boot process se ne aggiunge una che consente di accedere alle impostazioni del sistema operativo host.

Caratteristiche del sistema

Il sistema guest può sfruttare alcune comode funzionalità offerte dalla virtualizzazione quali:

  • Creazione di snapshot per un facile ripristino di sistema e backup.
  • Possibilità di spegnere il PC mettendo in pausa il sistema guest anziché arrestarlo per poter riprendere comodamente il lavoro da dove lo si è interrotto al successivo avvio.
  • Altro

Funzionalità cloud e sincronizzazione

Il nostro sistema operativo è virtualizzato quindi può essere salvato comodamente come unico file, questo aspetto ci suggerisce interessanti applicazioni cloud:

  • Backup della Virtual Machine su cloud storage e sincronizzazione.
  • La Virtual Machine salvata su cloud può essere scaricata e avviata su un altro PC con sistema OSOS oppure da software di virtualizzazione convenzionale.
  • La Virtual Machine salvata su cloud può essere avviata da un host cloud e l’utente può accedervi e lavorarci tramite Web Browser. Si può anche creare una web-app client per accedere a questo servizio da dispositivo mobile. Il vantaggio di questa soluzione è di poter lavorare sul proprio PC sincronizzato in mobilità e a prescindere dalla propria postazione fisica.

Criticità

Riflettiamo e condividiamo per vostri commenti i punti più critici da analizzare:

  • A patto di ottenere buone prestazioni generali, elencare tutti i vantaggi dell’avere un OS di lavoro virtuale piuttosto che residente. Abbiamo citato gli snapshot e la possibilità di mettere in pausa il sistema anziché spegnerlo. Vanno bene o presentano problemi? Ce ne sono altri da elencare? Quali sono gli utilizzi più interessanti degli snapshot ottenuti? Clonare la VM ad esempio?
  • Sul discorso cloud ci sono alcune criticità a partire dalla grandezza del file della VM esportata e quindi della lentezza dell’upload. Poi c’è da capire se per fare la sincronizzazione bisogna uploadare ogni volta tutta la VM o si riesce a gestire solo le modifiche rispetto al precedente upload per velocizzare le operazioni.
  • Sempre nell’ottica cloud c’è una considerazione da fare riguardo il sistema guest e i dati di lavoro (home). Forse sarebbe opportuno separare i dati dal sistema guest. Ovvero i dati su una cartella/partizione condivisa dell’host. Il sistema guest va sincronizzato in toto su cloud perché ci fornisce le applicazioni software che ci servono, ma i dati probabilmente non ci servono sempre tutti su cloud, potrebbero essere tanti e occupare troppo spazio. Dunque tenerli separati e gestire lato utente quali vogliamo caricare su cloud e quali posono tranquillamente rimanere nel PC fisico principale.
  • Confrontati con gli attuali OS basati sul web (ChromeOS, FirefoxOS, ecc.) un sistema come questo è competitivo nell’ottica cloud?

Stato del progetto: Bozza

Chiunque sia intenzionato a contribuire a sviluppare questa idea, darle corpo, verificare fattibilità, vantaggi e svantaggi, ecc. può contattarci all’indirizzo mail staff@linuxbird.org indicando come oggetto “OpenPatent #4″.

Il progetto è in ogni caso aperto e può essere adottato da chiunque senza consultarci (basta la citazione in rispetto alla licenza CC-BY-SA).