SlideShare a Scribd company logo
Linux Day Avellino
framework

Da Thompson a Torvalds:
passato, presente e futuro del mondo *nix

Felice Pescatore
www.storiainformatica.it
AGENDA

• Le origini di Unix
• Da Unix a Linux passando per Minix

• Linux Oggi

2
Le origini di Unix

3
Cos‟è un Sistema Operativo?
I 5 punti salienti

Un Sistema Operativo (Operating System) è programma di controllo di un calcolatore che
consente di:
•

allocare e gestire le risorse;

•

schedulare i task;

•

fornire una piattaforma per eseguire applicazioni utente;

•

fornire una interfaccia di gestione delle risorse per gli sviluppatori;

•

Fornire una interfaccia tra utilizzatori e computer.

4
Before Unix
A batch world

Prima dell’avvento di Unix, la maggior parte dei sistemi operativi funzionano come una
collezione di processi batch, eseguiti in modo sequenziale.
Questo approccio, accettabile agli albori dell’elettronica moderna, non riesce chiaramente
a tenere il passo dell’inarrestabile evoluzione dei calcolatori.

#1

Enter data in
files to be
later
processed

#2

Process
Collection or
“Batch” of
files

#3

Enter data in
files to be
later
processed

5
Space Travel and MULTICS
1969

Nel 1969, il giovane ingegnere a Ken Thompson è impegnato nel Progetto MULTICS presso gli
AT&T Bell Laboratories.
Parallelamente si dedica allo viluppo di Space Travel, un simulatore del Sistema Solare che consente al
giocatore di pilotare una navetta, navigando tra i pianeti e tentando anche di effettuare l’atterraggio.

Il gioco è scritto inizialmente in assembly per MULTICS e poi convertito in Fortran per GECOS
(sistema operativo della GE messo a fattore comune per MULTICS). Il risultato non è propriamente
entusiasmante:
•

la simulazione soffre di frequenti «scatti» ed il gioco è
difficile da controllare a causa dell’interazione tramite
comandi da digitare sulla tastiera;

•

il costo per partita è di circa 75$ se si considera il costo di
impiego della CPU

6
Space Travel and PDP-7
La nascita di Unix

Thompson, supportato da Dennis Ritchie, decide di sfruttare un PDP-7 poco utilizzato
per realizzare una versione «avanzata» di Space Travel, ritenendo il suo sottosistema
grafico assolutamente adeguato al compito.
L’impresa è però ardua: i due colleghi devono riscrivere praticamente l’intero sistema di
controllo dell’hardware da zero: dalle rutine di gestione dell’aritmetica in virgola mobile
fino al sistema di Debug.

Il tutto viene creato in assembly con un cross-compiler che gira su GECOS e da cui si
ricavano schede/nastri perforate/i da caricare nel PDP-7.
Thompson si innamora del PDP-7 e decide di creare un file-system ed una serie di utility
per operare direttamente con esso, senza la necessità di passare attraverso GECOS: nasce

il primo embrione di UNIX!

7
UNIX
A name suggested by Peter Neumann

Il nome UNIX derivava da un gioco di parole sull'acronimo MULTICS (Multiplexed
Information and Computing Service), ironizzando sul fatto che UNIX sarebbe
riuscito a fare una cosa fondamentale che a MULTICS non era riuscita (almeno finché
AT&T era parte del progetto): eseguire programmi.

Ken Thompson, Dennis Ritchie e Peter Neumann

8
UNIX evolution step
Most changes

•

1971, 3 novembre: prima
release ufficiale di Unix

•

1972, 6 dicembre: seconda
release

•

1973: Unix viene quasi
interamente riscritto in C

•

1978: nasce BSD (Berkeley
Software Distribution)

9
BSD
Berkeley Software Distribution

AT&T scegli come utenti privilegiati le Università e propria in una di esse, Berkeley,
Bill Joy e Chuck Haley effettuano importanti modifiche sul codice originale di
Unix (acquistato su nastro per 400$) e nel 1978 rilasciano una propria versione
custom denominata "Berkeley Software Distribution”: ovvero BSD.

Bill Joy

1
0
Da Unix a Linux passando per Minix

11
I sistemi operativi negli anni „80
One leader

•

Microsoft con il DOS domina il settore dei sistemi operativi per PC;

•

Apple ha il MAC, ma la quota di mercato è esigua;

•

UNIX è potente ma poco adatto ai Personal Computer e al mercato consumer;

Tutti e tre hanno una caratteristica comune: sono proprietari e il loro codice è protetto da
copyright ed è chiuso.

Ciò rende impossibile effettuare alcuna modifica senza pagare alte commissioni in licenze
speciali.

11
Il progetto GNU
Richard Stallman

Nel 1983 Richard Stallman crea il progetto GNU, credendo fortemente che il software
deve essere libero da restrizioni di copyright in modo da poterlo modificare, adattare e
migliorare in base alle proprie esigenze.

GNU is a recursive acronym for “GNU's Not Unix”
Aim at developing a complete Unix-like operating
system which is free for copying and modification
Companies make their money by maintaining and
distributing the software, e.g. optimally packaging the
software with different tools (Redhat, Slackware,
Mandrake, SuSE, etc)
Stallman built the first free GNU C Compiler in 1991.
But still, an OS was yet to be developed

13
Minix e Linux
Tanenbaum -> Torvalds

•

Il professor Andrew Tanenbaum realizza a scopi didattici Minix, ispirato a UNIX
ma con un’architettura a microkernel ed eseguibile su un comune PC;

•

Il 17 settembre del 1991, Linus Torvalds, studente al secondo anno di Computer
all’Università di Helsinki, presenta pubblicamente il primo embrione di un kernel
monolitico, che diventerà Linux 0.01.

