Vaporware, Woz e Apple

 

 

Una pratica comune di quei tempi, era comperare “VAPORWARE”: se un articolo che illustrava un nuovo prodotto (ads) risultava accattivante e cool (in gergo “fico”), la gente era disposta a spedire soldi veri per un prodotto coming soon, letteralmente “presto in arrivo”, ma fisicamente inesistente. Un atteggiamento comunque che fa capire quanto le persone fremessero per avere un computer in casa propria e se all’inizio erano solo gli “smanettoni” a volerli, ora erano anche ragazzini curiosi, studenti o lavoratori comuni a cercare queste macchine. Di lì a poco l’industria dei computer sarebbe nata e molto rapidamente si sarebbe diffusa negli Stati Uniti prima e nel vecchio continente poi, portando ad una vera e propria rivoluzione di “alfabetizzazione” popolare nel campo dell’informatica.

Successivamente al SOL di Felsenstein, di cui vennero vendute decine di migliaia di pezzi, in un altro garage a Cupertino, California, due amici, colleghi presso la ATARI oggi storica azienda di videogiochi nata in quegli anni, portarono avanti il discorso dei nuovi personal computer e ne progettarono uno che sarebbe stato poi ricordato per sempre, probabilmente più dell’Altair, dell’IMSAI e del SOL: l’APPLE II. Setephen Wozniak, meglio conosciuto come “Woz”, hacker nato e semplicemente un genio dell’elettronica, nel 1973 iniziò a lavorare presso la Hewlett-Packard (HP), un’azienda informatica nata nel 1939 come produttrice di componenti elettronici che, ai tempi di Woz, era una delle aziende più raffinate e all’avanguardia nell’ambiente informatico. Woz, che spesso frequentava i meeting dell’Homebrew Computer Club (HCC), aveva un desiderio: farsi il suo computer per giocarvi, mostrarlo ai suoi amici hacker e magari riuscire ad usarlo per fare  scherzi, per i quali aveva una certa passione. Vedendo l’esempio dell’Altair presso l’HCC, ebbe la prova che un computer poteva essere creato basandosi su un solo microchip, per cui Woz partì con l’idea che il suo computer altrettanto si sarebbe basato su un microchip simile se non più potente dell’Intel 8080, avrebbe avuto uno schermo a colori e avrebbe contenuto un “Basic grande”. Dato che l’unico Basic in circolazione era un Tiny Basic (piccolo), Woz ne scrisse uno da sé: l’Integer Basic. Il risultato finale di tutto questo lavoro fu in realtà una scheda piena di circuiti e chip, che però, una volta collegata ad una memoria di massa e alle periferiche di Input/Output, avrebbe funzionato come un Altair implementato con più schede. Woz con un microchip avrebbe fatto quello che gli altri fino ad allora facevano con due; in questo caso la CPU da lui scelta fu il microchip 6502 della MOS Technology equivalente al 6800 della Motorola, ma molto più economico. L’amico e futuro socio Steve Jobs aveva suggerito il nome Apple per la scheda, la cui origine è incerta, tra frutteti, Newton e di mele avvelenate3. I due amici ben presto sarebbero stati conosciuti come “i due Steve”.

