Lezione due

18
Lezione Due: Linux Using Lezione Due: Linux Using Dario Mazza - Sebastiano Merlino Universit` a degli Studi di Catania - Facolt` a di Ingegneria 22 Aprile 2010 1 / 18

Transcript of Lezione due

Page 1: Lezione due

Lezione Due: Linux Using

Lezione Due: Linux Using

Dario Mazza - Sebastiano Merlino

Universita degli Studi di Catania - Facolta di Ingegneria

22 Aprile 2010

1 / 18

Page 2: Lezione due

Lezione Due: Linux Using

“ Sei fortunato a non essere un mio studente. Non prenderesti un buonvoto per un tale progetto.”

Andrew S. Tanenbaumparlando a Linus Torvalds e riferendosi al suo progetto: Linux

2 / 18

Page 3: Lezione due

Lezione Due: Linux Using

Il Sistema Operativo

Sistemi Operativi

Il sistema operativo e quel componente software responsabile delcontrollo e della gestione dell’hardware del computer e dei programmi chesu questo vengono eseguiti.

Il sistema operativo fornisce un’astrazione della macchina sottostanteossia fornisce un’interfaccia software (generalmente grafica) per accederealle risorse del sistema (come dischi, schermo, tastiera ecc)

Il compito principale del sistema operativo e quello di permettereall’utente di interagire con la macchina.

3 / 18

Page 4: Lezione due

Lezione Due: Linux Using

Il Sistema Operativo

Componenti Principali di un Sistema Operativo

Kernel

Il kernel e il cuore di un sistema operativo e fornisce ai componenti delsistema operativo e ai programmi le funzioni fondamentali per un accessocontrollato all’hardware (evitandogli dettagli sulla sua gestione).

File System

Il file system definisce come i file vengono immagazzinati e organizzati suun dispositivo di archiviazione (hard disk, CD, ecc). Vi sono diversi tipi difile system che si differenziano sulla politica di gestione dei file. Iprincipali tipi di file system sono Ext4 (usato dai sistemi Linux), HFS(usato dai sistemi Mac OS), NTFS e FAT32 (usati dai sistemi Windows).

Interfaccia Grafica

Permette agli essere umani di interagire con il sistema.

4 / 18

Page 5: Lezione due

Lezione Due: Linux Using

Il Sistema Operativo

Mac OS X

Mac OS X e un sistema operativo sviluppato dalla Apple Inc.Questo sistema operativo non e semplicemente la decimaversione di Mac OS ( in uso sui computer Macintosh dal1984) ma e un sistema completamente nuovo che unisce ilnucleo Darwin, di derivazione Unix (FreeBSD) e rilasciatosotto licenza open source, ad un’interfaccia graficaall’avanguardia chiamata Acqua.

Mac OS X e in grado di eseguire anche programmiGNU/Linux previa compilazione. Le maggioricaratteristiche di Mac OS X sono legate ad Aqua:Expose (miniaturizza sullo schermo tutte lefinestre), Spaces (per generare desktop virtuali),Dashboard (per piccole applicazioni richiamabilicon un tasto) e molto altro.

5 / 18

Page 6: Lezione due

Lezione Due: Linux Using

Il Sistema Operativo

Solaris & OpenSolaris

Solaris e un sistema operativo per computer SunMicrosystems (anche se ora puo essere utilizzato anche sualtri computer) ed e certificato come versione di Unix. Sitratta di un sistema operativo proprietario quindi a codicechiuso, ma dall’inizio del 2005 alcuni componenti vengonorilasciati sotto licenza open source (CDDL) all’interno delprogetto OpenSolaris.

OpenSolaris e basato in gran parte sul codicesorgente di Solaris ma tenta di venire incontro agliutenti Linux fornendogli strumenti a loro familiari apartire dall’interfaccia grafica e dalla shell deicomandi. Tutto il codice sorgente di OpenSolaris erilasciato sotto licenza open source CDDL.