Message from Professor Andrew Tanenbaum to Linus Torvalds
" I still maintain the point that designing a
monolithic kernel in 1991 is a fundamental error. Be
thankful you are not my student. You would not get
a high grade for such a design :-)“

14
Linux in the beginning
… a terminal!

Linux nasce come un emulatore di terminale (scritto in C e Assembly) eseguibile senza
alcun sistema operativo e finalizzato, principalmente, a due operazioni: mandare segnali
alla porta seriale e riceverli, il tutto attraverso due thread separati. Torvalds ne decide
lo sviluppo trovando macchinoso e inefficiente quanto realizzato da Tanenbaum con
Minux.
Ben presto emerge la necessità di aggiungere il supporto ad un file system per consentire

la gestione di operazioni di I/O su disco (lettura e scrittura), dando il via alla lenta
trasformazione del terminale in un vero e proprio Kernel.

ATTENZIONE: LINUX è in realtà il nome del KERNEL, mentre il nome del sistema
operativo che su esso si poggia è GNU/Linux con tutti i relativi componenti

15
Linux in the beginning
… the name!

Il nome "Linux”, a dispetto dell’assonanza tra il nome dell’ideatore e quello del sistema
(LINus UniX), è da attribuirsi a Ari Lemke, assistente alla Helsinki University
of Technology, che mette a disposizione lo spazio FTP per il progetto (ftp.funet.fi) e lo
sceglie come nome della directory. Il nome originariamente scelto da Torvalds, invece,
era Freax, una combinazione tra “free”, “freak” e “x”, ad indicare le caratteristiche Unixlike del sistema.

LINUX e MINIX non hanno alcun codice sorgente in comune, ma

condividono l’dea di fondo: realizzare un sistema UNIX like in
grado di funzionare sui comuni personal computer.

16
Linux in the beginning
… TUX!

Tux è la mascotte ufficiale del kernel
Linux, creata da Larry Ewing nel 1996 ed

ispirata da Tove Torvalds, moglie di Linus.
TUX = Torvalds UniX (James Hughes).

17
Linux oggi

18
Distribuzioni
tante soluzioni

Le differenze tra le varie distribuzioni
Linux sono di carattere tecnico,
organizzativo e filosofico. Le prime
consistono in un diverso supporto dei
dispositivi hardware e nella
configurazione del sistema operativo e
dei pacchetti software. Le seconde sono
spesso motivate da scelte tecniche ma
anche da ragioni storiche e/o filosofiche.
Il sito web DistroWatch offre una
panoramica di tutte le distribuzioni
Linux più note, attive o meno, e
mantiene una classifica delle
distribuzioni, usando il page viewcome
misura della popolarità relativa[2].

19
Distribuzioni
composizione

Una tipica distribuzione Linux moderna comprende un kernel Linux, librerie e
strumenti GNU, software addizionale, documentazione, un server grafico,
un window manager e/o un ambiente destkop un terminale virtuale, ed un sistema
di gestione dei pacchetti.
Molte distribuzioni forniscono un sistema di installazione simile a quello di altri
moderni sistemi operativi. Distribuzioni self-hosting come Gentoo Linux forniscono
il codice sorgente di tutto il software ed includono le versioni eseguibili solo di un
kernel base, compilatore e programma di installazione; questo programma compila

tutto il software per la specifica architettura del computer dell’utente.

20
FOSS
Free and Open Source Software

La quasi totalità del software incluso in una distro Linux è FOSS (Free and Open
Source Software - Software libero Open Source) che è distribuito dagli sviluppatori
sia in forma precompilata che come codice sorgente, cosa che permette agli utenti di
modificare e ricompilare il codice originale a proprio piacimento. Una parte del
software incluso in alcune distribuzioni può essere proprietario e non disponibile
sotto forma di sorgenti.

21
Distribuzioni
tante soluzioni
Ubuntu: attualmente la Distribuzione più diffusa, è
basata su Debian e si propone di offrire un sistema
operativo completo e semplice da utilizzare, insieme
alle sue derivate ufficiali:
Kubuntu: versione di Ubuntu equipaggiata con
il desktop environment KDE.
Xubuntu: versione di Ubuntu equipaggiata con
il desktop environment XFCE.
Lubuntu: versione di Ubuntu equipaggiata con
il desktop environment LXDE, adatto a PC
molto vecchi e poco performanti.
Edubuntu: versione di Ubuntu pensata
principalmente per l’utilizzo in ambito
scolastico.
Arch Linux: distribuzione rolling release minimalista,
veloce, leggera ed altamente personalizzabile. Di
default non è installato né il desktop environment, né
il server X, e l’altissima necessità di utilizzare
comandi da terminale e procedure di compilazione
per l’installazione dei vari software la rende una distro
poco adatta all’utenza comune. CentOS: derivata
da Red Hat Linux, mira ad offrire un sistema
operativo libero e gratuito per il mercato enterprise
Chakra GNU/Linux: distribuzione che mira ad offrire
una versione di Arch Linux completa e semplice da
usare.

Debian: distribuzione contenente solo software libero e
sostenuta da una comunità di volontari da tutto il mondo
usata come base per molti altri sistemi operativi.
DragonFly BSD: distro di linux gratuita della BSD la cui
prima versione è stata pubblicata il 2008-12-13
Fedora: distribuzione realizzata in stretta collaborazione
con la comunità GNU/Linux e sponsorizzata da Red Hat
Gentoo: distribuzione dedicata agli utenti esperti, è nota
per il suo sistema di gestione dei pacchetti che permette di
installare le applicazioni direttamente dal codice sorgente.
Linux Mint: basata su Ubuntu, è equipaggiata di default
con codec proprietari e con GNOME Shell e MATE al
posto di Unity.
Mandriva Linux: originariamente chiamata Mandrake
Linux, punta all’utilizzo da parte degli utenti meno esperti
con un sistema facile da utilizzare.
Red Hat Linux: basata su Fedora, è una distribuzione
commerciale direttamente sviluppata da Red Hat.
openSUSE: distribuzione creata da sviluppatori volontari
e sponsorizzata da Novell.
SUSE Linux: versione commerciale
di openSUSE sviluppata da Novell.
Slackware: una delle distribuzioni più longeve (nasce
nel 1993), è essenziale ed elegante ed è oggi una delle più
apprezzate e utilizzate dall’utenza esperta per la sua alta
stabilità.

