Il sistema operativo Windows XP - Apogeo
Il sistema operativo Windows XP - Apogeo
Il sistema operativo Windows XP - Apogeo
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Come il <strong>sistema</strong> <strong>operativo</strong> di UNIX, la maggior parte del <strong>sistema</strong> è scritta in C ed in C++. La<br />
maggior parte del codice, dipendente dal processore, è isolata in una libreria di collegamento dinamico<br />
(DLL), chiamata strato di astrazione hardware (hardware-abstraction layer: HAL). Una DLL è<br />
una file che è mappato nello spazio degli indirizzi del processo in modo che qualsiasi funzione<br />
nella DLL sembri far parte del processo. Gli strati superiori del kernel di <strong>Windows</strong> <strong>XP</strong> dipendono<br />
dalle interfacce HAL piuttosto che dall’hardware sottostante, realizzando la portabilità di <strong>Windows</strong><br />
<strong>XP</strong>. HAL manipola l’hardware direttamente, isolando il resto di <strong>Windows</strong> <strong>XP</strong> dalle differenze<br />
hardware fra le piattaforme in cui funziona.<br />
Anche se per ragioni di mercato, <strong>Windows</strong> 2000 veniva consegnato solo per piattaforme<br />
compatibili con Intel IA32, è stato anche provato, prima del rilascio, su piattaforme IA32 e DEC<br />
Alpha per assicurare la portabilità. <strong>Windows</strong> <strong>XP</strong> funziona su processori IA32 compatibili e IA64.<br />
Microsoft riconosce l'importanza dello sviluppo e della prova su multipiattaforme, poiché, dal<br />
punto di vista pratico, mantenere la portabilità è una questione di usarlo o perderlo.<br />
2.7 Supporto Internazionale<br />
<strong>Windows</strong> <strong>XP</strong> è pure progettato per un uso internazionale e multinazionale, fornisce supporto per<br />
differenti lingue locali tramite API di supporto al linguaggio nazionale (national-languagesupport<br />
API: NLS). L’API NLS fornisce procedure specializzate al formato della data, dell’ora ed<br />
alla moneta corrente in conformità con gli usi nazionali. I confronti di stringhe sono particolarizzati<br />
per tener conto dei vari insiemi di caratteri alfabetici. UNICODE è il codice di carattere nativo di<br />
<strong>Windows</strong> <strong>XP</strong> che supporta anche i caratteri ANSI convertendoli in UNICODE prima di manipolarli<br />
(conversione da 8 bit a 16 bit). Le stringhe di testo del <strong>sistema</strong> sono mantenute nei file di risorsa<br />
che si possono sostituire per particolarizzare il <strong>sistema</strong> nei differenti linguaggi; più lingue locali si<br />
possono usare contemporaneamente, il che è importante per persone multilingui e nel campo degli<br />
affari.<br />
3 Componenti di Sistema<br />
L'architettura di <strong>Windows</strong> <strong>XP</strong> è un <strong>sistema</strong> stratificato di moduli, come si vede in Figura 1. Gli<br />
strati principali sono HAL, il kernel e il codice eseguibile che funzionano in modo protetto e una<br />
collezione di sottosistemi e di servizi che funzionano in modalità utente. I sottosistemi in modalità<br />
utente si dividono in due categorie: sottosistemi di ambiente che emulano differenti sistemi operativi<br />
ed i sottosistemi di protezione (protection subsystems) che forniscono funzioni di sicurezza. Uno<br />
dei principali vantaggi di questo tipo di architettura è che le interazioni fra moduli sono mantenute<br />
semplici. <strong>Il</strong> resto di questo paragrafo descrive questi strati e sottosistemi.<br />
3.1 Strato di astrazione dell’hardware<br />
HAL è lo strato del software che nasconde le differenze hardware tra i livelli superiori del <strong>sistema</strong><br />
<strong>operativo</strong> per aiutare a rendere portabile <strong>Windows</strong> <strong>XP</strong>. HAL esporta un'interfaccia di macchina<br />
virtuale che viene usata dal dispatcher del kernel, dal codice eseguibile e dai driver del dispositivo.<br />
5