6 / 18

Page 7: Lezione due

Lezione Due: Linux Using

Il Sistema Operativo

FreeBSD

FreeBSD e un sistema operativo libero di tipo Unixderivato dallo Unix dell’Universita di Berkley (California).E stata la prima distribuzione ad uscire su CD-ROM nel1994.

FreeBSD e particolarmente utilizzato nei server per la suastabilita e sicurezza ma e anche usato per PC. Una suaparticolarita e il sistema dei Port. Per utilizzare un programmasi scarica il codice sorgente del programma stesso e di altriprogrammi da questo dipende ed in seguito i sorgenti vengonocompilati per generare l’eseguibile del programma. I port sonoorganizzati in una struttura ad albero per mettere in evidenzale dipendenze tra i vari programmi. Questo sistema e statosuperato dal sistema dei pacchetti introdotto da Debian eripreso da Ubuntu (in quanto derivata da Debian).

7 / 18

Page 8: Lezione due

Lezione Due: Linux Using

Linux

Linux & GNU/Linux

Linux e il nome del kernel sviluppato dal Linus Torvalds apartire dal 1991. Il sistema operativo su cui si basano tuttele distribuzioni e detto GNU/Linux in quanto si trattadell’integrazione del kernel Linux con software del sistemaGNU e altro software rilasciato sotto licenza GNU GPL.

Inizialmente il sistema fondava l’interazione con l’utente sulla shell deicomandi ma con il passare del tempo e divenuta sempre piu evidente lanecessita di un’interfaccia grafica basata sulle finestre (come quella usatada Windows).Il nome Linux, a dispetto dell’evidente assonanza con il nome del suoprincipale sviluppatore (LINUs uniX), e da attribuire al nome dellacartella in cui era contenuta la prima versione scaricabile del server. Ilnome scelto da Linus Torvalds per la sua creatura era Freax. Incompenso e quasi sicuro che il nome della mascotte sia dovuto allosviluppatore TUX=Torvalds UniX.

8 / 18

Page 9: Lezione due

Lezione Due: Linux Using

Linux

Storia di Linux

Il giovane programmatore Linus Torvalds non era soddisfatto del sistemaoperativo Minix, sviluppato dal prof. Andrew Tanenbaum a finididattici. Torvalds inizio a sviluppare del software per megliocomprendere il funzionamento del suo computer. Ogni volta che sirendeva necessaria l’aggiunta di una nuova funzionalita questa venivasviluppata: alla fine di questo processo Torvalds ottenne un intero kernelcapace di supportare un sistema operativo. Inizialmente Linux si basavasu alcuni componenti di Minix ma Torvalds non era soddisfatto dellalicenza di quest’ultimi che li rendeva disponibili esclusivamente per usididatti. Cosı le parti Minix furono sostituite da componenti softwareGNU e Linux passo sotto la licenza GPL. Non passo molto tempo primache il sistema GNU/Linux superasse in funzionalita Minix. Ad oggi LinusTorvalds dirige ancora la sviluppo del kernel Linux ma gli altricomponenti sono sviluppati separatamente. Il compito di rilasciare unsistema integrato, che unisca il kernel e gli strumenti di base conl’interfaccia grafica e i software applicativi, e delegato alle distribuzioni.

9 / 18

Page 10: Lezione due

Lezione Due: Linux Using

Distribuzioni

Distribuzione Linux

