Linux & Open Source : Lezione Due

424 views
341 views

Published on

Linux & Open Source : Lezione Due

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
424
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Linux & Open Source : Lezione Due

  1. 1. Lezione Due: Linux Using Lezione Due: Linux Using Dario Mazza - Sebastiano Merlino Universit` degli Studi di Catania - Facolt` di Ingegneria a a 22 Aprile 20101 / 18
  2. 2. Lezione Due: Linux Using “ Sei fortunato a non essere un mio studente. Non prenderesti un buon voto per un tale progetto.” Andrew S. Tanenbaum parlando a Linus Torvalds e riferendosi al suo progetto: Linux2 / 18
  3. 3. Lezione Due: Linux Using Il Sistema OperativoSistemi Operativi Il sistema operativo ` quel componente software responsabile del e controllo e della gestione dell’hardware del computer e dei programmi che su questo vengono eseguiti. Il sistema operativo fornisce un’astrazione della macchina sottostante ossia fornisce un’interfaccia software (generalmente grafica) per accedere alle risorse del sistema (come dischi, schermo, tastiera ecc) Il compito principale del sistema operativo ` quello di permettere e all’utente di interagire con la macchina.3 / 18
  4. 4. Lezione Due: Linux Using Il Sistema OperativoComponenti Principali di un Sistema Operativo Kernel Il kernel ` il cuore di un sistema operativo e fornisce ai componenti del e sistema operativo e ai programmi le funzioni fondamentali per un accesso controllato all’hardware (evitandogli dettagli sulla sua gestione). File System Il file system definisce come i file vengono immagazzinati e organizzati su un dispositivo di archiviazione (hard disk, CD, ecc). Vi sono diversi tipi di file system che si differenziano sulla politica di gestione dei file. I principali 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
  5. 5. Lezione Due: Linux Using Il Sistema OperativoMac OS X Mac OS X ` un sistema operativo sviluppato dalla Apple Inc. e Questo sistema operativo non ` semplicemente la decima e versione di Mac OS ( in uso sui computer Macintosh dal 1984) ma ` un sistema completamente nuovo che unisce il e nucleo Darwin, di derivazione Unix (FreeBSD) e rilasciato sotto licenza open source, ad un’interfaccia grafica all’avanguardia chiamata Acqua. Mac OS X ` in grado di eseguire anche programmi e GNU/Linux previa compilazione. Le maggiori caratteristiche di Mac OS X sono legate ad Aqua: Expos` (miniaturizza sullo schermo tutte le e finestre), Spaces (per generare desktop virtuali), Dashboard (per piccole applicazioni richiamabili con un tasto) e molto altro.5 / 18
  6. 6. Lezione Due: Linux Using Il Sistema OperativoSolaris & OpenSolaris Solaris ` un sistema operativo per computer Sun e Microsystems (anche se ora pu` essere utilizzato anche su o altri computer) ed ` certificato come versione di Unix. Si e tratta di un sistema operativo proprietario quindi a codice chiuso, ma dall’inizio del 2005 alcuni componenti vengono rilasciati sotto licenza open source (CDDL) all’interno del progetto OpenSolaris. OpenSolaris ` basato in gran parte sul codice e sorgente di Solaris ma tenta di venire incontro agli utenti Linux fornendogli strumenti a loro familiari a partire dall’interfaccia grafica e dalla shell dei comandi. Tutto il codice sorgente di OpenSolaris ` e rilasciato sotto licenza open source CDDL.6 / 18
  7. 7. Lezione Due: Linux Using Il Sistema OperativoFreeBSD FreeBSD ` un sistema operativo libero di tipo Unix e derivato dallo Unix dell’Universit` di Berkley (California). a ` E stata la prima distribuzione ad uscire su CD-ROM nel 1994. FreeBSD ` particolarmente utilizzato nei server per la sua e stabilit` e sicurezza ma ` anche usato per PC. Una sua a e particolarit` ` il sistema dei Port. Per utilizzare un programma ae si scarica il codice sorgente del programma stesso e di altri programmi da questo dipende ed in seguito i sorgenti vengono compilati per generare l’eseguibile del programma. I port sono organizzati in una struttura ad albero per mettere in evidenza le dipendenze tra i vari programmi. Questo sistema ` stato e superato dal sistema dei pacchetti introdotto da Debian e ripreso da Ubuntu (in quanto derivata da Debian).7 / 18
  8. 8. Lezione Due: Linux Using LinuxLinux & GNU/Linux Linux ` il nome del kernel sviluppato dal Linus Torvalds a e partire dal 1991. Il sistema operativo su cui si basano tutte le distribuzioni ` detto GNU/Linux in quanto si tratta e dell’integrazione del kernel Linux con software del sistema GNU e altro software rilasciato sotto licenza GNU GPL. Inizialmente il sistema fondava l’interazione con l’utente sulla shell dei comandi ma con il passare del tempo ` divenuta sempre pi` evidente la e u necessit` di un’interfaccia grafica basata sulle finestre (come quella usata a da Windows). Il nome Linux, a dispetto dell’evidente assonanza con il nome del suo principale sviluppatore (LINUs uniX), ` da attribuire al nome della e cartella in cui era contenuta la prima versione scaricabile del server. Il nome scelto da Linus Torvalds per la sua creatura era Freax. In compenso ` quasi sicuro che il nome della mascotte sia dovuto allo e sviluppatore TUX=Torvalds UniX.8 / 18
  9. 9. Lezione Due: Linux Using LinuxStoria di Linux Il giovane programmatore Linus Torvalds non era soddisfatto del sistema operativo Minix, sviluppato dal prof. Andrew Tanenbaum a fini didattici. Torvalds inizio a sviluppare del software per meglio comprendere il funzionamento del suo computer. Ogni volta che si rendeva necessaria l’aggiunta di una nuova funzionalit` questa veniva a sviluppata: alla fine di questo processo Torvalds ottenne un intero kernel capace di supportare un sistema operativo. Inizialmente Linux si basava su alcuni componenti di Minix ma Torvalds non era soddisfatto della licenza di quest’ultimi che li rendeva disponibili esclusivamente per usi didatti. Cos` le parti Minix furono sostituite da componenti software ı GNU e Linux pass` sotto la licenza GPL. Non passo molto tempo prima o che il sistema GNU/Linux superasse in funzionalit` Minix. Ad oggi Linus a Torvalds dirige ancora la sviluppo del kernel Linux ma gli altri componenti sono sviluppati separatamente. Il compito di rilasciare un sistema integrato, che unisca il kernel e gli strumenti di base con l’interfaccia grafica e i software applicativi, ` delegato alle distribuzioni. e9 / 18
  10. 10. Lezione Due: Linux Using DistribuzioniDistribuzione Linux Una distribuzione Linux, detta anche distro, ` una collezione di e programmi rilasciati come un unico pacchetto che include il kernel Linux e un insieme di strumenti e programmi. Societ` come Red Hat, Novel a (con SUSE) e Canonical (con Ubuntu) e progetti come Debian, Slackware e Gentoo assemblano e testano i vari componenti e periodicamente rilasciano, la maggior parte delle volte gratuitamente, la distribuzione. Il successo delle distribuzioni ` dovuto alla semplicit` con cui permettono di e a istallare sul proprio computer un sistema operativo funzionante. In questo momento si contano pi` di 300 distribuzioni attive. Questo proliferare di u distribuzioni ` basato sul fenomeno delle fork, ossia distribuzioni basate e in gran parte su altre e che si limitano ad estenderne o modificarne il contenuto. Ubuntu ` una fork di Debian ma ormai si ` affrancata da ogni e e vincolo di dipendenza dalla distribuzione madre. La pi` vecchia u distribuzione attiva ` Slackware seguita subito da Debian: la prima ` e e stata fondata nel luglio 1993 mentre la seconda nell’agosto 1993.10 / 18
  11. 11. Lezione Due: Linux Using DistribuzioniDebian Debian ` una distribuzione Linux largamente usate e composta e esclusivamente da Software Libero. Ogni componente ` e sviluppato da una comunit` di volontari sparsi in tutto il mondo. a Lo slogan ufficiale della distribuzione ` “Debian: the Universal e Operating System”. Il progetto Debian ` stato fondato da Ian Murdok nel 1993 che e insoddisfatto della distribuzione SLS tent` all’inizio di modificarla o ma poi decise di creare una nuova distribuzione da zero. La prima versione stabile risale al 1996. Debian ` conosciuta per la sua aderenza alle filosofie di GNU e software e libero, per le rigide politiche sulla qualit` dei pacchetti rilasciati, il modo a aperto di sviluppare e testare il software ma soprattutto per la libert` di a scelta lasciata all’utente. L’ultima release di Debian contava circa 23.000 pacchetti software contenuti nei 5 DVD scaricabili gratuitamente dal sito www.debian.org.11 / 18
  12. 12. Lezione Due: Linux Using DistribuzioniAPT e pacchetti deb Debian ` anche conosciuta per il suo sistema di gestione dei e pacchetti e di APT (Advanced Packaging Tool). Questo programma integra un sistema di risoluzione delle dipendenze (ossia pacchetti necessari all’istallazione) con la possibilit` di a eseguire aggiornamenti e di istallare pacchetti di versioni differenti. Questo sistema, oltre a permettere all’utente di creare un sistema ibrido, rende il processo di istallazione, aggiornamento e rimozione dei software molto semplice ed intuitivo (e richiede raramente il riavvio del computer). I pacchetti sono riuniti in archivi detti repository che possono essere online oppure offline (ad esempio i CD e i DVD di distribuzione).12 / 18
  13. 13. Lezione Due: Linux Using DistribuzioniUbuntu Ubuntu ` una distribuzione basata su Debian e finanziata e dalla Canonical. Tutto il sistema ` rilasciato sotto licenza e GNU GPL. Il nome della distribuzione deriva da un antico vocabolo zulu che significa “io sono ci` che sono per o merito di ci` che siamo tutti”: un inno alla filosofia open o source. Come si evince gi` dal motto “Linux per gli esseri a umani”, Ubuntu mira moltissimo sulla semplicit` dia utilizzo, l’ottimo riconoscimento e supporto dell’hardware. Inoltre pu` vantare un vasto parco software o costantemente aggiornato tramite APT ed una notevole quantit` di sistemi di gestione basati su a interfaccia grafica che sollevano l’utente dall’utilizzo della shell. La versione desktop ` stata e realizzata per rispondere alle pi` frequenti necessit` u a dell’utente medio.13 / 18
  14. 14. Lezione Due: Linux Using DistribuzioniUbuntu Ubuntu ` una fork di Debian ed applica anche lei la e filosofia del software libero fornendo solo pacchetti di questo tipo. Generalmente i pacchetti che si trovano in Ubuntu derivano dal ramo instabile di Debian in modo da bypassare il lungo iter di “stabilizzazione” del pacchetto tipico della distribuzione madre. Ubuntu e Debian collaborano attivamente per lo sviluppo e la risoluzione dei bug. Inoltre Ubuntu deriva integralmente da Debian il sistema dei pacchetti, l’APT e la sua interfaccia grafica, il Synaptic. Ubuntu ha delle sotto distribuzioni come Kubuntu (con l’ambiente desktop KDE), Edubuntu (dedicata all’apprendimento e ai bambini), Ubuntu Mobile/Server/Netbook (versioni ottimizzate per supporti diversi dal PC desktop). Microsoft ha la fetta pi` grossa del mercato dei nuovi PC desktop. Questo ` un bug, e Ubuntu ` concepito per risolverlo. u e e Mark Shuttleworth, ideatore di Ubuntu14 / 18
  15. 15. Lezione Due: Linux Using Usare LinuxPerch´ usare Linux? e I motivi per cui usare un sistema GNU/Linux sono molteplici e generalmente sono molto personali ma si possono identificare 3 punti principali. Stabilit` del Sistema a Supporto della Comunit` a Motivazioni Etiche15 / 18
  16. 16. Lezione Due: Linux Using Usare LinuxStabilit` del Sistema a Generalmente un sistema GNU/Linux risulta essere pi` stabile: i crash di u sistema sono praticamente inesistenti ed i crash delle applicazioni sono isolati. Inoltre la frequenza dei crash dipende da che tipo di pacchetto e che distribuzione si utilizza: un pacchetto un po’ meno aggiornato ma ampiamente testato assicura una maggiore stabilit`. a Il sistema GNU/Linux inoltre ha delle performance “stabili” cio` non e subisce pesantemente il passare del tempo come succedeva con Windows: possiamo istallare e rimuovere pacchetti quante volte vogliamo senza rallentare il sistema, possiamo muovere quanti dati vogliamo senza dover deframmentare il disco ecc. Inoltre il sistema GNU/Linux ` quasi immune al problema virus. Infatti il e sistema di sicurezza multi-utente rende pi` difficile accedere a parti vitali u del sistema operativo. Non essendo un sistema operativo molto usato GNU/Linux non ` stato oggetto di interesse ed inoltre ogni bug critico di e sicurezza in questi sistemi viene risolto in tempi brevissimi (a differenza di quanto accade con Windows).16 / 18
  17. 17. Lezione Due: Linux Using Usare LinuxSupporto della Comunit` a La comunit` GNU/Linux e Open Source ` estremamente attiva e a e presente. Ogni problema un utente riscontri sicuramente ` stato gi` e a affrontato, e possibilmente risolto, da altri utenti della comunit`. Inoltre a tramite un servizio di Bug-Report ` possibile comunicare direttamente e con gli sviluppatori. La possibilit` di poter leggere il codice permette di chiedere consigli a anche ad esperti esterni allo sviluppo del programma per risolvere eventuali problemi. Il 90% dei problemi riscontrati su un sistema GNU/Linux viene risolto da una semplice ricerca su internet, consultando i Forum, i Blog e le pagine tenute da sviluppatori o utenti GNU/Linux.17 / 18
  18. 18. Lezione Due: Linux Using Usare LinuxMotivazioni Etiche Le motivazioni etiche sono le stesse che ci spingono ad usare il software libero e con codice sorgente aperto. Il prodotto software, come ogni prodotto, deve essere intellettualmente propriet` di tutti: non deve a succedere che una conoscenza non venga condivisa con gli altri. Ogni riga di codice scritta viene condivisa con la comunit` per a accrescerne la conoscenza ma anche per ottenere un aiuto dalla comunit` a stessa: l’appartenenza alla comunit` richiede la condivisione della a conoscenza ma ci permette di sfruttare la conoscenza di tutti gli altri membri. Utilizzare sistemi GNU/Linux toglie potere ai colossi dell’informatica che si possono permettere qualsiasi cosa perch´ hanno un monopolio: far e vedere che una comunit` pu` tranquillamente sviluppare software a o migliore di quello prodotto dalle grandi software house ci permetter` di a ridimensionare i rapporti con queste ultime.18 / 18

×