22
Diffusione
Growing and growing…

Nel 1992, quando Torvalds rese disponibile il codice sorgente di Linux, gli utenti del
“pinguino” erano circa un centinaio per poi diventare un migliaio l’anno successivo.

At 19/10/2013 10:05pm, there are

120,206
users and

98,064
machines registered.
My guess at the number of Linux users

68,146,527
http://linuxcounter.net/

World population: 7,171,224,802
Internet users: 2,672,415,435

23
ABOUT ME
get in touch

www.felicepescatore.it
Felice Pescatore, Agile Software Architect
Email: felice.pescatore@gmail.com

@felicepescatore

Cell. 392/7157684

Disciplined Agile Delivery Italy
Group

24
THANKS FOR WATCHING

25

More Related Content

What's hot

Open-source: storia di una rivoluzione silenziosa
Open-source: storia di una rivoluzione silenziosaOpen-source: storia di una rivoluzione silenziosa
Open-source: storia di una rivoluzione silenziosa
accatagliato
 
FLOSS: Free Software e Open Source
FLOSS: Free Software e Open SourceFLOSS: Free Software e Open Source
FLOSS: Free Software e Open Source
Piergiorgio Borgogno
 
Elio Tondo - Linux In Azienda
Elio Tondo - Linux In AziendaElio Tondo - Linux In Azienda
Elio Tondo - Linux In Azienda
Better Software
 
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slidesLinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slidesMaurizio Antonelli
 
Presentazione Sistemi Operativi
Presentazione Sistemi OperativiPresentazione Sistemi Operativi
Presentazione Sistemi Operativi
Michele Simonetti
 
Presentazione sulle caratteristiche di Windows
Presentazione sulle caratteristiche di WindowsPresentazione sulle caratteristiche di Windows
Presentazione sulle caratteristiche di Windows
GianRobaFresh
 
Sistema operativo unix
Sistema operativo unixSistema operativo unix
Sistema operativo unix
CarpioniVeronica
 
17 Il computer connesso -- 1
17 Il computer connesso -- 117 Il computer connesso -- 1
17 Il computer connesso -- 1
Federico Gobbo
 
Sistemi operativi: confronto tra linux, windows e mac
Sistemi operativi: confronto tra linux, windows e macSistemi operativi: confronto tra linux, windows e mac
Sistemi operativi: confronto tra linux, windows e mac
Giovanni Mennea
 
La storia dei sistemi operativi
La storia dei sistemi operativiLa storia dei sistemi operativi
La storia dei sistemi operativi
zsimo23
 
Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014
Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014
Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014
Janhu Silvio Crispiatico
 
Ubuntu Linux
Ubuntu LinuxUbuntu Linux
Ubuntu Linux
Il Mosaico
 
Ubuntu Linux - Corso Base
Ubuntu Linux - Corso BaseUbuntu Linux - Corso Base
Ubuntu Linux - Corso Base
Andrea D'Alessandro
 
Introduzione a Linux: differenze con windows e strumenti per la programmazione
Introduzione a Linux: differenze con windows e strumenti per la programmazioneIntroduzione a Linux: differenze con windows e strumenti per la programmazione
Introduzione a Linux: differenze con windows e strumenti per la programmazione
Valerio Bruno
 
Installazione Linux
Installazione LinuxInstallazione Linux
Installazione Linux
arock84
 
Understanding Linux: 20 anni di kernel tra storia e tecnica
Understanding Linux: 20 anni di kernel tra storia e tecnicaUnderstanding Linux: 20 anni di kernel tra storia e tecnica
Understanding Linux: 20 anni di kernel tra storia e tecnicaMarco Ferrigno
 
I Love Linux - Pawel Zorzan Urban & Bocelli Davide
I Love Linux - Pawel Zorzan Urban & Bocelli DavideI Love Linux - Pawel Zorzan Urban & Bocelli Davide
I Love Linux - Pawel Zorzan Urban & Bocelli Davide
Pawel Zorzan Urban
 

What's hot (19)

Lezione due
Lezione dueLezione due
Lezione due
 
Open-source: storia di una rivoluzione silenziosa
Open-source: storia di una rivoluzione silenziosaOpen-source: storia di una rivoluzione silenziosa
Open-source: storia di una rivoluzione silenziosa
 
FLOSS: Free Software e Open Source
FLOSS: Free Software e Open SourceFLOSS: Free Software e Open Source
FLOSS: Free Software e Open Source
 
Elio Tondo - Linux In Azienda
Elio Tondo - Linux In AziendaElio Tondo - Linux In Azienda
Elio Tondo - Linux In Azienda
 
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slidesLinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
LinuxDay 2004 - Linux - Storia e caratteristiche vincenti - slides
 
Presentazione Sistemi Operativi
Presentazione Sistemi OperativiPresentazione Sistemi Operativi
Presentazione Sistemi Operativi
 
Presentazione sulle caratteristiche di Windows
Presentazione sulle caratteristiche di WindowsPresentazione sulle caratteristiche di Windows
Presentazione sulle caratteristiche di Windows
 
Sistema operativo unix
Sistema operativo unixSistema operativo unix
Sistema operativo unix
 
17 Il computer connesso -- 1
17 Il computer connesso -- 117 Il computer connesso -- 1
17 Il computer connesso -- 1
 
