Sistema operativo Software responsabile del controllo e della gestione dei componenti hardware di un computer mediante interfaccia (driver), e della gestione dei vari programmi del computer. I programmi caricati in memoria prendono il nome di processi Nota: un programma può essere composto da tanti processi paralleli (chiamati threads) Avere un architettura multi-core è un vantaggio
Sistema operativo - kernel Kernel cuore del sistema operativo Interfacciamento con l architettura fisica del computer (cpu, ram, bus, schede di rete ) Gestione memoria virtuale (allocazione spazio su ram, deallocazione, swapping della memoria) Gestione del multitasking (tramite il componente chiamato scheduler ) Gestione di base della multiutenza Gestione del filesystem (organizzazione logica dei files e cartelle su disco fisso) Gestione dei dispositivi I/O mediante drivers (in Linux i drivers possono essere moduli aggiuntivi del kernel) Gestione protocolli di rete, a vari livelli di astrazione
Altri componenti GUI interfaccia utente grafica (menu, icone, ) Server X + KDE o Gnome (in Linux) File Explorer (in Windows) Finder (Mac Os X) Shell interfaccia utente testuale a riga di comando bash (in Linux) Sottosistema prompt di dos o powershell (in Windows) Spooler di stampa Gestisce la coda di stampa Desktop remoto Per connettersi ad un altro computer nella rete, usandolo come se fossimo lì davanti ad esso.
Multitasking e Multiutenza Multi-tasking: capacità di eseguire più processi o threads simultaneamente Lo scheduler del kernel esegue un processo per un po di tempo, poi lo ferma e passa l esecuzione ad un altro processo per un altro po di tempo, e così via. L utente non si accorge di questi passaggi. Con una cpu-multicore, i kernel moderni possono rendere effettivamente parallela l esecuzione dei threads, eseguendo due o più thread contemporaneamente. Multi-user: diversi utenti possono effettuare il login e usare simultaneamente il sistema operativo Linux e Windows supportano multitasking e multiutenza (con meccanismo permessi)
Permessi degli utenti L utente administrator (root in Linux) ha i permessi di controllo globale sull intero sistema. Gli utenti standard invece hanno permessi limitati (di uso generale del sistema, e di modifica limitata esclusivamente al loro spazio personale) I permessi degli utenti sui vari files sono in genere modificabili dall amministratore. In questo caso è consigliabile mantenere la configurazione di default. Suggerimento: configurare il proprio computer in questo modo, con utente admin (login con password) usato per le modifiche importanti, e utente standard per l uso quotidiano
Windows vs Linux Windows è proprietario, Linux invece è libero Windows è molto più vulnerabile a virus, malware, etc. In teoria (dibattito aperto) Windows è molto più soggetto a bug, essendo proprietario. Linux invece è più controllato, e corretto costantemente dalla più grande comunità che ci lavora. L interfaccia testuale di Linux è molto potente. offre un controllo enorme della configurazione e dell esecuzione dei programmi, con più possibilità di debug Possibilità di capire cosa accade all interno del sistema operativo (ottimo sistema di log, basato su files di testo)
Windows vs Linux I dispositivi hardware sono meglio supportati da Windows Installazione drivers automatica in Windows, e maggiore affidabilità nel loro funzionamento. mentre in Linux le cose a volte sono più complicate mancano i drivers vanno installati manualmente necessità di ricompilare i sorgenti del kernel necessità di configurare il loro funzionamento manualmente Windows è più user-friendly (più facile da usare)
Approfondimento Mac Os X
Per provare Linux Dual Boot Installare Linux su un altra partizione o un altro disco del proprio pc, e usare un bootloader all avvio (grub o lilo) All avvio quindi, si può scegliere se far partire windows o linux Live CD Usare Linux direttamente da cd-rom o chiavetta, avviandolo all accensione del computer Molto utile anche come metodo per effettuare operazioni di manutenzione su sistemi compromessi gravemente, o operazioni di computer forensic (informatica forense) Virtual Machine Creare una macchina virtuale (ad esempio usando Virtualbox o WMWare), e installarci sopra Linux. Con VirtualBox si possono creare più macchine virtuali (installando su ognuna il sistema operativo desiderato), collegarle in rete locale e fare test di hacking localmente (raccomandazione, solo su di esse, non verso l esterno) senza violare le leggi. La macchina virtuale, se configurata come si deve, è un sistema di difesa dagli hacker In certi casi è pure usata come esca
Comuni distribuzioni Linux Ci sono tantissime distribuzioni Linux Il kernel e gli elementi di base sono gli stessi. Ma si differenziano nella gestione dei pacchetti (i programmi, il software), nella loro configurazione in alcuni casi, e spesso nell interfaccia grafica Distribuzioni più comuni Ubuntu (grande supporto hardware, molto user-friendly) Debian (discreta stabilità e sicurezza, ottimo sistema gestione pacchetti software) Slackware (per chi veramente vuole capire come funziona Linux, ottima stabilità e sicurezza) Configurazione molto manuale, per esperti.
Scaricare Ubuntu Linux Andare sul sito Ubuntu www.ubuntu-it.org/download Scaricare il file.iso 32 bit o 64 bit (in base alla cpu che avete) Masterizzare l immagine (il contenuto interno strutturato) del file.iso su chiavetta usb o DVD Far partire Ubuntu come Live DVD/USB Usare il file.iso per installare Ubuntu su una macchina virtuale creata in precedenza con Virtual Box
Virtual Box www.virtualbox.org È un software che serve per creare macchine virtuali È possibile creare una macchina virtuale Inserire la ram da assegnare ad essa Decidere quanto spazio dare all hard disk virtuale (che sarà realmente un file di virtual box, con estensione.vdi) Selezionare il sistema operativo da virtualizzare e assegnare al drive DVD virtuale il file.iso della distribuzione linux, da noi scaricata (es. Ubuntu) Far partire la macchina virtuale, così l installazione partirà A fine installazione, sarà possibile usarla, come se fosse un normale computer