Una distribuzione Linux, detta anche distro, e una collezione diprogrammi rilasciati come un unico pacchetto che include il kernel Linuxe un insieme di strumenti e programmi. Societa come Red Hat, Novel(con SUSE) e Canonical (con Ubuntu) e progetti come Debian, Slackwaree Gentoo assemblano e testano i vari componenti e periodicamenterilasciano, la maggior parte delle volte gratuitamente, la distribuzione. Ilsuccesso delle distribuzioni e dovuto alla semplicita con cui permettono diistallare sul proprio computer un sistema operativo funzionante. In questomomento si contano piu di 300 distribuzioni attive. Questo proliferare didistribuzioni e basato sul fenomeno delle fork, ossia distribuzioni basatein gran parte su altre e che si limitano ad estenderne o modificarne ilcontenuto. Ubuntu e una fork di Debian ma ormai si e affrancata da ognivincolo di dipendenza dalla distribuzione madre. La piu vecchiadistribuzione attiva e Slackware seguita subito da Debian: la prima estata fondata nel luglio 1993 mentre la seconda nell’agosto 1993.

10 / 18

Page 11: Lezione due

Lezione Due: Linux Using

Distribuzioni

Debian

Debian e una distribuzione Linux largamente usate e compostaesclusivamente da Software Libero. Ogni componente esviluppato da una comunita di volontari sparsi in tutto il mondo.Lo slogan ufficiale della distribuzione e “Debian: the UniversalOperating System”.Il progetto Debian e stato fondato da Ian Murdok nel 1993 cheinsoddisfatto della distribuzione SLS tento all’inizio di modificarlama poi decise di creare una nuova distribuzione da zero. La primaversione stabile risale al 1996.

Debian e conosciuta per la sua aderenza alle filosofie di GNU e softwarelibero, per le rigide politiche sulla qualita dei pacchetti rilasciati, il modoaperto di sviluppare e testare il software ma soprattutto per la liberta discelta lasciata all’utente. L’ultima release di Debian contava circa 23.000pacchetti software contenuti nei 5 DVD scaricabili gratuitamente dal sitowww.debian.org.

11 / 18

Page 12: Lezione due

Lezione Due: Linux Using

Distribuzioni

APT e pacchetti deb

Debian e anche conosciuta per il suo sistema di gestione deipacchetti e di APT (Advanced Packaging Tool). Questoprogramma integra un sistema di risoluzione delle dipendenze(ossia pacchetti necessari all’istallazione) con la possibilita dieseguire aggiornamenti e di istallare pacchetti di versioni differenti.

Questo sistema, oltre a permettereall’utente di creare un sistema ibrido, rendeil processo di istallazione, aggiornamento erimozione dei software molto semplice edintuitivo (e richiede raramente il riavvio delcomputer). I pacchetti sono riuniti inarchivi detti repository che possono essereonline oppure offline (ad esempio i CD e iDVD di distribuzione).

12 / 18

Page 13: Lezione due

Lezione Due: Linux Using

Distribuzioni

Ubuntu

Ubuntu e una distribuzione basata su Debian e finanziatadalla Canonical. Tutto il sistema e rilasciato sotto licenzaGNU GPL. Il nome della distribuzione deriva da un anticovocabolo zulu che significa “io sono cio che sono permerito di cio che siamo tutti”: un inno alla filosofia opensource. Come si evince gia dal motto “Linux per gli esseriumani”, Ubuntu mira moltissimo sulla semplicita diutilizzo, l’ottimo riconoscimento e supporto dell’hardware.

Inoltre puo vantare un vasto parco softwarecostantemente aggiornato tramite APT ed unanotevole quantita di sistemi di gestione basati suinterfaccia grafica che sollevano l’utentedall’utilizzo della shell. La versione desktop e statarealizzata per rispondere alle piu frequenti necessitadell’utente medio.

13 / 18

Page 14: Lezione due

Lezione Due: Linux Using

Distribuzioni

Ubuntu

Ubuntu e una fork di Debian ed applica anche lei lafilosofia del software libero fornendo solo pacchetti diquesto tipo. Generalmente i pacchetti che si trovano inUbuntu derivano dal ramo instabile di Debian in modo dabypassare il lungo iter di “stabilizzazione” del pacchettotipico della distribuzione madre.

