Com\’è dura la professione!

19 ottobre 2009

Ma cosa fa funzionare veramente il computer?

Filed under: cosi' va il mondo,Programmazione — lbell @ 21:17

L’Apple II, il primo personal computer ad avere una diffusione ed un successo mondiali, quando nel 1977 vide la luce sembrò un miracolo di tecnologia; permetteva ad un prezzo accessibile di svolgere una quantità e varietà di compiti concreti come monitorare impianti industriali o di organizzare magazzini o di controllare le scadenze delle assicurazioni. Diciamo che gli utenti si accontentavano delle prestazioni e delle possibilità offerte, cercando di vincere le limitazioni del sistema (velocità e spazio di memoria in primis) con molta pazienza e con molto ingegno, inserendo nei programmi una serie di trucchi che oggi appaiono senza senso. Il sistema aveva 48K RAM e poteva supportarne in modo lineare al massimo 64KB.

Quando uscì il primo personal IBM la ram a disposizione era di 128 o 256KB con il codice di sistema caricato in parte di essa da disco; 640KB divennero uno standard poco dopo. All’avvento del Macintosh, il primo rivoluzionario PC con un’interfaccia grafica basata su finestre ed icone, precursore di tutti i sistemi che si usano oggi, che poteva pavoneggiarsi di una grafica di tipo interamente bitmap, si arrivò a 64K di ROM e 128K di RAM, ed in questo spazio non si trovava solo il codice per gestire la grafica, ma anche quello per permettere a tutti i programmi di terze parti di potersi adeguare ad una stessa metafora di comportamento mentre faceva timidamente la sua apparizione su sistemi di tale fascia il primo codice capace di gestire una rete.

E tutta questa meraviglia in soli 64K di ROM, più il software di sistema in un dischetto da 400K. La ram a disposizione dei programmi applicativi, al netto di quella necessaria al funzionamento del Macintosh stesso era di soli 90K (http://www.folklore.org/StoryView.py?story=Monkey_Lives.txt).

E oggi? Se consideriamo le dimensioni del kernel di Linux rispetto ai tempi dell’Apple II troviamo non solo una crescita esponenziale del software di sistema ma la nascita di una nuovo filone, quasi sconosciuto al mondo visto in precedenza; il sottosistema di rete con relativa infrastruttura di sicurezza, che tramite protocolli di tutti i tipi si avvia a rappresentare una gran parte del codice di sistema. La directory del kernel Linux occupa, con varie versioni installate, da 120 a 475MB sul mio sistema e l’installazione complessiva del sistema e dei programmi applicativi più comuni quasi 10GB.

Questa crescita è avvenuta in in pochi decenni e ricalca la legge di Moore a proposito della crescita delle capacità dell’hardware (http://en.wikipedia.org/wiki/Moore%27s_law). Il fatto è che mentre l’hardware spesso è stato progettato in scala, il software di sistema in questione è stato scritto da zero, praticamente riga dopo riga. Ogni sistema operativo sul mercato ha proposto il proprio server web, il proprio stack di protocolli di rete, con tonnellate di sorgenti spesso inutilmente riscritti solo per esigenze commerciali. I computer non sono più solo strumenti nelle mani di artigiani, ma diventa sempre più difficile sapere cosa li fa effettivamente funzionare e quanto sono sicure le basi cui cui poggia il software applicativo.

grafico ram rom

Lascia un commento »

Non c'è ancora nessun commento.

RSS feed for comments on this post. TrackBack URI

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Blog su WordPress.com.

%d blogger cliccano Mi Piace per questo: