Technology Experience

Contenuti gestiti da Igor Damiani
posts - 949, comments - 2741, trackbacks - 15120

My Links

News

  • Questo blog si propone di raccogliere riflessioni, teoriche e pratiche, su tutto quello che riguarda il world-computing che mi sta attorno: programmazione in .NET, software attuale e futuro, notizie provenienti dal web, tecnologia in generale, open-source.

    L'idea è quella di lasciare una sorta di patrimonio personale, una raccolta di idee che un giorno potrebbe farmi sorridere, al pensiero di dov'ero e cosa stavo facendo.

    10/05/2005,
    Milano

Archives

Post Categories

Generale

[Storia] Il byte ed il suo Mezzogiorno di Fuoco

A quell'ora del giorno, il bus era silenzioso. Fino a qualche minuto fa, la CPU era stata piuttosto impegnata, dopo l'attivazione del processo VirtualDub.exe che aveva dovuto comprimere in DivX uno stream video di quasi 10 minuti, corrispondenti a qualcosa come 13.500 frames. L'OS aveva capito fin da subito che si trattava di un ennesimo Video OT del Venerdì, che il suo utente produceva, puntuale, ogni settimana: senza dirgli nulla, aveva aumentato di qualche punto la qualità del codec DivX, in modo tale da produrre un video migliore. Lo stream su file era stato leggermente più grande, ovviamente, ma il suo utente era rimasto anche più soddisfatto. L'OS, alla fine, era contento del suo lavoro. L'occupazione della CPU adesso era stabile intorno al 3%.

Il byte se ne stava rintanato in una piccola area di memoria, delimitata in un offset di soli 0xA bytes. Aveva una paura fottuta, e non aveva nessuna intenzione di uscire da lì. Considerava quella zona un rifugio sicuro. Sebbene le altre celle nell'offset fossero già tutte impegnate da altri bytes come lui, poteva comunque spostarsi da un address all'altro con una semplice operazione di swap. Quando si trovava in una delle due celle ai margini dell'offset (0x0 oppure 0xA, ovviamente), poteva dare una fugace occhiata a quello che stava al di fuori del range.
E quello che vedeva, pensò deglutendo nervosamente, lo preoccupava molto.

Windows Defender stava in paziente attesa, come un leone a caccia. Niente e nessuno l'avrebbe smosso da lì. Era implacabile, freddo e minuzioso, perchè così era stato concepito, fin dagli stadi iniziali di sviluppo. Windows Defender è il difensore ufficiale del nuovo OS Windows Vista: niente e nessuno avrebbe potuto fare qualcosa anche solo di lontanamente sospetto, senza che Windows Defender lo sapesse.
Monitorava sempre la lettura e la scrittura della memoria RAM.
Sorvegliava processi e threads.
Sorvegliava programmi in esecuzione e l'accesso a risorse protette.
Ma soprattutto, alla fin fine, sorvegliava bytes, di ogni tipo.

Per questo il byte aveva paura. Gli altri che erano lì con lui cercavano di consolarlo, di essergli di conforto, ma sapevano benissimo che non avrebbero potuto fare nulla per lui. Sebbene fossero fisicamente vicini, gli 0xA bytes appartenevano a processi completamente diversi: uno rappresentava il colore Rosso del logo di Windows Vista sul pulsante Start, un altro contribuiva a mantenere in memoria l'handler del click del Button Undo di Microsoft Word 2007, un altro ancora stava terminando l'esecuzione dell'installer di Winzip. Quello che si divertiva di più era sicuramente il byte all'address 0x8 del range, perchè conteneva i punti-ferita di un PG di Neverwinter Nights 2: era basso, ed il byte 0x8 sperava che qualcuno, prima o poi, bevesse una pozione di guarigione per rimettersi in sesto. Windows Defender marcava stretto tutti questi bytes, e qualche altro miliardo ancora, ma quello che lo preoccupava di più era il byte 0x0, quello che stava ai margini, che lo guardava cercando di non farsi vedere.

Windows Defender aveva emanato un ordine di cattura per il byte, dichiarando allo stesso tempo quella cella di memoria untrusted, ma il fatto che il byte continuasse a spostarsi ad ogni colpo di clock lo costringeva a stare sempre all'allerta. Nessun problema - disse fra sè e sè - sono nato per esserlo. Non aveva alcuna fretta, ed inoltre il byte non è che poteva fare molto: se fosse uscito da quell'offset, sarebbe stato catturato. Se fosse andato in esecuzione, sarebbe stato inevitabilmente bloccato. Se fosse intervenuto in qualche registry di sistema, sarebbe stato reso inoffensivo comunque. Windows Defender aspettava quindi, con pazienza infinita, di poter colpire con successo.

"Costituisciti!" - disse un byte.
"Arrenditi!" - esclamò un altro.
"Sei un codardo!" - accusò byte 0xB al byte ricercato.
"Ma io non ho fatto nulla di male!" - cercò di difendersi lui, gridando agli altri e cercando di sovrastare le loro voci.

"Non ancora, ma lo farai. Per questo sono qui fuori che ti aspetto. Ti conviene uscire, perchè così facendo stai mettendo a rischio la nostra incolumità, e stai rallentando il sistema. Non posso permettertelo. Vieni fuori, arrenditi. Non posso essere magnanimo con me, non sono stato programmato per questo. Devo solo prendere il provvedimento più adeguato per te: sarò rapido, e forse non sentirai dolore."
Il byte trasalì violentemente a quelle parole. Era convinto di non essere stato ancora scoperto, ma a quanto pareva non era così. Era proprio fottuto davvero, adesso. Quello che provava non era più semplice paura, ma terrore vero e proprio. Gli tremavano i bit, che shiftavano continuamente a sinistra e a destra, moltiplicando e dividendo il suo valore per due senza alcuno scopo. Capì che per lui era finita: nel migliore dei casi, sarebbe stato estradato, nel peggiore deallocato e tutto sarebbe finito lì.

Il byte uscì fuori e constatò la presenza di Windows Defender a qualche passo da lui.
Il bus a 64 bit era silenzioso, ed un freddo vento virtuale spazzava l'area di memoria raggelando tutto.
Gli altri bytes guardavano atterriti la scena, ciascuno dalla propria cella contigua.

Windows Defender ed il byte si fronteggiarono guardandosi negli occhi, come strani pistoleri di un mondo virtuale.
Quando il clock di sistema segnò esattamente le ore 12:00:00 GMT, scattò il loro Mezzogiorno di Fuoco.
BANG!!!
Si udirono i colpi di due pistole venute fuori da chissà dove.
Il byte cadde riverso sul bus, ma non fece in tempo a morire davvero: Windows Defender lo stava già portando via con sè.

Print | posted on mercoledì 14 febbraio 2007 15:15 | Filed Under [ 010 .bytes. 010 ]

Feedback

Gravatar

# re: [Storia] Il byte ed il suo Mezzogiorno di Fuoco

O_o
14/02/2007 17:42 | Carlo Bertini
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET