-
Macchine Virtuali
- Cos'è una macchina virtuale
- Vantaggi e Svantaggi delle macchine virtuali
- Creazione di una macchina virtuale Linux
- Configurazione avanzata di una macchina virtuale
- Avvio della macchina virtuale Linux
- Installazione delle Guest Additions per Linux
- Installare una macchina virtuale Windows
- Installazione delle Guest Additions per Windows
-
S.O. Linux e Windows
-
Windows
-
Prompt Dei Comandi
-
Funzionalità avanzate
Macchine Virtuali
Cos'è una Macchina Virtuale
Una macchina virtuale è un programma in grado di emulare un computer, consentendo di eseguire e installare
sistemi operativi e applicazioni in un ambiente virtuale separato dalla macchina host che lo ospita.
Esistono molti programmi per realizzare macchine virtuali, come, Hyper-V, VMware o VirtualBox, In questo
caso ci contrenceremo su quest'ultima.
VirtualBox è un programma Open Source sviluppato da Oracle e distribuito sotto la licenza GPL (GNU General
Public License), pertanto può essere utilizzato sia per scopi personali che professionali.
Il programma di Oracle è disponibile per la maggior parte dei sistemi operativi in circolazione: Windows,
MacOS, Linux.
VirtualBox offre un'ampia gamma di funzionalità, ma è anche in grado di intregare con altri strumenti
esterni, come ad esempio Vagrant: Strumento Open Source che consente di creare, configurare e distribuire
facilmente macchine virtuali in modo automatizzato, è particolarmente utile per chi lavora in team.
Vantaggi e Svantaggi delle Macchine Virtuali
Principalmente i vantaggi delle Macchine Virtuali si possono racchiudere in questi punti:
- Isolamento: le macchine virtuali offrono un ambiente separato dal sistema operativo host, il che può essere utile per proteggere il sistema operativo host da eventuali problemi o modifiche apportate al sistema operativo ospite.
- Utilizzo di sistemi operativi diversi: le macchine virtuali consentono di eseguire sistemi operativi diversi sullo stesso computer fisico, il che può essere utile per eseguire software che funziona solo su determinate versioni di sistemi operativi o per testare software su diverse piattaforme.
- Efficienza delle risorse: le macchine virtuali consentono di utilizzare al meglio le risorse del computer fisico, poiché ogni macchina virtuale ha solo le risorse di cui ha bisogno per funzionare, senza sprechi.
- Facilità di creazione, distruzione e modifica: le macchine virtuali possono essere create, distrutte e modificate facilmente, il che le rende ideali per l'esecuzione di attività di testing o per la creazione di ambienti di sviluppo sicuri e controllati.
Tuttavia, ci sono anche alcuni svantaggi nell'utilizzo delle macchine virtuali:
- Risorse necessarie: le macchine virtuali richiedono risorse del computer fisico per funzionare, il che può causare una riduzione delle prestazioni del sistema operativo host o della macchina virtuale, a seconda delle risorse assegnate.
- Costo del software: alcuni programmi di emulazione di macchine virtuali, come ad esempio VMware, possono essere costosi e richiedere l'acquisto di licenze per l'utilizzo a scopi commerciali.
- Compatibilità hardware: alcuni hardware, come ad esempio le schede grafiche ad alte prestazioni o le periferiche di input come i joystick, potrebbero non essere supportati o essere molto complicate da far funzionare
- Sicurezza: se una macchina virtuale viene compromessa, ciò può potenzialmente mettere a rischio il sistema operativo host. È quindi importante mantenere il sistema operativo ospite e le applicazioni installate all'interno della macchina virtuale aggiornati e sicuri.
Creazione di una Macchina Virtuale Linux
Prendiamo in esempio Ubuntu, una distribuzione di Linux basata su Debian.
Prima della creazione della macchina virtuale dobbiamo procurarci il file ISO del sistema operativo: un tipo
di file immagine disco che contiene un'immagine esatta di un disco ottico, come ad esempio un CD o un DVD,
spesso utilizzati per distribuire software o sistemi operativi e per creare backup di dischi ottici.
per scaricare il file ISO di Ubuntu dobbiamo andare sul suo sito, nella sezione download.
Una volta in possesso del file ISO si può iniziare con la creazione della macchina virtuale:
Dalle varie versioni del programma per i diversi sistemi operativi le differenze si fermano solo alla parte
grafica.
-
Inizia la creazione di una nuova macchina virtuale andando su "nuova" e successivamente passa alla
modalità esperta con l'apposito sulsante.
-
Nella prima sezione è possibile configurare le informazioni generali della macchina virtuale come il
nome, la posizione, il file iso e altre informazioni relative al sistema operativo.
-
Escludendo la sezione d'installazione non supervisionata, che consente semplicemente di evitare la parte
iniziale di configurazione e installazione del sistema operativo, passiamo alla sezione dell'hardware,
nella quale ci è possibile configurare il quantitativo di RAM e di CORE da dedicare alla nostra macchina
virtuale. La scelta della quantità di risorse da dedicare è basata sulle necessità della macchina
virtuale e sull'hardware dell'host. Solitamente una distribuzione linux non ha mai bisogno di un grande
quantitativo di risorse per funzionare.
-
In quest'ultima sezione è possibile configurare il disco fisso della macchina virtuale, scegliendo la
posizione (solitamente impostata di default nella cartella della macchina virtuale), la dimensione e la
tipologia di file.
La dimensione del disco è anch esso da basarsi sui requisiti della macchina virtuale, per ubuntu è consigliato avere almeno 25GB di archiviazione.
La scelta della tipologia di file è da basarsi sulle esigenze, se non abbiamo interesse nel utilizzare questa macchina con altri sistemi di virtualizzazione allora possiamo accontentarci del formato VDI, altrimenti se siamo interessati a poter avviare la macchina virtuale con un altro programma è necessario scegliere un formato del file come VMDK.
Pre-allocare la dimensione intera del file consente di avere velocità maggiori, anche se non veramente importanti, nella lettura e scrittura del disco, ma appena realizzata la macchina verrà immediatamente creato un file della dimensione prestabilita occupando tutto lo spazio e impiegherà diverso tempo nella sua creazione. - Completata la configurazione si può concludere con "fine".
Configurazione avanzata di una Macchina Virtuale
Conclusa la creazione della macchina virtuale è possibile modificare diverse impostazioni più avanzate
andando nella sezione impostazioni con il pulsante apposito:
È inoltre possibile modificare tutte le impostazioni precedentemente impostate, a eccezione dei dischi, che
una volta creati non sono ridimensionabili.
una parte di queste impostazioni per funzionare hanno bisogno delle Guest Addition che verranno trattate più
avanti.
-
Archiviazione
In questa sezione è possibile modificare i dischi della Macchina Virtuale, creandoli, aggiungendoli o modificandone la priorità.
-
Rete
In questa sezione è possibile Configurare la connessione alla rete della Macchina Virtuale, consentendo di modificare la tipologia di scheda di rete, come una scheda con bridge: in grado di emulare una vera scheda, facendo sembrare la connessione una vera connessione identica a quella dell'host.
Nella sezione "avanzate" è inoltre possibile modificare altre informazioni come l'indirizzo MAC.
-
USB
Con questa sezione è possibile far vedere alla Macchina Virtuale, un USB connessa all'host come se fosse direttamente connessa alla macchina ospite.
-
Cartelle Condivise
Con questa sezione è possibile Configurare delle cartelle che siano in condivisione tra l'host e la macchina ospite, consentendo il passaggio di file in modo semplice.
Avvio della Macchina Virtuale
Conclusa la configurazione è possibile avviare la macchina virtuale con il pulsante "Avvia", è anche possibile scegliere diverse opzioni di avvio: avvio senza finestra e avvio sganciabile, il primo avvierà la macchina senza la finestra, il secondo invece avvierà la macchina normalmente ma darà la possibilità di chiudere la finestra senza terminare il processo della macchina virtuale.
Una volta avviata la macchina ci troveremo davanti a questa schermata, nella quale ci viene chiesta va lingua e se provare o installare direttamente il sistema operativo.

La selezione della lingua è una scelta personale, l'unica differenza che potrebbe dare complicazioni è che il nome delle cartelle del sistema verrà influenzato dalla lingua, quindi la cartella Desktop non si chiamerà in questo modo ma verrà chiamata Scrivania.
La prova del sistema operativo in questo caso non è importante, RItorna utile nel momento in cui si installa veramente il sistema operativo su un computer. In questo caso è buona cosa provare prima il sistema operativo sull'hardware prima di procedere a installarlo, perché non è scontato che il sistema operativo funzioni senza problemi su tutti gli hardware in circolazione. Si potrebbero riscontrare errori per esempio di mancanza di driver.
-
Layout della tastiera
In questa sezione viene chiesto di selezionare il Layout della tastiera, quindi italiana.
-
Aggiornamenti e Software aggiuntivo
In questa sezione è possibile scegliere se installare dei programmi aggiuntivi o il sistema operativo di base. In oltre è anche possibile segliere se installare gli aggiornamenti durante l'installazione e se installare driver e formati media aggiuntivi di terze parti.
-
Tipo di Installazione
In questa sezione è possibile scegliere il tipo d'installazione e la posizione in cui installare il sistema operativo, è possibile scegliere di formattare completamente il disco per poi installarci il sistema operativo, installarlo affianco a un altro sistema operativo (opzione visibile solo se effettivamente esiste già un altro sistema operativo) o altrimenti partizionare manualmente il disco. È possibile proseguire con un partizionamento automantico, in tal caso è possibile saltare tutta la parte di partizionamento manuale.
-
Partizionamento Manuale
-
Creazione della tabella delle partizioni
Come prima cosa bisogna preparare il disco per poter essere partizionato creando la tabella delle partizioni con il pulsante "Partition Table".
-
Memoria Swap
Cliccando sul pulsante con il simbolo "+" è necessario creare uno spazio per la memoria Swap: uno spazio del disco riservato a sorreggere la RAM contenendone una parte dei dati in modo da poterla svuotare.
Solitamente è consigliato impostare più o meno il doppio della dimensione della RAM per la Swap.
Per farlo basta scrivere la dimensione in MB e selezionare come uso: "Swap Area". -
Partizione Root
Questa partizione contiene tutto il sistema operativo e i file che servono per avviarlo.
Per realizzarla è necessario creare una nuova partizione logica con punto di mount "/". -
-
-
Fuso Orario
In questa sezione viene richiesto di specificare la propria area geografica, per poter avere la data e l'ora sincronizzata con il fuso orario.
-
Impostazioni Finali
Come ultime impostazioni è necessario impostare il proprio nome, cognome, il nome del computer e la password.
Il login automatico, se attivato, non richiede la password nel momento in cui si avvia il dispositivo, saltando quella parte.
L'Active Directory è un sistema di Microsoft che consente di gestire gli utenti, i gruppi, le stampanti e altre risorse presenti all'interno della rete. Ubuntu è in grado di collegarsi ad Active Directory se è installato "Samba".
Installazione delle Guest Additions per Linux
Le Guest Additions di VirtualBox sono un insieme di funzionalità che facilitano l'utilizzo delle macchine virtuali, sono disponibili per Linux, MacOS e Windows e l'installazione è molto semplice.
Prima di procedere all'installazione è necessario inserire il disco con tutti i file necessari, per poterlo
fare è sufficente, dalla sezione in alto chiamata dispositivi, selezionare la voce: "Inserisci l'immagine
del CD delle Guest Additions".
A questo punto il sistema operativo vedrà un disco inserito, sarà sufficente aprirlo cliccandoci sopra.
Come ultimo passo sarà sufficente cliccare con il tasto destro sul file "autorun.sh" e selezionare l'opzione
"Run as a program".
a questo punto sarà sufficente attendere il completamento dell'installazione.

Al riavvio della macchina le Guest Additions inizieranno a funzionare impostando correttamente la risoluzione in base alla dimensione della scheda, se non funziona immediatamente è necessario ridimensionare la scheda.
Installazione Macchina virtuale Windows
Anche per questa macchina virtuale sarà necessario procurarsi l'immagine iso. Nel nostro caso utilizzeremo un'immagine di windows 10, è reperibile tramite il tool di windows che si trova facilmente online.
Una volta in possesso dell'immagine iso basterà creare una macchina virtuale nello stesso identico modo che abbiamo usato per linux. Al contrario di linux, windows ha bisogno di più ram e più spazio di archiviazione, è conveniente usare 4 GB di ram e 50 GB o più di archiviazione.
Una volta avviata la macchina virtuale ci troveremo d'avanti l'interfaccia d'installazione di Windows che ci chiederà d'installare il sistema operativo, Basterà procedere seguendo quello che dice.
-
Attivazione Di Windows
Una volta avviata la procedura d'installazione ci verrà chiesto d'inserire un codice product key, da aquistare sul sito di Microsoft. In alternativa è possibile reperirlo tramite un account student di Azure o saltare questo passaggio cliccando su "Non ho un Codice".
-
Selezione sistema operativo
In questa sezione viene chiesto di selezionare quale sistema operativo andare a scaricare, le differenze tra le diverse versioni sono molto poche. Le versioni che terminano con "N" non includono delle funzionalità multimediali incluse nelle altre versioni.
Nel nostro caso utilizzeremo windows 10 pro. -
Posizione dell'installazione di windows
Una volta scelta l'installazione personalizzata di windows verrà richiesta la posizione nella quale installare il sistema operativo, sarà sufficente selezionare il disco interessato e procedere con l'installazione.
-
Ultime Configurazioni
Una volta conclusa l'installazione ci verrà chiesto di completare alcune configurazioni molto simili a quelle per linux, in ogni caso basta affidarsi al sistema operativo, che ci guiderà fino alla fine.
Installazione delle Guest Additions per Windows
Similmente a quanto fatto per installare le Guest Additions su Linux, sarà sufficiente aggiungere il disco alla macchina virtuale tramite la sezione dispositivi e avviare l'installer che contiene.

S.O. Linux e Windows
Principali differenze tra i due sistemi operativi
Linux e Windows sono due sistemi operativi completamente differenti, ma le differenze maggiori si possono racchiudere in questi punti:
- Proprietario vs. Open Source: Windows è un sistema operativo proprietario sviluppato e commercializzato da Microsoft. Linux, d'altra parte, è un sistema operativo open source, il che significa che il codice sorgente è disponibile per chiunque e può essere modificato e distribuito liberamente.
- Interfaccia utente: Windows ha un'interfaccia utente basata su finestre con un menu Start e una barra delle applicazioni. Linux ha diverse opzioni per l'interfaccia utente, come GNOME, KDE e Unity, che possono variare significativamente nell'aspetto e nella funzionalità.
- Tipo di piattaforma: Windows è principalmente destinato ai personal computer, mentre Linux è ampiamente utilizzato sui server, sui dispositivi mobili e sui sistemi embedded. Tuttavia, Linux può anche essere utilizzato sui personal computer e ci sono molte distribuzioni Linux progettate specificamente per questo scopo.
- Supporto: Uno dei punti più importanti di Linux è la comunity, Microsoft fornisce supporto tecnico a pagamento per Windows, mentre Linux ha una comunità globale di utenti e sviluppatori che forniscono supporto attraverso forum e altre risorse online.
- Prezzo: Windows è un prodotto commerciale e deve essere acquistato. Linux, d'altra parte, è gratuito e può essere scaricato e utilizzato liberamente per qualunque scopo.
Windows
Installazione dei programmi essenziali
Su Windows sono già presenti molti programmi installati di default, ma per quello che vogliamo fare ritorna utile avere a disposizione più programmi, per questo installeremo i seguenti programmi:
-
Installazione di CodeBlocks
CodeBlocks è un programma Open Source in grado di scrivere, compilare ed eseguire codice in differenti linguaggi e per differenti piattaforme.
Per installarlo dobbiamo scaricare l'installer dal sito ufficiale, nella sezione download.
Proseguendo in "Download the binary relase" è importante scegliere la versione con il setup di mingw, programma fondamentale per la compilazione del codice.Una volta scaricato l'installer sarà sufficente avviarlo per proseguire l'installazione.
-
Installazione di JetBrains ToolBox
Toolbox è un programma di JetBrains con l'obbiettivo d'installare e gestire tutti i programmi dell'azienda, numerosi IDE di programmazione per molti linguaggi differenti.
L'installer è scaricabile dal sito di JetBrains, anche questo programma è disponibile per più piattaforme.
Una volta recuperato l'installer sarà sufficente anceh questa volta avviarlo e completare l'installazione cliccando sul pulsante "avanti".
-
Installazione di WebStorm con ToolBox
Uno degli strumenti di JetBrains è un ide per HTML, CSS e tutto ciò che puù essere utile per lo sviluppo web.
Per scaricare questo programma sarà sufficente, tramite ToolBox, ricercarlo e cliccare sul pulsante.
Una volta avviata l'installazione sarà sufficente aspettarne il completamento.
Aggiunta di MinGW alle variabili d'ambiente
MinGW, programma per la compilazione per processori x86 a 32 bit, è il porting di GCC per Windows, l'abbiamo
installato con CodeBlocks.
Nel momento in cui volessimo compilare un codice tramite CodeBlocks non ci sarebbero problemi, ma se al
contrario volessimo compilare un codice nel resto del sistema operativo non potremo farlo in quanto non
troverebbe MinGW, questo problema è risolvibile aggiungendo il percorso di MinGW alle variabili d'ambiente.
Come prima cosa sarà necessario trovare la posizione di MinGW, se non è stato cambiato nell'installazione
sarà il seguente:
C:\Program Files\CodeBlocks\MinGW\bin
Ottenuto il percorso dovremo aggiungerlo alle variabili d'ambiente, per fare ciò sarà sufficiente cercare "variabili" nella barra di ricerca di Windows.