Sistemi operativi: confronto tra linux, windows e mac
Sistemi operativi: confronto tra linux, windows e macSistemi operativi: confronto tra linux, windows e mac
Sistemi operativi: confronto tra linux, windows e mac
 
La storia dei sistemi operativi
La storia dei sistemi operativiLa storia dei sistemi operativi
La storia dei sistemi operativi
 
Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014
Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014
Presentazione del Software Libero e di Ubuntu al Linux Day 25 ottobre 2014
 
Lezione tre
Lezione treLezione tre
Lezione tre
 
Ubuntu Linux
Ubuntu LinuxUbuntu Linux
Ubuntu Linux
 
Ubuntu Linux - Corso Base
Ubuntu Linux - Corso BaseUbuntu Linux - Corso Base
Ubuntu Linux - Corso Base
 
Introduzione a Linux: differenze con windows e strumenti per la programmazione
Introduzione a Linux: differenze con windows e strumenti per la programmazioneIntroduzione a Linux: differenze con windows e strumenti per la programmazione
Introduzione a Linux: differenze con windows e strumenti per la programmazione
 
Installazione Linux
Installazione LinuxInstallazione Linux
Installazione Linux
 
Understanding Linux: 20 anni di kernel tra storia e tecnica
Understanding Linux: 20 anni di kernel tra storia e tecnicaUnderstanding Linux: 20 anni di kernel tra storia e tecnica
Understanding Linux: 20 anni di kernel tra storia e tecnica
 
I Love Linux - Pawel Zorzan Urban & Bocelli Davide
I Love Linux - Pawel Zorzan Urban & Bocelli DavideI Love Linux - Pawel Zorzan Urban & Bocelli Davide
I Love Linux - Pawel Zorzan Urban & Bocelli Davide
 

Viewers also liked

Data sekolah hhh5555 [autosaved]
Data sekolah hhh5555 [autosaved]Data sekolah hhh5555 [autosaved]
Data sekolah hhh5555 [autosaved]
Gogon Aji
 
Rapport 2014 e-déchets
Rapport 2014 e-déchetsRapport 2014 e-déchets
Rapport 2014 e-déchets
FactaMedia
 
Snaps of narri consortium october 2013
Snaps of narri consortium october 2013Snaps of narri consortium october 2013
Snaps of narri consortium october 2013
SR Dhamai
 
Impact of social media on tourism ppt
Impact of social media on tourism pptImpact of social media on tourism ppt
Impact of social media on tourism ppt
Mahesh Wadde
 
Method of costing
Method of costingMethod of costing
Method of costing
skillssoft
 
Proyecto Interactivo Administración 2da Parte
Proyecto Interactivo Administración 2da ParteProyecto Interactivo Administración 2da Parte
Proyecto Interactivo Administración 2da Parte
Alfredo Heredia Verduzco
 
Implementacion de energias alternativas para las soluciones de agua de pozos ...
Implementacion de energias alternativas para las soluciones de agua de pozos ...Implementacion de energias alternativas para las soluciones de agua de pozos ...
Implementacion de energias alternativas para las soluciones de agua de pozos ...
Rosa Elena Pacheco Ocando
 

Viewers also liked (8)

Data sekolah hhh5555 [autosaved]
Data sekolah hhh5555 [autosaved]Data sekolah hhh5555 [autosaved]
Data sekolah hhh5555 [autosaved]
 
Rapport 2014 e-déchets
Rapport 2014 e-déchetsRapport 2014 e-déchets
Rapport 2014 e-déchets
 
Lecture 12 13
Lecture 12 13Lecture 12 13
Lecture 12 13
 
Snaps of narri consortium october 2013
Snaps of narri consortium october 2013Snaps of narri consortium october 2013
Snaps of narri consortium october 2013
 
Impact of social media on tourism ppt
Impact of social media on tourism pptImpact of social media on tourism ppt
Impact of social media on tourism ppt
 
Method of costing
Method of costingMethod of costing
Method of costing
 
Proyecto Interactivo Administración 2da Parte
Proyecto Interactivo Administración 2da ParteProyecto Interactivo Administración 2da Parte
Proyecto Interactivo Administración 2da Parte
 
Implementacion de energias alternativas para las soluciones de agua de pozos ...
Implementacion de energias alternativas para las soluciones de agua de pozos ...Implementacion de energias alternativas para las soluciones de agua de pozos ...
Implementacion de energias alternativas para las soluciones de agua de pozos ...
 

Similar to Da Thompson a Torvalds: passato, presente e futuro del mondo *nix

Linux & Open Source : Lezione Due
Linux & Open Source : Lezione DueLinux & Open Source : Lezione Due
Linux & Open Source : Lezione Due
Dario Mazza
 
Un Sistema Aperto Per Menti Aperte
Un Sistema Aperto Per Menti AperteUn Sistema Aperto Per Menti Aperte
Un Sistema Aperto Per Menti AperteEmmanuele Bello
 
Linux e fs storia e caratteristiche vincenti
Linux e fs   storia e caratteristiche vincentiLinux e fs   storia e caratteristiche vincenti
Linux e fs storia e caratteristiche vincenti
Maurizio Antonelli
 
Amministrazione base dei sistemi Linux
Amministrazione base dei sistemi LinuxAmministrazione base dei sistemi Linux
Amministrazione base dei sistemi Linux
Paolo Campegiani
 
Introduzione al mondo GNU\Linux
Introduzione al mondo GNU\LinuxIntroduzione al mondo GNU\Linux
Introduzione al mondo GNU\Linux
Galliate Linux User Group
 
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
Mirko Mancin
 
Free software & Open Source (FLOSS)
Free software & Open Source (FLOSS)Free software & Open Source (FLOSS)
Free software & Open Source (FLOSS)
Piergiorgio Borgogno
 