Ubuntu e Debian collaborano attivamente per lo sviluppo e la risoluzionedei bug. Inoltre Ubuntu deriva integralmente da Debian il sistema deipacchetti, l’APT e la sua interfaccia grafica, il Synaptic. Ubuntu ha dellesotto distribuzioni come Kubuntu (con l’ambiente desktop KDE),Edubuntu (dedicata all’apprendimento e ai bambini), UbuntuMobile/Server/Netbook (versioni ottimizzate per supporti diversi dal PCdesktop).

Microsoft ha la fetta piu grossa del mercato dei nuovi PC desktop. Questo e un bug, e Ubuntu e concepito per risolverlo.Mark Shuttleworth, ideatore di Ubuntu

14 / 18

Page 15: Lezione due

Lezione Due: Linux Using

Usare Linux

Perche usare Linux?

I motivi per cui usare un sistema GNU/Linux sono molteplici egeneralmente sono molto personali ma si possono identificare 3 puntiprincipali.

Stabilita del Sistema

Supporto della Comunita

Motivazioni Etiche

15 / 18

Page 16: Lezione due

Lezione Due: Linux Using

Usare Linux

Stabilita del Sistema

Generalmente un sistema GNU/Linux risulta essere piu stabile: i crash disistema sono praticamente inesistenti ed i crash delle applicazioni sonoisolati. Inoltre la frequenza dei crash dipende da che tipo di pacchetto eche distribuzione si utilizza: un pacchetto un po’ meno aggiornato maampiamente testato assicura una maggiore stabilita.Il sistema GNU/Linux inoltre ha delle performance “stabili” cioe nonsubisce pesantemente il passare del tempo come succedeva con Windows:possiamo istallare e rimuovere pacchetti quante volte vogliamo senzarallentare il sistema, possiamo muovere quanti dati vogliamo senza doverdeframmentare il disco ecc.Inoltre il sistema GNU/Linux e quasi immune al problema virus. Infatti ilsistema di sicurezza multi-utente rende piu difficile accedere a parti vitalidel sistema operativo. Non essendo un sistema operativo molto usatoGNU/Linux non e stato oggetto di interesse ed inoltre ogni bug critico disicurezza in questi sistemi viene risolto in tempi brevissimi (a differenza diquanto accade con Windows).

16 / 18

Page 17: Lezione due

Lezione Due: Linux Using

Usare Linux

Supporto della Comunita

La comunita GNU/Linux e Open Source e estremamente attiva epresente. Ogni problema un utente riscontri sicuramente e stato giaaffrontato, e possibilmente risolto, da altri utenti della comunita. Inoltretramite un servizio di Bug-Report e possibile comunicare direttamentecon gli sviluppatori.La possibilita di poter leggere il codice permette di chiedere consiglianche ad esperti esterni allo sviluppo del programma per risolvereeventuali problemi.Il 90% dei problemi riscontrati su un sistema GNU/Linux viene risolto dauna semplice ricerca su internet, consultando i Forum, i Blog e le paginetenute da sviluppatori o utenti GNU/Linux.

17 / 18

Page 18: Lezione due

Lezione Due: Linux Using

Usare Linux

Motivazioni Etiche

Le motivazioni etiche sono le stesse che ci spingono ad usare il softwarelibero e con codice sorgente aperto. Il prodotto software, come ogniprodotto, deve essere intellettualmente proprieta di tutti: non devesuccedere che una conoscenza non venga condivisa con gli altri.Ogni riga di codice scritta viene condivisa con la comunita peraccrescerne la conoscenza ma anche per ottenere un aiuto dalla comunitastessa: l’appartenenza alla comunita richiede la condivisione dellaconoscenza ma ci permette di sfruttare la conoscenza di tutti gli altrimembri.Utilizzare sistemi GNU/Linux toglie potere ai colossi dell’informatica chesi possono permettere qualsiasi cosa perche hanno un monopolio: farvedere che una comunita puo tranquillamente sviluppare softwaremigliore di quello prodotto dalle grandi software house ci permettera diridimensionare i rapporti con queste ultime.

18 / 18