Windows XP, il trucco nascosto che faceva funzionare quasi tutto
Un archivio di regole e correzioni mirate permetteva al sistema operativo di aggirare i limiti dei programmi più vecchi senza modificarne il codice.
La compatibilità di Windows XP con programmi nati per sistemi molto più datati non dipendeva soltanto dalla sua architettura. Alla base c’era un insieme di interventi automatici, progettati per riconoscere le applicazioni problematiche e correggerne il comportamento mentre erano in esecuzione. Raymond Chen, tra gli sviluppatori coinvolti nella nascita di queste soluzioni, ha contribuito a ricostruirne il funzionamento.
Il database che riconosceva ogni programma
Il cuore del sistema era l’Application Compatibility Database, un archivio che raccoglieva centinaia di regole dedicate a programmi conosciuti. I dati si trovavano nella cartella AppPatch e consentivano a Windows di identificare un’applicazione con criteri molto più precisi del semplice nome del file eseguibile.
Il riconoscimento poteva basarsi su dimensioni, versione, checksum e altri parametri del programma. In questo modo il sistema distingueva anche diverse edizioni dello stesso applicativo, applicando soltanto la correzione adatta a quella specifica situazione.
Le correzioni entravano in azione da sole
Quando un programma presente nell’archivio veniva avviato, Windows XP attivava i cosiddetti shim: piccoli componenti capaci di intervenire sul comportamento del sistema esclusivamente per quell’applicazione. Il codice originale non veniva riscritto, ma le chiamate alle API di Windows potevano essere intercettate e modificate prima di arrivare al sistema operativo.
Fai una domanda su questo articolo o sul suo argomento: l'AI risponde in modo pertinente.
Tra gli interventi più singolari c’era Version Lie. Alcuni programmi controllavano la versione di Windows prima dell’avvio e si bloccavano davanti a un sistema che non riconoscevano. Lo shim restituiva allora informazioni differenti, facendo credere all’applicazione di trovarsi, per esempio, su Windows 98 o su un’altra versione considerata compatibile.
La memoria imitava Windows 95
Chen ha ricordato anche EmulateHeap, una soluzione considerata particolarmente ingegnosa. In questo caso Windows XP metteva a disposizione del programma una replica del sistema di gestione della memoria utilizzato da Windows 95.
L’applicazione poteva così continuare a interagire con la memoria secondo regole che conosceva già, riducendo il rischio di errori causati dalle differenze tra i due sistemi operativi. Era un approccio mirato: invece di costringere ogni vecchio programma ad adattarsi al nuovo ambiente, era il sistema a ricreare, quando necessario, condizioni familiari per il software.
Continua a leggere
Tulsa King, il ritorno a New York cambia tutto: cosa sappiamo
La quinta stagione della serie con Sylvester Stallone è già in lavorazione e porterà Dwight Manfredi dalla Georgia alla città legata al suo passato criminale.
Google Play, carte regalo in Italia: limiti e regole da sapere
La nuova funzione consente di inviare buoni digitali per Google Play, marchi e servizi esterni, ma con vincoli precisi su acquisto e utilizzo.
Lola contro il caos dei chip: così vuole accelerare l’AI
La startup americana Lola Vision Systems sviluppa strumenti per trasferire i modelli di intelligenza artificiale tra processori diversi senza ripartire ogni volta da zero.
Fitbit Edge, il prezzo atteso è 179 euro: cosa offrirà
Le nuove indiscrezioni delineano un dispositivo compatibile con iPhone e Android, dotato di GPS, display OLED e numerosi strumenti per salute e sport.