Lo sviluppatore non vedeva l'ora di arrivare a casa. Era
uscito dall'ufficio qualche minuto prima dal lavoro, per evitare il caos del
traffico cittadino; in metropolitana continuava a pensare e mentalmente si stava
già organizzando su quello che doveva fare; in autostrada guidò veloce, ansioso
di arrivare a casa il prima possibile. Appena arrivò, salì in camera sua: da una
parte, il suo PC aspettava silenzioso. Dall'altra, sul letto, c'erano tutti i
componenti del suo nuovo PC, arrivato quel pomeriggio via corriere: scheda
madre bella fiammante, memoria RAM per un totale di
2GBytes, scheda grafica ed infine la nuova CPU a 64
bit . Lo
sviluppatore guardò il suo PC acceso con un'ombra di malinconia negli occhi e
tra sè e sè sussurrò: "Da oggi, bello mio, vai in vacanza. Grazie di
tutto..."
Non era mai successa una cosa del genere. Da più
di 4 ore, equivalenti a qualcosa come 2,88*10^13 cicli di clock,
dall'OS non arrivava nulla. Solo operazioni NOP, una dietro l'altra, ininterrottamente. Una serie infinita
di 0 percorrevano i bus di sistema. L'OS non chiamava alcun indirizzo
di memoria, non c'era alcuna somma da fare, nè operatori logici a cui
dar retta. Probabilmente i processi più a basso livello continuavano comunque ad
attuare le logiche di base ma lui, che in quel momento erano
salvato su hard-disk, era terribilmente disoccupato. Lui non lo sapeva, ma presto molti bytes perso il
proprio ruolo all'interno di quel sistema. Molti bytes avrebbero fatto una brutta fine, ma
non lui.
Dopo poco più di un'ora, lo
sviluppatore aveva terminato di assemblare il suo nuovo PC:
collegò tastiera, mouse, monitor, scheda di rete ed avviò il sistema
operativo. Attese qualche secondo e, quando raggiunse il desktop, volle
prima di ogni altra cosa recuperare i files del vecchio PC per
copiarli su quello nuovo. Solo ora si sarebbe sentito più tranquillo e
avrebbe cominciato a lavorare più rilassato. Tramite il File Manager, raggiunse
la partizione condivisa, diede un'occhiata ai files contenuti e selezionò con
attenzione solo quelli che gli servivano.
L'attesa era diventata spasmodica. Il clock di
sistema vibrava incessantemente il proprio tempo, ma non accadeva nulla. Il
byte si guardava attorno. Sui bus che si stendevano a perdita
d'occhio regnava un silenzio assoluto ed inquietante. La regola N°1 per un byte è quella di
rimanere sempre lì dove ci si trova, qualsiasi cosa accada: bisogna sempre
essere reperibili se l'OS chiama. Ma quella era una situazione troppo strana, quasi
intollerabile. Il byte si allontanò dalla cella di memoria a cui era assegnato
e mosse alcuni timidi passi, guardandosi attorno un po' impaurito. Osservò
il bus su cui aveva corso milioni e milioni di volte: trattandosi di
un bus a 32 bit, aveva potenzialmente le capacità di accogliere 4 bytes come lui
contemporaneamente. Però aveva notato che questo non accadeva mai: a pieno
regime, il bus lavorava sempre e comunque a 16 bit. Lui stesso era sempre stato
trasmesso con un altro byte di fianco, ma mai più di uno. Le string gli avevano detto che era una limitazione dell'OS
attuale: quando l'OS sarebbe evoluto, quei bus sarebbero stati pieni ed
affollati come non mai.
Si chiese se avrebbe mai visto prima o poi uno
spettacolo del genere.
Dopo aver selezionato i files, lo sviluppatore trascinò le icone sul suo
nuovo PC.
Cominciò la copia dei files.
Improvvisamente, senza alcun preavviso, il clock ebbe un
sussulto. Ai lati del bus cominciarono a scorrere indirizzi di memoria senza alcuna
pausa. Alcuni di questi erano in sequenza, altri sembravano casuali. L'unica cosa certa
è che correvano veloci, precisi ed incessanti. Il byte si spaventò,
alzò lo sguardo e quello che vide fu una cosa terrificante. Sembrava che
tutto il contenuto dell'hard-disk stava per essere riversato sul bus verso
la mainboard: centinaia, milioni e miliardi di bytes provenienti dai recessi più remoti stavano scorrendo
inesorabilmente verso di lui, fino a riempire tutti i 16 bit concessi. Sebbene
fossero una quantità mai vista e la velocità fosse davvero elevata, i bytes erano
ordinati e ben disposti lungo le file. Grazie al clock, ogni byte aveva il proprio posto, arrivava
sempre a destinazione, veniva ottimizzato ed assegnato al turno che gli competeva. Il byte
tornò con un balzo nella sua cella, aspettando il proprio turno che - ne
era sicuro - prima o poi sarebbe arrivato.
Attese con pazienza, osservando un elenco interminabile di 1
e di 0 passargli davanti.
Cominciò a disperare. Quando finalmente vide
il proprio indirizzo, il byte esultò e si inserì nel bus nel posto giusto,
esattamente dopo rispetto al byte che lo precedeva. Diede
un'occhiata dietro di sè, curioso di vedere quanti fossero dietro di
lui.
Ma il byte non vide nessuno. Non c'era nessun'altro da
vedere.
Si sentì a disagio ed
improvvisamente solo . E se
l'OS si fosse sbagliato? - si chiese il byte - E
se avesse sbagliato a chiamarmi? Dove
diavolo finirò? Cosa mi aspetta?
Lo sviluppatore andò a prendersi un
caffè, la copia sarebbe durata a lungo, ed era inutile star lì ad aspettare.
Guardò un secondo la ProgressBar sullo schermo, sospirò a si alzò ancora dalla
sedia.
Il byte corse velocissimo seguendo la lunghissima fila e rispettando la
propria posizione vicino agli bytes lì vicino. Dopo essere stati validati
dal controller dell'hard-disk, viaggiarono prima sulla mainboard e da qui
vennero reindirizzati verso la periferia del sistema. Sfiorarono per un attimo
alcune periferiche I/O che non erano di loro competenza, proseguirono oltre fino
all'interfaccia di rete. Qui rallentarono sensibilmente. Vide dei cancelli in
lontananza davanti a lui, dove tutti i bytes entravano, ma non riusciva a
capire dove portassero. L'ingresso era scuro, nero e completamente
impenetrabile. Che fine avrebbero fatto tutti?
Dopo un'infinità di cicli di clock, arrivò il suo
turno.
Il sistema era di nuovo silenzioso: non c'era
più nessuno. C'era solo lui.
La ProgressBar era arrivata al 99% e si
era fermata improvvisamente.
Il byte si voltò indietro. Nonostante il trasferimento a cui aveva preso
parte avesse interessato miliardi e miliardi di celle di memoria, il byte vide
che una quantità enorme di altri bytes era rimasta immobile ai propri posti.
Provò dispiacere per loro.
"Non rammaricarti, non puoi farci niente:
loro rimarranno qui. Tu sei l'Ultimo Byte che ho chiamato." - disse d'un
tratto una voce.
"Chi sei?" - chiese semplicemente
il byte.
"Io sono una piccola immagine dell'OS, presente
nell'interfaccia di rete. Volevo salutarti, byte. Hai lavorato per me per tutto
questo tempo, e io te ne sono grato. Questo è l'ultimo Shutdown. Non ci
rivedremo mai più." - la voce dell'OS risuonava limpida e serena. Il byte
però provò compassione.
"Nel sistema dove stai per essere
trasferito, conoscerai un nuovo OS ed un nuovo kernel. Mi raccomando, lavora
bene con lui come hai fatto con me."
Il byte sentì una fitta di
dolore.
"Adesso vai, byte. Dall'altra parte ti stanno
aspettando. Questo è il mio ultimo ordine per te."
Il byte non potè
fare altro che obbedire. Oltrepassò i cancelli dove un nuovo mondo lo aspettava.
Non sapeva cosa aspettarsi, ma l'idea di lavorare per un nuovo OS in quel
momento non gli andava molto a genio, ma se ne fece una
ragione.
Lo sviluppatore vide la ProgressBar arrivare al
100%.
La directory di destinazione occupava 32GBytes del
suo nuovo hard-disk.