I sistemi operativi su x86 negli Anni 90

Mentre scrivo queste note (2016), l’informatica personale e professionale (non server) gravita attorno a due famiglie di microprocessori: x86 e ARM. I primi regnano da sempre su notebook e desktop (e server), i secondi su smartphone, tablet, wearable e set-top box.

Trent’anni fa la situazione era ben diversa! C’era un’ampia scelta di processori e architetture. E il mercato dei microcomputer era diviso in personal computer e workstation, con queste ultime equipaggiate con processori RISC dalle prestazioni e dal prezzo stellari.

Le macchine NeXT, come tante altre piattaforme nate negli Anni ’80, erano basate su architettura Motorola 68K, in particolare sul 68040 a 25 o 33 MHz. Prima dell’arrivo della 68060, questa CPU era la più potente della famiglia, partita con lo storico 68000 a 16 bit (cuore di Macintosh, Amiga, Atari ST) e successivamente evoluta sui successivi 68020 e 68030. Fatto poco pubblicizzato nei dibattiti sul retrocomputing, il sistema operativo NeXTStep fu reso disponibile anche per altre architetture oltre alla m68K e, dunque, al NeXTCube e alle NeXTstation: Intel x86, HP PA-RISC e Sun SPARC. Merito del fatto che fosse basato su un kernel Unix, senza dubbio: Unix e il linguaggio C, infatti, sono stati progettati proprio con la portabilità in mente. Supportare diverse architetture, in realtà, non fu una caratteristica solo di Unix: anche le prime versioni di Windows NT vennero rese disponibili su diverse architetture (x86, DEC Alpha, MIPS R4000 per la 3.1, PowerPC e SPARC per la successiva 3.51). Anche BeOS apparve prima per PowerPC e poi per Intel. L’architettura x86 a 32 bit era ancora una scommessa e l’arena dei microprocessori RISC ad alte prestazioni era piuttosto affollata: probabilmente nessuno sapeva per certo quale (o quali) architettura sarebbe risultata vincente e non si voleva perdere il treno. Sono trascorsi oltre vent’anni da allora e la storia è scritta: in ambito PC è rimasta solo l’architettura Intel, oggi consolidata a 64 bit e multicore, la sforzo di IBM e Motorola su PowerPC si è arenato sul G5, i microprocessori RISC hanno perso il vantaggio di prestazioni, i microprocessori non x86 sono pressoché totalmente relegati al mondo dei server mission critical, come quelli delle compagnie telefoniche.

Del mondo delle workstation RISC parlerò prossimamente, mentre in questa sede vorrei sofferarmi sul mondo dei personal. È interessante, infatti, soffermarsi sulla architettura x86, guardando la situazione al 1993, anno in cui NeXT ha rilasciato NeXTStep versione 3.1 per la piattaforma Intel. La tabella qui sotto mostra la timeline dei sistemi operativi a 32 bit per piattaforma x86 (in grigio il sistema su architetture non x86, in verde la disponibilità sulla piattaforma Intel):

Screen Shot 2016-05-11 at 07.54.09

In quel periodo la stragrande maggioranza dei computer x86 faceva girare il DOS (con i suoi abbondanti 640K di memoria RAM!) che a sua volta faceva girare Windows. Tra i sistemi a 32 bit in grado di sfruttare appieno le caratteristiche dei processori 80386 e 80486 c’era OS/2. La versione 2.0 fu la prima realmente a 32 bit, mentre la successiva versione 2.1 migliorò prestazioni e compatibilità. Nel 1993, insieme a NeXTstep e OS/2, fece la sua comparsa Windows NT 3.1, il sistema operativo sviluppato da Microsoft in parallelo allo stream al 16bit. La release 1.0 di Linux arriverà nel 1994, mentre BeOS arriverà dopo qualche anno. Possiamo citare anche Solaris (che si chiamava SunOS) e Plan 9, uscito dai laboratori AT&T come il suo predecessore Unix.

Volendo abbracciare un quinquennio, tra il 1993 e il 1998, appare un mercato ricco che offriva ben 6 sistemi operativi (NeXTSTep, Solaris, BeOS, Windows NT, OS/2, Linux e Plan 9) più l’ibrido Windows 95 che aveva pezzi a 16bit e pezzi a 32bit. Volendo poi allargare al mondo della workstation RISC, c’erano anche VMS (DEC) e i vari Unix come Irix (SGI), AIX (IBM) e HP/UX (HP).

Torniamo al mondo x86. Il tempo è passato e una specie di selezione naturale ha lasciato in vita tre sistemi operativi e (di fatto) una sola piattaforma hardware: Mac OS X (nato dalle ceneri di NeXTStep), Windows 10 (evoluzione di Windows NT) e Linux. Esiste ancora Solaris per x86, ma credo di poter affermare che il suo utilizzo è per lo più in ambito server, mentre è sempre più raro trovarlo sulle workstation. Wikipedia, peraltro, ci ricorda che questa categoria di calcolatori non esiste più in tecnologia RISC: il 2009 ha segnato la fine della produzione delle ultime workstation IBM con tecnologia Power, mentre l’anno precedente terminò la produzione delle workstation Sun e HP. L’architettura x86-64 è l’unica oggi disponibile e la scelta si articola nella velocità e nel numero di processori, nel tipo e nella dimensione della RAM ed eventualmente nell’affidabilità complessiva dei componenti.