Linux e fs - Storia e caratteristiche vincenti
Linux e fs - Storia e caratteristiche vincentiLinux e fs - Storia e caratteristiche vincenti
Linux e fs - Storia e caratteristiche vincenti
Maurizio Antonelli
 
LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...
LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...
LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...Maurizio Antonelli
 
GNU Linux introduction
GNU Linux introductionGNU Linux introduction
GNU Linux introduction
Vincenzo Paolo Fraddosio
 
Software open
Software openSoftware open
Software open
Salvatore Cianciabella
 
Linux
LinuxLinux
Linux & Open Source : Lezione Tre
Linux & Open Source : Lezione TreLinux & Open Source : Lezione Tre
Linux & Open Source : Lezione Tre
Dario Mazza
 
Understanding Linux
Understanding LinuxUnderstanding Linux
Understanding Linux
NaLUG
 
Lug Roma3 Corso Linux Base
Lug Roma3   Corso Linux BaseLug Roma3   Corso Linux Base
Lug Roma3 Corso Linux Basefosk
 
Venti anni di GNU/Linux
Venti anni di GNU/LinuxVenti anni di GNU/Linux
Venti anni di GNU/Linux
Alex Palesandro
 
Ti base 2020
Ti base 2020Ti base 2020
Ti base 2020b
Ti base 2020bTi base 2020b
Ti base 2020b
Salvatore Cianciabella
 

Similar to Da Thompson a Torvalds: passato, presente e futuro del mondo *nix (20)

Linux & Open Source : Lezione Due
Linux & Open Source : Lezione DueLinux & Open Source : Lezione Due
Linux & Open Source : Lezione Due
 
Un Sistema Aperto Per Menti Aperte
Un Sistema Aperto Per Menti AperteUn Sistema Aperto Per Menti Aperte
Un Sistema Aperto Per Menti Aperte
 
Linux e fs storia e caratteristiche vincenti
Linux e fs   storia e caratteristiche vincentiLinux e fs   storia e caratteristiche vincenti
Linux e fs storia e caratteristiche vincenti
 
Amministrazione base dei sistemi Linux
Amministrazione base dei sistemi LinuxAmministrazione base dei sistemi Linux
Amministrazione base dei sistemi Linux
 
Introduzione al mondo GNU\Linux
Introduzione al mondo GNU\LinuxIntroduzione al mondo GNU\Linux
Introduzione al mondo GNU\Linux
 
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
 
Free software & Open Source (FLOSS)
Free software & Open Source (FLOSS)Free software & Open Source (FLOSS)
Free software & Open Source (FLOSS)
 
Storia di Linux
Storia di LinuxStoria di Linux
Storia di Linux
 
Linux e fs - Storia e caratteristiche vincenti
Linux e fs - Storia e caratteristiche vincentiLinux e fs - Storia e caratteristiche vincenti
Linux e fs - Storia e caratteristiche vincenti
 
LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...
LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...
LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...
 
GNU Linux introduction
GNU Linux introductionGNU Linux introduction
GNU Linux introduction
 
Software open
Software openSoftware open
Software open
 
Slide trentin
Slide trentinSlide trentin
Slide trentin
 
Linux
LinuxLinux
Linux
 
Linux & Open Source : Lezione Tre
Linux & Open Source : Lezione TreLinux & Open Source : Lezione Tre
Linux & Open Source : Lezione Tre
 
Understanding Linux
Understanding LinuxUnderstanding Linux
Understanding Linux
 
Lug Roma3 Corso Linux Base
Lug Roma3   Corso Linux BaseLug Roma3   Corso Linux Base
Lug Roma3 Corso Linux Base
 
Venti anni di GNU/Linux
Venti anni di GNU/LinuxVenti anni di GNU/Linux
Venti anni di GNU/Linux
 
Ti base 2020
Ti base 2020Ti base 2020
Ti base 2020
 
Ti base 2020b
Ti base 2020bTi base 2020b
Ti base 2020b
 

More from Felice Pescatore

Il Cinismo dell'Agilista Imbruttito
Il Cinismo dell'Agilista ImbruttitoIl Cinismo dell'Agilista Imbruttito
Il Cinismo dell'Agilista Imbruttito
Felice Pescatore
 
Intelligent Business Agility
Intelligent Business AgilityIntelligent Business Agility
Intelligent Business Agility
Felice Pescatore
 
AgileBIM, BIM mets Agile
AgileBIM, BIM mets AgileAgileBIM, BIM mets Agile
AgileBIM, BIM mets Agile
Felice Pescatore
 
Disciplined Agile, la Promessa, la Svolta e il Prestigio
Disciplined Agile, la Promessa, la Svolta e il PrestigioDisciplined Agile, la Promessa, la Svolta e il Prestigio
Disciplined Agile, la Promessa, la Svolta e il Prestigio
Felice Pescatore
 
AgileBIM overview
AgileBIM overviewAgileBIM overview
AgileBIM overview
Felice Pescatore
 
The Disciplined Approach to Change
The Disciplined Approach to ChangeThe Disciplined Approach to Change
The Disciplined Approach to Change
Felice Pescatore
 
The Disciplined Approach to Change
The Disciplined Approach to ChangeThe Disciplined Approach to Change
The Disciplined Approach to Change
Felice Pescatore
 
PMI Disciplined Agile: la Promessa, la Svolta e il Prestigio
PMI Disciplined Agile: la Promessa, la Svolta e il PrestigioPMI Disciplined Agile: la Promessa, la Svolta e il Prestigio
PMI Disciplined Agile: la Promessa, la Svolta e il Prestigio
Felice Pescatore
 
Agilozzi le testa tutte
Agilozzi le testa tutteAgilozzi le testa tutte
Agilozzi le testa tutte
Felice Pescatore
 
39bit al secondo
39bit al secondo39bit al secondo
39bit al secondo
Felice Pescatore
 