Dopo alcuni perfezionamenti e assieme all’entusiasmo di Jobs per la scheda di Woz, data la moda dei “vaporware” di quegli anni, Steve Jobs fece pubblicare vari annunci su riviste per amatori della vendita dell’Apple, al prezzo di soli 666,66 dollari (un caso?). Le schede venivano prodotte man mano in un garage, quello di Wozniak: infatti la Apple Company esisteva al momento solo nell’indirizzo di quel garage. Tuttavia le vendite decollarono e contemporaneamente Jobs cercava continui appoggi finanziari. Pian piano, oltre a darsi una ripulita, in quanto usava presentarsi sporco, barbuto e ogni tanto scalzo, Woz perfezionò la sua scheda, migliorandone la resa grafica, espandendone la potenza e tutto senza l’aggiunta di chip. Woz stava costruendo ormai l’APPLE II. Woz propose anche ad HP di produrre l’Apple II, ma forse ingenuamente, o stupidamente, l’azienda rifiutò la proposta, giudicandola impraticabile. Invece, nel dicembre del 1976, Woz realizzò un prototipo pronto e funzionante. E nonostante il successo che la sua creatura avrà tra il pubblico, la cricca di hacker dell’HCC non dimostrò un immediato entusiasmo: era un computer già costruito ed era completamente differente da Altair e SOL, anche se, per esempio, questa creatura era il secondo computer con terminale integrato dopo quest’ultimo. Persuaso poi da Jobs, Wozniak lascerà il lavoro all’Hewlett-Packard per dedicarsi con lui solo alla Apple Computer Company. Wozniak lavorava al massimo sul suo “giocattolo” per amore della progettazione e dell’hacking, lo rendeva sempre più efficiente con codici sempre più corti ed utilizzando espedienti che rendevano quasi caleidoscopica la resa grafica ad alta risoluzione dello schermo. Jobs nel frattempo cercava collaboratori e fondi per far crescere l’azienda; una grande mossa di Jobs fu assumere Mike Markkulla, esperto di marketing curioso e propenso alle novità, nonché ex dipendente della Intel (diverrà il primo presidente del consiglio di amministrazione). Ingaggiò un designer per definire il guscio di Apple II, liscio senza viti e bulloni in vista, ma solo incastri e si curò del fatto che anche la struttura interna della macchina fosse ordinata una volta scoperchiato l’involucro. L’architettura interna, inoltre, era disposta ad essere implementata in maniera semplice e comprendeva l’Integer Basic di Woz già caricato su di un chip appositamente costruito. L’Integer Basic era spiegato in manuali, compresi vari “trucchetti”, che venivano forniti a chiunque fosse interessato, così come per qualunque altro dettaglio del progetto. In Apple II era perciò mantenuto lo spirito hacker, nonostante si trattasse di un prodotto da commercializzare.

Ovviamente, nonostante Apple divenne il prodotto del momento, il gigante IBM non si era tenuto da parte. Negli anni dell’Altair e dell’IMSAI, Big Blue aveva fornito al mercato modelli in piccolo formato come l’IBM 5100, considerato il primo “portatile” realizzato. Aveva una CPU IBM che operava in BASIC o APL, un linguaggio di programmazione usato per applicazioni scientifiche e matematiche complesse e che per questo comporta la scrittura con simboli dedicati.

La creazione che però che va più ricordata arriverà nel 1981: l’IBM 5150 PC. Detto comunemente PC IBM, questo modello faceva da capostipite ad una serie economica di computer, creata appunto per contrastare la conquista del mercato da parte della Apple. Questa serie utilizzava elementi disponibili sul mercato e non esclusivamente IBM come invece i prodotti precedenti. Erano computer che sfruttavano l’architettura x86, una categoria di microprocessori creati da Intel (il primo fu l’Intel 8086), e che utilizzavano poi il sistema operativo più richiesto e meno costoso al momento: il PC-DOS. Questo era un software acquistato in licenza dalla Microsoft, l’azienda di Bill Gates, che  dopo un accordo con IBM, aveva il permesso di vendere la propria versione chiamandola poi MS-DOS (MicroSoft Disk Operating System), per piattaforme non-IBM. I PC IBM ebbero molto successo, tanto da condurre altre aziende a creare prodotti che saranno definiti PC IBM COMPATIBILI o CLONI, ovvero computer simili ai modelli made by Big Blue (in particolare PC 5150, XT e AT) e con le stesse prestazioni, ma a prezzi ulteriormente ribassati. Queste macchine utilizzavano anch’esse l’architettura x86 Intel e, per consentire la loro compatibilità, seguivano una serie di disposizioni sui formati di interfaccia, bus4, memorie e nel design delle schede madri. Si era definito per la prima volta uno standard. Nei cloni la ROM del BIOS (Basic Input-Output System), contiene anche il POST, il primo programma che viene eseguito dopo l’accensione. Il BIOS era l’unico elemento proprietario nell’hardware di questi computer e dell’IBM PC e ancora oggi è parte integrante dei sistemi operativi. Esso consiste in un insieme di routine, generalmente scritte su ROM, FLASH o altra memoria non volatile, che fornisce una serie di funzioni di base per l’accesso all’hardware e alle periferiche, integrate nella scheda madre da parte del sistema operativo e dei programmi. Il software del BIOS è scritto di solito nel linguaggio Assembly nativo della famiglia di CPU utilizzata.