Quindi, servirà cliccare sul pulsante "variabili d'ambiente" e poi aggiungere il percorso precedente modificando la variabile "PATH" e aggiungendole il percorso precedente.

Prompt Dei Comandi
Il prompt dei comandi è un'utility del sistema operativo Windows che fornisce un'interfaccia a riga di
comando per l'esecuzione di comandi e l'esecuzione di script.
Il prompt dei comandi viene solitamente visualizzato come una finestra con una riga di testo dove l'utente
può inserire i comandi. Una volta inserito il comando, premendo il tasto Invio viene eseguito.
Il prompt dei comandi di Windows è uno strumento molto potente e può essere utilizzato per eseguire una
varietà di compiti, come la gestione dei file e delle cartelle, la configurazione delle impostazioni di
sistema e la risoluzione dei problemi.
Per aprire il prompt dei comandi in Windows, è possibile fare clic su Start, quindi digitare "prompt dei
comandi" nella casella di ricerca e selezionare il risultato "Prompt dei comandi" dai risultati della
ricerca. Alternativamente, è possibile utilizzare il tasto Windows+R per aprire la finestra Esegui, quindi
digitare "cmd" e premere Invio.
Differenze tra Shell e Prompt
- Interfaccia utente: il prompt dei comandi di Windows ha un'interfaccia a riga di comando, mentre la shell di Linux può avere diverse interfacce a riga di comando, come Bash, Zsh e tcsh.
- Comandi disponibili: il prompt dei comandi di Windows e la shell di Linux hanno comandi simili, ma non sempre identici. Ad esempio, il comando "dir" è disponibile nel prompt dei comandi di Windows per elencare i file in una cartella, mentre in Linux si usa il comando "ls".
- Gestione dei permessi: nel sistema operativo Windows, i permessi di file e cartelle sono gestiti in modo diverso rispetto a Linux. In Linux, esistono proprietari dei file e livelli di accesso che determinano chi può leggere, scrivere o eseguire un file. Nel sistema operativo Windows, i permessi sono gestiti attraverso gli utenti e i gruppi di utenti.
- Gestione delle applicazioni: il sistema operativo Windows gestisce le applicazioni in modo diverso rispetto a Linux. In Windows, le applicazioni vengono installate in modo tradizionale, con un programma d'installazione che copia i file necessari nella cartella di sistema appropriata. In Linux, le applicazioni vengono spesso installate attraverso il gestore dei pacchetti del sistema operativo, che scarica e installa automaticamente i file necessari.
- Architettura: il sistema operativo Windows è progettato per essere utilizzato su architetture x86, mentre Linux può essere utilizzato su diverse architetture, come x86, ARM e PowerPC.
Comandi Principali
Come per la Shell di Linux, i comandi esistenti sono innumerevoli ma possiamo indicare questi come i principali:
- "dir": elenca i file e le cartelle presenti in una cartella.
- "cd": cambia la cartella corrente.
- "md": crea una nuova cartella.
- "rd": elimina una cartella.
- "type": visualizza il contenuto di un file di testo.
- "copy": copia un file o una cartella in un'altra posizione.
- "xcopy": copia un file o una cartella, inclusi sottocartelle e file nascosti.
- "del": elimina un file.
- "cls": pulisce la finestra del prompt dei comandi.
- "echo": visualizza un messaggio o il contenuto di una variabile.
Per tutti questi comandi è disponibile una descrizione approfondita nel prompt di Windows, è sufficient
digitare il comando "help" seguito dal comando che si vuole approfondire.
Per esempio:
help xcopy
Funzionalità avanzate
Driver, cosa sono e perché servono?
I driver sono dei programmi che permettono al sistema operativo del computer di comunicare con le periferiche hardware, come ad esempio la scheda video, il mouse, la stampante e così via. Se non si ha il driver corretto installato per una periferica, il sistema operativo non sarà in grado di utilizzarla o potrebbero verificarsi problemi di funzionamento. Per questo è importante accertarsi di avere i driver corretti installati per tutte le periferiche in uso. In genere, i driver vengono installati automaticamente insieme al sistema operativo o insieme al software della periferica, ma a volte può essere necessario scaricarli e installarli manualmente.
Strumenti Di Amministrazione
Uno strumento di amministrazione è un software che fornisce un'interfaccia per gestire e configurare un
sistema informatico, ad esempio un computer, un server o una rete. Esistono molti strumenti di
amministrazione disponibili, ognuno dei quali offre funzionalità specifiche.
Le funzionalità più comuni degli strumenti di amministrazione sono le seguenti:
- Gestione dell'account utente: la creazione, la modifica e la rimozione di account utente e il controllo dei permessi di accesso.
- Gestione dei servizi: l'avvio, l'arresto e la configurazione di servizi come server web, server di stampa, server di posta elettronica e così via.
- Gestione dei dispositivi: la visualizzazione e la gestione di periferiche hardware come hard disk, schede di rete, schede video e così via.
- Gestione delle risorse del sistema: la visualizzazione e il controllo delle risorse del sistema, come la memoria, il processore, il traffico di rete e così via.
- Monitoraggio del sistema: la raccolta di dati sulle prestazioni del sistema e la generazione di report di stato.
- Backup e ripristino: la creazione di copie di sicurezza dei dati e il ripristino dei sistemi in caso di problemi.