Un ultimo sguardo al percorso evolutivo: NeXTStep ha preso vita nel mondo delle workstation, evolvendo poi sui computer desktop per giungere su smartphone, tablet e wearable nelle varie declinazioni di Mac OS X e iOS. Linux è partito dal mondo desktop, ma oggi  domina il mercato dei server, degli smartphone (si pensi ad Android), dei sistemi embedded e degli appliance multimediali. Windows resta leader sui desktop, mentre in ambito mobile ed embedded ha quote di mercato pressoché invisibili.

Mi chiedo se vedrà mai la luce un nuovo sistema operativo, ma credo sia fortemente improbabile vista la complessità dei tre sistemi oggi esistenti. Inoltre, essendo Linux e il suo ecosistema totalmente opensource, forse non vale la pena partire da zero mentre è più conveniente partire da una base solida e robusta con 20 anni di codice alle spalle.

Primo browser e primo sito web italiano su NeXT

(questo non è un pesce d’aprile)

Domani e dopodomani, 2-3 Aprile 2016, si svolgerà a Roma il Primo Raduno Nazionale del Retrocomputing Club Italia, di cui ho già scritto qualche settimana fa.

Al raduno porterò la NeXTStation N1100, con la SoundBox e (purtroppo!) un triste monitor LCD Philips. Dico purtroppo perché non mi è stato possibile trasportare il grosso monitor NeXT MegaPixel Display da 17″ dal caveau in Sardegna sino alla Capitale.

In occasione dell’evento, per rendere più ricca la condivisione con coloro che visiteranno la mostra, ho installato sulla N1100 il browser Nexus (che inizialmente si chiamava World-Wide Web) scritto da Tim Berners-Lee… mentre inventava il web! Ovviamente il Nexus non è in grado di visualizzare i siti moderni (ma neppure quelli piuttosto datati), sia per complessità delle pagine, sia per la presenza di componenti ignote ai quei tempi (CSS, Javascript), sia per il supporto al solo HTTP 1.0, che rende pressoché impossibile (salvo intervenire con un proxy nel mezzo, ndr) accedere ai moderni siti virtualizzati su una singola istanza di Apache.

L’ideale sarebbe stato avere il primo browser della storia con il primo sito web italiano della storia…

Ho dunque contattato gli ex-colleghi del CRS4 (Andrea Mameli, Gavino Paddeu, Paolo Sirigu, Pietro Zanarini e Antonio Concas per l’indispensabile supporto sistemistico), i quali hanno riesumato a tempo record l’homepage del CRS4 di quegli anni (credo si tratti della home del 1993) che si vede perfettamente. Ecco qui di seguito uno screenshot del Nexus che mostra la pagina del CRS4 raggiungibile all’indirizzo http://history.crs4.it/

crs4Una curiosità: nel pannellino informativo del Nexus, Tim Berners-Lee definisce il proprio lavoro “An exercise in global information availability”. Un esercizio che, davvero, ha cambiato il mondo.

BaCKStepBlog: in ricordo della piattaforma NeXT

Questo umilissimo blog (BaCKStepBlog, per gli amici che verranno BSB) nasce dalla constatazione che oggi (Ottobre 2015) non si trovano risorse ampie sui sistemi NeXT (NeXT Computer System, NeXTCube, NeXTStation, NeXTSTEP) in lingua italiana. Anche dando uno sguardo alle foto delle varie mostre dedicate al retrocomputing, raramente si vedono macchine NeXT (io non ne ho mai viste). BSB, dunque, vuole essere un “diario del recupero” delle macchina NeXT e di condivisione di risorse e informazioni su questa piattaforma rivoluzionaria sul cui strato applicativo si fondano oggetti altrettanto rivoluzionari come OS X e iOS.

Ho conosciuto per la prima volta la NeXTStation sulle pagine di MC Microcomputer, nel numero di Dicembre 1992.

mc124_cover_smallEra una macchina bellissima, potentissima, inarrivabile. Ed ovviamente era un bel sogno poterla avere, specie a 19 anni. Il sogno non si è realizzato: l’avventura di NeXT è finita (confluendo in Apple) ben prima che io potessi avere i soldi per poterla acquistare.

Recentemente, aggiungendo pezzi alla mia piccola collezione di home computer, ho finalmente preso anche una NeXTStation N1100 (modello “base”, il più economico, con video in scala di grigio), priva degli accessori che pian piano ho cercato su web.

Ora sto cercando di restaurare il tutto, sperando di avere a breve un sistema funzionante. Questo blog sarà anche l’occasione per raccontare i successi e i fallimenti che ci saranno (sarebbe troppo facile pensare di acquistarla, attaccare tutto e accendere: dove sarebbe l’avventura?).

Questo primo post non può chiudersi senza una foto che segni l’inizio dell’avventura:

my_nextÈ il logo della mia NeXTStation, purtroppo molto rovinato. Ma, come vedremo, non è l’unica pena patita dal povero case! Qui sotto, invece, la prima configurazione di boot funzionante (si vede anche un disco SCSI esterno su cui ho fatto il backup del disco originale).

next_test

Il disco attualmente installato è molto rumoroso, come si può ascoltare in questo video:

Dimenticavo di presentarmi: mi chiamo Stefano Sanna, mi occupo di sviluppo software su dispositivi mobili ed embedded, sono appassionato di retrocomputing.