Un cuore moderno per l'Agilità
Un cuore moderno per l'AgilitàUn cuore moderno per l'Agilità
Un cuore moderno per l'Agilità
Felice Pescatore
 
L'Occhio di Ra sul Testing
L'Occhio di Ra sul TestingL'Occhio di Ra sul Testing
L'Occhio di Ra sul Testing
Felice Pescatore
 
#NoElevator4DevOps
#NoElevator4DevOps#NoElevator4DevOps
#NoElevator4DevOps
Felice Pescatore
 
Don't Dirty my Backlog!
Don't Dirty my Backlog!Don't Dirty my Backlog!
Don't Dirty my Backlog!
Felice Pescatore
 
Industry 4.0... a che punto siamo in Italia
Industry 4.0... a che punto siamo in ItaliaIndustry 4.0... a che punto siamo in Italia
Industry 4.0... a che punto siamo in Italia
Felice Pescatore
 
Agile IoT & Eclipse Duttile
Agile IoT & Eclipse DuttileAgile IoT & Eclipse Duttile
Agile IoT & Eclipse Duttile
Felice Pescatore
 
Fuffa Day - The Sixth Sense
Fuffa Day - The Sixth SenseFuffa Day - The Sixth Sense
Fuffa Day - The Sixth Sense
Felice Pescatore
 
#NoElevator for DevOps
#NoElevator for DevOps#NoElevator for DevOps
#NoElevator for DevOps
Felice Pescatore
 
Value Focused Team
Value Focused TeamValue Focused Team
Value Focused Team
Felice Pescatore
 
Value Focused Team: road to DevOps
Value Focused Team: road to DevOpsValue Focused Team: road to DevOps
Value Focused Team: road to DevOps
Felice Pescatore
 

More from Felice Pescatore (20)

Il Cinismo dell'Agilista Imbruttito
Il Cinismo dell'Agilista ImbruttitoIl Cinismo dell'Agilista Imbruttito
Il Cinismo dell'Agilista Imbruttito
 
Intelligent Business Agility
Intelligent Business AgilityIntelligent Business Agility
Intelligent Business Agility
 
AgileBIM, BIM mets Agile
AgileBIM, BIM mets AgileAgileBIM, BIM mets Agile
AgileBIM, BIM mets Agile
 
Disciplined Agile, la Promessa, la Svolta e il Prestigio
Disciplined Agile, la Promessa, la Svolta e il PrestigioDisciplined Agile, la Promessa, la Svolta e il Prestigio
Disciplined Agile, la Promessa, la Svolta e il Prestigio
 
AgileBIM overview
AgileBIM overviewAgileBIM overview
AgileBIM overview
 
The Disciplined Approach to Change
The Disciplined Approach to ChangeThe Disciplined Approach to Change
The Disciplined Approach to Change
 
The Disciplined Approach to Change
The Disciplined Approach to ChangeThe Disciplined Approach to Change
The Disciplined Approach to Change
 
PMI Disciplined Agile: la Promessa, la Svolta e il Prestigio
PMI Disciplined Agile: la Promessa, la Svolta e il PrestigioPMI Disciplined Agile: la Promessa, la Svolta e il Prestigio
PMI Disciplined Agile: la Promessa, la Svolta e il Prestigio
 
Agilozzi le testa tutte
Agilozzi le testa tutteAgilozzi le testa tutte
Agilozzi le testa tutte
 
39bit al secondo
39bit al secondo39bit al secondo
39bit al secondo
 
Un cuore moderno per l'Agilità
Un cuore moderno per l'AgilitàUn cuore moderno per l'Agilità
Un cuore moderno per l'Agilità
 
L'Occhio di Ra sul Testing
L'Occhio di Ra sul TestingL'Occhio di Ra sul Testing
L'Occhio di Ra sul Testing
 
#NoElevator4DevOps
#NoElevator4DevOps#NoElevator4DevOps
#NoElevator4DevOps
 
Don't Dirty my Backlog!
Don't Dirty my Backlog!Don't Dirty my Backlog!
Don't Dirty my Backlog!
 
Industry 4.0... a che punto siamo in Italia
Industry 4.0... a che punto siamo in ItaliaIndustry 4.0... a che punto siamo in Italia
Industry 4.0... a che punto siamo in Italia
 
Agile IoT & Eclipse Duttile
Agile IoT & Eclipse DuttileAgile IoT & Eclipse Duttile
Agile IoT & Eclipse Duttile
 
Fuffa Day - The Sixth Sense
Fuffa Day - The Sixth SenseFuffa Day - The Sixth Sense
Fuffa Day - The Sixth Sense
 
#NoElevator for DevOps
#NoElevator for DevOps#NoElevator for DevOps
#NoElevator for DevOps
 
Value Focused Team
Value Focused TeamValue Focused Team
Value Focused Team
 
Value Focused Team: road to DevOps
Value Focused Team: road to DevOpsValue Focused Team: road to DevOps
Value Focused Team: road to DevOps
 

