UNIX: un Viaggio Spaziale

Ho scelto proprio una frase di Ken Thomson per l’inizio di questo mio articolo UNIX: un Viaggio Spaziale

“Non puoi fidarti del codice che non hai creato completamente tu stesso. (Soprattutto codice di aziende che danno lavoro a persone come me.)“

Ken thomson

In questo articolo spiegherò come il software e lo sviluppo del software è cambiato grazie a UNIX e al linguaggio C….

Gli Inizi

Thompson (sitting) and Ritchie working together at a PDP-11
Thompson (seduto) and Ritchie stanno lavorando al  PDP-11

Questi eventi sono fondamentali per capire l’importanza e l’impatto che avrà negli anni questo sistema operativo. Basta pensare che Java fu creato da un team di esperti capitanati da James Gosling proprio alla Sun Microsystems. Il linguaggio C è utilizzatissimo in ogni ambito moderno, difatti è stato usato per scrivere il nuovo sistema operativo di Google: FuchsiaOS

UNIX e software libero

L’idea del software libero nasce attorno agli anni 80, una delle spinte più importanti fu data nel 1983 da Richard Stallman. Stallman, uno degli autori originali del popolare programma Emacs e di GCC il compilatore GNU per il linguaggio C era membro di lunga data della comunità hacker presso il laboratorio di intelligenza artificiale del Massachusetts Institute of Technology (MIT), fondò il progetto GNU (GNU’s Not Unix) con l’intenzione di creare GNU, un sistema operativo completamente libero.

Richard Stallman nei panni di Saint IGNUcius
Richard Stallman nei panni di Saint IGNUcius

Le quattro libertà essenziali

  1. Libertà di eseguire il programma come si desidera, per qualsiasi scopo (libertà 0).
  2. Libertà di studiare come funziona il programma e di modificarlo in modo da adattarlo alle proprie necessità (libertà 1). L’accesso al codice sorgente ne è un prerequisito.
  3. Libertà di ridistribuire copie in modo da aiutare gli altri (libertà 2).
  4. Libertà di migliorare il programma e distribuirne pubblicamente i miglioramenti da voi apportati (e le vostre versioni modificate in genere), in modo tale che tutta la comunità ne tragga beneficio (libertà 3). L’accesso al codice sorgente ne è un prerequisito.

Verso e oltre gli anni 2000

  • 1983 Richard Stalmann GNU
  • 1991 Linux Torvalds    kernel Linux
  • 2007 Apple kernel XNU basato su BSD
  • 2009 Google Android (kernel Linux)
  • 2011 Google ChromeOS (kernel Linux)

Molte aziende multinazionali hanno adottato il kernel Linux per i loro prodotti. Ma cosa c’entra Linux con UNIX?

Il primo nucleo del kernel Linux fu creato il 25 agosto 1991 dal giovane studente finlandese di informatica Linus Torvalds che, appassionato di programmazione, era insoddisfatto del sistema operativo Minix (sistema operativo unix-like destinato alla didattica, scritto da Andrew S. Tanenbaum, professore ordinario di Sistemi di rete all’università di Amsterdam), poiché supportava male la nuova architettura i386 a 32 bit, all’epoca tanto economica e popolare. Così Torvalds decise di creare un kernel unix con lo scopo di divertirsi e studiare il funzionamento del suo nuovo computer, che era un 80386.

Oggi molte importanti società nel campo dell’informatica come GoogleMicrosoftAmazonIBMOracleHewlett-PackardRed HatCanonicalNovell e Valve sviluppano e pubblicano sistemi Linux. 

I sistemi Linux e derivati vengono chiamati UNIX-LIKE

LINUS TORVALDS

Nvidia:Fuck - Linus torvalds
Linus Torvalds nel famoso NVIDIA: Fuck You

Nell’ambiente informatico Torvalds è “famoso” per i suoi toni critici e spesso poco rispettosi verso molte tecnologie.

UNIX OVUNQUE: perché è importante per chi sviluppa software?

Screenshot di Mac OSX Cheetah
Mac OSX Cheetah
  • Apple rilascia il Progetto Kodiak a uso interno, non pubblico il 16 marzo 1999.
  • Il 24 marzo 2001, Apple presenta Mac OS X Cheetah con kernel Unix Darwin
  • Nel 2009 Mac OS X Tiger abbandona completamente l’architettura Power PC in favore di quella Intel
Screenshot della Bash di Ubuntu su Windows (WSL)
Bash di Ubuntu su Windows tramite WSL

WSL2 la seconda versione del Sottosistema Linux per Windows viene annunciata per la prima volta a maggio 2019 e introdotta ufficialmente in Windows 10 Aggiornamento di maggio 2020

Screenshot di Oracle Solaris 11
Screenshot di Oracle Solaris 11

Nel giugno 2005, Sun ha annunciato che si sarebbe allontanata dalla natura proprietaria di Solaris e avrebbe rilasciato la maggior parte della sua base di codice sotto la licenza CDDL. Sun rilascerà anche Solaris con il nuovo nome OpenSolaris. Tuttavia, dopo che Oracle ha acquistato Sun nel gennaio 2010, ha anche acquisito i diritti su Sun Solaris, che è stato successivamente ribattezzato Oracle Solaris, e ha interrotto OpenSolaris.

Screenshot di Ubuntu 20.04 LTS
Screenshot di Ubuntu 20.04 LTS

Nel 2004 nasce la distribuzione basata su Linux (per la precisione da una distro unstable di Debian) Ubuntu. È una delle più famose distribuzioni, anche chi non è del settore probabilmente ne avrà sentito parlare.

Parlerò delle differenti distribuzioni Linux in un articolo specifico.

Il titolo dell’articolo Un Viaggio Spaziale deriva dal fatto che Unix fu sviluppato inizialmente per poter eseguire un programma chiamato “Space Travel“, che simulava i movimenti del Sole e dei pianeti, così come il movimento di una navicella spaziale che poteva atterrare in diversi luoghi.

Se vuoi cimentarti con i comandi fondamentali UNIX: Leggi questo mio articolo

Pubblicato da Carlo Contardi

Carlo Contardi, docente di informatica e sviluppatore Full Stack, condivide la sua passione per la programmazione e l’informatica attraverso il suo blog Space Coding. Offre preziosi consigli e soluzioni pratiche a chi vuole imparare a programmare o migliorare le proprie abilità. 🚀👨‍💻

Translate »