Bisogna ricordare che tutti i cloni degli IBM PC venivano creati senza l’approvazione o la partecipazione di IBM. Tra le aziende produttrici di questi cloni, si possono citare la Columbia Data Products (la prima a realizzarne uno nel giugno 1982), l’Eagle Computer e la Compaq (Novembre 1982).

Alla fine degli anni Novanta il termine IBM Compatibile sarà diventato in ogni modo già obsoleto. IBM affronterà il proprio declino nel mercato dei personal computer, al contrario della Microsoft, il cui sistema operativo successivo all’MS-DOS, WINDOWS, diverrà in quegli anni il più diffuso sul mercato e il più utilizzato sui Cloni, tanto che per indicare quelle che prima erano chiamate macchine IBM compatibili si utilizzerà il termine WINTEL, la fusione appunto tra Windows e Intel. Nonostante fosse veramente grande il numero di macchine Wintel sparse per i continenti, c’è un fatto che va ricordato. Si tratta di una caratteristica che più volte ha causato il malcontento degli utenti che, di punto in bianco, mentre si godevano il loro giocattolo, si scontravano con una paralisi del sistema operativo e una schermata blu elettrico che gli si rifletteva sul viso sbiancato dal panico o semplicemente dalla scocciatura: un bug. In termini informatici bug5 (baco) indica un malfunzionamento dei sistemi o dei programmi. Può succedere, infatti, che data una certa serie di comandi, la macchina o il software, rispondano in maniera inaspettata; risolvere i bug quindi comporta riscrivere il codice oppure trovare degli espedienti per aggirarlo. In questo caso specifico il baco era a livello della struttura di MS-DOS e questo problema verrà aggirato in modo poco pratico dalla Microsoft, la quale per tutta la prima generazione dei suoi sistemi operativi si trascinerà questa “macchia”. Come era in generale per tutti i sistemi operativi per personal computer ad esso contemporanei, MS-DOS  era monoutente e monotask, cioè in grado di far girare un solo programma alla volta, e quando il programma era in esecuzione, aveva in un certo sento il controllo totale del sistema.  Ma soprattutto  manteneva un limite di 640Kb per l’utilizzo della memoria della CPU, praticamente la metà dato che il chip Intel 8086, utilizzato nella maggioranza delle macchine di quel periodo, era in grado di gestire una RAM fino a 1Mb (220 byte). Questa limitazione era “ereditata” dalla struttura dei PC IBM, ma ben presto, nonostante questa scelta fosse stata fatta con la volontà di mantenere la compatibilità con i sistemi precedenti, data la rapidissima evoluzione dei software e degli hardware i 640Kb diventeranno la 640 KB BARRIER. Questo termine era utilizzato proprio per indicare questa lacuna del sistema, alla quale Microsoft cercherà di rimediare con degli stratagemmi come EMS e XMS che erano dei gestori di memoria, oppure vi erano i cosiddetti DOS Extender, che emulavano un funzionamento in modalità 32bit del sistema, ma che in realtà MS-DOS non poteva supportare (l’Intel 8086 era un chip a soli 16 bit). In conclusione, questi “accrocchi” non furono una soluzione molto ragionevole, in quanto il PC doveva compiere un doppio lavoro, cioè eseguire i gestori per identificare l’espansione o gli estensori, in aggiunta alle operazioni di esecuzione del DOS e delle applicazioni. Per questo erano praticamente inevitabili crash del sistema che si palesavano con la minacciosa schermata blu, che obbligava l’utente a prendere atto dell’errore irreversibile, riavviare tutto da capo e magari rivederla anche poco dopo. A questo proposito, si che all’epoca lo scaltro Bill Gates avesse risposto alla questione con la frase “640K ought to be enough for anybody” (640K dovrebbero essere abbastanza per tutti).

Questo handicap nella struttura del software, persisterà in ogni modo per quasi quindici anni nel sistema fornito da Microsoft, fino a che essa non fu costretta ad abbandonare l’MS-DOS, il suo KERNEL, il nucleo di un sistema operativo,  e scrivere da zero una nuova famiglia di sistemi operativi, cioè le varie versioni di Windows a partire dal 1993: 9x e NT. Il primo fu Windows NT 3.1.

Il Kernel non è indispensabile per far funzionare un calcolatore: i primi infatti non l’avevano e i programmi venivano eseguiti in maniera diretta sulla macchina, però quando si è in presenza di un sistema operativo diventa d’obbligo, dato che esso si occupa della gestione di quando e quanto un processo può avere accesso all’hardware. L’algoritmo utilizzato durante questa operazione di “Scheduling” (Pianificazione) della CPU può essere di diverso tipo e seguire determinate regole come la “Round Robin”, che non ammette priorità e assegna la CPU a turno ad ogni processo, o la “Shortest Job First”, dove il lavoro che dovrebbe richiedere meno tempo viene eseguito per primo. In pratica, un processo in esecuzione può passare ad un altro stato per i seguenti motivi:  1) il processo aspetta il completamento di un’operazione di I/O quindi viene portato in stato di attesa, al fine di sincronizzarsi con altri processi; 2) un processo viene rimosso d’autorità dalla CPU, passando dallo stato esecuzione a quello pronto, per lo scadere della quantità di tempo a disposizione di ogni processo (interruzione inviata da un timer al sistema), oppure per la richiesta di un processo a priorità elevata; 3) il processo termina.

Vi sono diverse tipologie di KERNEL, come Microkernel, per operazioni ridotte riservate solo a processi interni, di basso livello,  oppure vi sono kernel Monolitici che gestiscono praticamente tutte le operazioni fondamentali della macchina. Un KERNEL che diventerà famoso nell’ambiente informatico sarà il Kernel Linux, un Kernel di tipo Monolitico, ma soprattutto un software libero.

 

 

[3] _ Una delle versioni diffuse sul vero significato della Mela come simbolo scelto da Jobs, è quella che la mela morsa alluda a quella avvelenata con cianuro di potassio da Alan Turing, che non potendo più sopportare i disagi cui era costretto da altre persone a causa della sua omosessualità (lo costrinsero alla castrazione chimica in alternativa alla prigione e pare che addirittura gli crebbe il seno a seguito della terapia ormonale cui era sottoposto), si suicidò l‘8 giugno 1954.

[4] _ Il bus consiste in una connessione fisica che consente ai dati di transitare fra diversi componenti del computer (chip, schede, periferiche…). Può essere di diverse tipologie ed i componenti collegati devono essere tra loro compatibili. Ciascun bus ha un’ampiezza, in termini di bit, per la trasmissione dei dati attraverso il computer e coincide col numero di bit che possono essere inviati contemporaneamente da un componente all’altro.

[5] _ L’utilizzo del termine Bug per indicare un errore di programmazione risale già all’epoca dei programmi scritti da Ada Lovelace. Thomas Edison lo utilizzerà in un suo rapporto sui suoi lavori nel 1878, l’episodio più significativo però è legato ai tempi pionieristici dell’informatica: il 9 settembre 1947 il tenente Hopper ed il suo gruppo stavano cercando la causa del malfunzionamento di un computer Mark II quando, con stupore, si accorsero che una falena si era incastrata tra i circuiti. Dopo aver rimosso l’insetto (alle ore 15.45), il tenente incollò la falena rimossa sul registro del computer e annotò: «1545. Relay #70 Panel F (moth) in relay. First actual case of bug being found». 

 

 

 

NET >>

 

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>