Da Thompson a Torvalds: passato, presente e futuro del mondo *nix

  • 1. Linux Day Avellino framework Da Thompson a Torvalds: passato, presente e futuro del mondo *nix Felice Pescatore www.storiainformatica.it
  • 2. AGENDA • Le origini di Unix • Da Unix a Linux passando per Minix • Linux Oggi 2
  • 3. Le origini di Unix 3
  • 4. Cos‟è un Sistema Operativo? I 5 punti salienti Un Sistema Operativo (Operating System) è programma di controllo di un calcolatore che consente di: • allocare e gestire le risorse; • schedulare i task; • fornire una piattaforma per eseguire applicazioni utente; • fornire una interfaccia di gestione delle risorse per gli sviluppatori; • Fornire una interfaccia tra utilizzatori e computer. 4
  • 5. Before Unix A batch world Prima dell’avvento di Unix, la maggior parte dei sistemi operativi funzionano come una collezione di processi batch, eseguiti in modo sequenziale. Questo approccio, accettabile agli albori dell’elettronica moderna, non riesce chiaramente a tenere il passo dell’inarrestabile evoluzione dei calcolatori. #1 Enter data in files to be later processed #2 Process Collection or “Batch” of files #3 Enter data in files to be later processed 5
  • 6. Space Travel and MULTICS 1969 Nel 1969, il giovane ingegnere a Ken Thompson è impegnato nel Progetto MULTICS presso gli AT&T Bell Laboratories. Parallelamente si dedica allo viluppo di Space Travel, un simulatore del Sistema Solare che consente al giocatore di pilotare una navetta, navigando tra i pianeti e tentando anche di effettuare l’atterraggio. Il gioco è scritto inizialmente in assembly per MULTICS e poi convertito in Fortran per GECOS (sistema operativo della GE messo a fattore comune per MULTICS). Il risultato non è propriamente entusiasmante: • la simulazione soffre di frequenti «scatti» ed il gioco è difficile da controllare a causa dell’interazione tramite comandi da digitare sulla tastiera; • il costo per partita è di circa 75$ se si considera il costo di impiego della CPU 6
  • 7. Space Travel and PDP-7 La nascita di Unix Thompson, supportato da Dennis Ritchie, decide di sfruttare un PDP-7 poco utilizzato per realizzare una versione «avanzata» di Space Travel, ritenendo il suo sottosistema grafico assolutamente adeguato al compito. L’impresa è però ardua: i due colleghi devono riscrivere praticamente l’intero sistema di controllo dell’hardware da zero: dalle rutine di gestione dell’aritmetica in virgola mobile fino al sistema di Debug. Il tutto viene creato in assembly con un cross-compiler che gira su GECOS e da cui si ricavano schede/nastri perforate/i da caricare nel PDP-7. Thompson si innamora del PDP-7 e decide di creare un file-system ed una serie di utility per operare direttamente con esso, senza la necessità di passare attraverso GECOS: nasce il primo embrione di UNIX! 7
  • 8. UNIX A name suggested by Peter Neumann Il nome UNIX derivava da un gioco di parole sull'acronimo MULTICS (Multiplexed Information and Computing Service), ironizzando sul fatto che UNIX sarebbe riuscito a fare una cosa fondamentale che a MULTICS non era riuscita (almeno finché AT&T era parte del progetto): eseguire programmi. Ken Thompson, Dennis Ritchie e Peter Neumann 8
  • 9. UNIX evolution step Most changes • 1971, 3 novembre: prima release ufficiale di Unix • 1972, 6 dicembre: seconda release • 1973: Unix viene quasi interamente riscritto in C • 1978: nasce BSD (Berkeley Software Distribution) 9
  • 10. BSD Berkeley Software Distribution AT&T scegli come utenti privilegiati le Università e propria in una di esse, Berkeley, Bill Joy e Chuck Haley effettuano importanti modifiche sul codice originale di Unix (acquistato su nastro per 400$) e nel 1978 rilasciano una propria versione custom denominata "Berkeley Software Distribution”: ovvero BSD. Bill Joy 1 0
  • 11. Da Unix a Linux passando per Minix 11
  • 12. I sistemi operativi negli anni „80 One leader • Microsoft con il DOS domina il settore dei sistemi operativi per PC; • Apple ha il MAC, ma la quota di mercato è esigua; • UNIX è potente ma poco adatto ai Personal Computer e al mercato consumer; Tutti e tre hanno una caratteristica comune: sono proprietari e il loro codice è protetto da copyright ed è chiuso. Ciò rende impossibile effettuare alcuna modifica senza pagare alte commissioni in licenze speciali. 11
  • 13. Il progetto GNU Richard Stallman Nel 1983 Richard Stallman crea il progetto GNU, credendo fortemente che il software deve essere libero da restrizioni di copyright in modo da poterlo modificare, adattare e migliorare in base alle proprie esigenze. GNU is a recursive acronym for “GNU's Not Unix” Aim at developing a complete Unix-like operating system which is free for copying and modification Companies make their money by maintaining and distributing the software, e.g. optimally packaging the software with different tools (Redhat, Slackware, Mandrake, SuSE, etc) Stallman built the first free GNU C Compiler in 1991. But still, an OS was yet to be developed 13
  • 14. Minix e Linux Tanenbaum -> Torvalds • Il professor Andrew Tanenbaum realizza a scopi didattici Minix, ispirato a UNIX ma con un’architettura a microkernel ed eseguibile su un comune PC; • Il 17 settembre del 1991, Linus Torvalds, studente al secondo anno di Computer all’Università di Helsinki, presenta pubblicamente il primo embrione di un kernel monolitico, che diventerà Linux 0.01. Message from Professor Andrew Tanenbaum to Linus Torvalds " I still maintain the point that designing a monolithic kernel in 1991 is a fundamental error. Be thankful you are not my student. You would not get a high grade for such a design :-)“ 14
  • 15. Linux in the beginning … a terminal! Linux nasce come un emulatore di terminale (scritto in C e Assembly) eseguibile senza alcun sistema operativo e finalizzato, principalmente, a due operazioni: mandare segnali alla porta seriale e riceverli, il tutto attraverso due thread separati. Torvalds ne decide lo sviluppo trovando macchinoso e inefficiente quanto realizzato da Tanenbaum con Minux. Ben presto emerge la necessità di aggiungere il supporto ad un file system per consentire la gestione di operazioni di I/O su disco (lettura e scrittura), dando il via alla lenta trasformazione del terminale in un vero e proprio Kernel. ATTENZIONE: LINUX è in realtà il nome del KERNEL, mentre il nome del sistema operativo che su esso si poggia è GNU/Linux con tutti i relativi componenti 15
  • 16. Linux in the beginning … the name! Il nome "Linux”, a dispetto dell’assonanza tra il nome dell’ideatore e quello del sistema (LINus UniX), è da attribuirsi a Ari Lemke, assistente alla Helsinki University of Technology, che mette a disposizione lo spazio FTP per il progetto (ftp.funet.fi) e lo sceglie come nome della directory. Il nome originariamente scelto da Torvalds, invece, era Freax, una combinazione tra “free”, “freak” e “x”, ad indicare le caratteristiche Unixlike del sistema. LINUX e MINIX non hanno alcun codice sorgente in comune, ma condividono l’dea di fondo: realizzare un sistema UNIX like in grado di funzionare sui comuni personal computer. 16
  • 17. Linux in the beginning … TUX! Tux è la mascotte ufficiale del kernel Linux, creata da Larry Ewing nel 1996 ed ispirata da Tove Torvalds, moglie di Linus. TUX = Torvalds UniX (James Hughes). 17
  • 19. Distribuzioni tante soluzioni Le differenze tra le varie distribuzioni Linux sono di carattere tecnico, organizzativo e filosofico. Le prime consistono in un diverso supporto dei dispositivi hardware e nella configurazione del sistema operativo e dei pacchetti software. Le seconde sono spesso motivate da scelte tecniche ma anche da ragioni storiche e/o filosofiche. Il sito web DistroWatch offre una panoramica di tutte le distribuzioni Linux più note, attive o meno, e mantiene una classifica delle distribuzioni, usando il page viewcome misura della popolarità relativa[2]. 19
  • 20. Distribuzioni composizione Una tipica distribuzione Linux moderna comprende un kernel Linux, librerie e strumenti GNU, software addizionale, documentazione, un server grafico, un window manager e/o un ambiente destkop un terminale virtuale, ed un sistema di gestione dei pacchetti. Molte distribuzioni forniscono un sistema di installazione simile a quello di altri moderni sistemi operativi. Distribuzioni self-hosting come Gentoo Linux forniscono il codice sorgente di tutto il software ed includono le versioni eseguibili solo di un kernel base, compilatore e programma di installazione; questo programma compila tutto il software per la specifica architettura del computer dell’utente. 20
  • 21. FOSS Free and Open Source Software La quasi totalità del software incluso in una distro Linux è FOSS (Free and Open Source Software - Software libero Open Source) che è distribuito dagli sviluppatori sia in forma precompilata che come codice sorgente, cosa che permette agli utenti di modificare e ricompilare il codice originale a proprio piacimento. Una parte del software incluso in alcune distribuzioni può essere proprietario e non disponibile sotto forma di sorgenti. 21
  • 22. Distribuzioni tante soluzioni Ubuntu: attualmente la Distribuzione più diffusa, è basata su Debian e si propone di offrire un sistema operativo completo e semplice da utilizzare, insieme alle sue derivate ufficiali: Kubuntu: versione di Ubuntu equipaggiata con il desktop environment KDE. Xubuntu: versione di Ubuntu equipaggiata con il desktop environment XFCE. Lubuntu: versione di Ubuntu equipaggiata con il desktop environment LXDE, adatto a PC molto vecchi e poco performanti. Edubuntu: versione di Ubuntu pensata principalmente per l’utilizzo in ambito scolastico. Arch Linux: distribuzione rolling release minimalista, veloce, leggera ed altamente personalizzabile. Di default non è installato né il desktop environment, né il server X, e l’altissima necessità di utilizzare comandi da terminale e procedure di compilazione per l’installazione dei vari software la rende una distro poco adatta all’utenza comune. CentOS: derivata da Red Hat Linux, mira ad offrire un sistema operativo libero e gratuito per il mercato enterprise Chakra GNU/Linux: distribuzione che mira ad offrire una versione di Arch Linux completa e semplice da usare. Debian: distribuzione contenente solo software libero e sostenuta da una comunità di volontari da tutto il mondo usata come base per molti altri sistemi operativi. DragonFly BSD: distro di linux gratuita della BSD la cui prima versione è stata pubblicata il 2008-12-13 Fedora: distribuzione realizzata in stretta collaborazione con la comunità GNU/Linux e sponsorizzata da Red Hat Gentoo: distribuzione dedicata agli utenti esperti, è nota per il suo sistema di gestione dei pacchetti che permette di installare le applicazioni direttamente dal codice sorgente. Linux Mint: basata su Ubuntu, è equipaggiata di default con codec proprietari e con GNOME Shell e MATE al posto di Unity. Mandriva Linux: originariamente chiamata Mandrake Linux, punta all’utilizzo da parte degli utenti meno esperti con un sistema facile da utilizzare. Red Hat Linux: basata su Fedora, è una distribuzione commerciale direttamente sviluppata da Red Hat. openSUSE: distribuzione creata da sviluppatori volontari e sponsorizzata da Novell. SUSE Linux: versione commerciale di openSUSE sviluppata da Novell. Slackware: una delle distribuzioni più longeve (nasce nel 1993), è essenziale ed elegante ed è oggi una delle più apprezzate e utilizzate dall’utenza esperta per la sua alta stabilità. 22
  • 23. Diffusione Growing and growing… Nel 1992, quando Torvalds rese disponibile il codice sorgente di Linux, gli utenti del “pinguino” erano circa un centinaio per poi diventare un migliaio l’anno successivo. At 19/10/2013 10:05pm, there are 120,206 users and 98,064 machines registered. My guess at the number of Linux users 68,146,527 http://linuxcounter.net/ World population: 7,171,224,802 Internet users: 2,672,415,435 23
  • 24. ABOUT ME get in touch www.felicepescatore.it Felice Pescatore, Agile Software Architect Email: felice.pescatore@gmail.com @felicepescatore Cell. 392/7157684 Disciplined Agile Delivery Italy Group 24