Il sistema operativo Windows XP - Apogeo
Il sistema operativo Windows XP - Apogeo
Il sistema operativo Windows XP - Apogeo
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
L'ambiente nativo di <strong>Windows</strong> su IA64 usa indirizzi a 64 bit e l'insieme di istruzioni native IA64.<br />
Per eseguire programmi IA32 in questo ambiente si richiede uno strato di interfaccia per tradurre le<br />
chiamate a 32 bit di Win32 nelle corrispondenti chiamate a 64 bit, proprio come è richiesto nei<br />
sistemi IA32 per le applicazioni a 16 bit; in tal modo <strong>Windows</strong> a 64 bit supporta l'ambiente<br />
WOW64. Le realizzazioni <strong>Windows</strong> a 32 bit ed a 64 bit sono essenzialmente identiche ed il<br />
processore IA64 permette l’esecuzione diretta delle istruzioni di IA32 e, di conseguenza, WOW64<br />
fornisce un livello di compatibilità più elevato di WOW32.<br />
4.4 Ambiente Win32<br />
<strong>Il</strong> sotto<strong>sistema</strong> principale di <strong>Windows</strong> <strong>XP</strong> è Win32, che esegue applicazioni Win32 che controlla la<br />
tastiera, il mouse e lo schermo I/O. Siccome è l'ambiente di controllo, esso è progettato per essere<br />
estremamente robusto. A differenza dell’ambiente Win16, ogni processo di Win32 ha una propria<br />
coda di input. <strong>Il</strong> gestore della finestra spedisce ogni input al <strong>sistema</strong> nella coda di input del processo<br />
appropriato, in modo che un processo guasto non blocchi l'input di altri processi.<br />
<strong>Il</strong> kernel di <strong>Windows</strong> <strong>XP</strong> fornisce inoltre elaborazione preemptive in multitask, per permettere<br />
all'utente di terminare applicazioni che non sono andate a buon fine o che non sono più necessarie.<br />
Inoltre, Win32 convalida tutti gli oggetti prima di usarli, per impedire arresti che potrebbero<br />
altrimenti accadere se un'applicazione cercasse di utilizzare un handle non valido o errato. <strong>Il</strong><br />
sotto<strong>sistema</strong> Win32 verifica il tipo di oggetto a cui punta un handle prima di usarlo. I conteggi di<br />
riferimento, mantenuti dal responsabile dell'oggetto, impediscono la cancellazione di oggetti mentre<br />
sono ancora in uso e di utilizzarli se sono stati cancellati.<br />
Per ottenere un livello elevato di compatibilità con sistemi <strong>Windows</strong> 95/98, <strong>Windows</strong> <strong>XP</strong><br />
permette agli utenti di specificare quali applicazioni individuali siano in funzione, mediante l’uso di<br />
uno strato di adattamento (shim layer) che modifica le API di Win32 per meglio approssimare il<br />
comportamento che ci si aspetta dalle vecchie applicazioni. Per esempio, alcune applicazioni si<br />
aspettano una particolare versione del <strong>sistema</strong> che non funziona sulle nuove versioni.<br />
Frequentemente le applicazioni hanno bachi latenti che si mettono in mostra grazie a cambiamenti<br />
nell'esecuzione. Per esempio, l’uso della memoria, dopo averla liberata, può causare guasti solo se<br />
cambia l'ordine, impartito dallo heap, di riutilizzare la memoria, o se un’applicazione può fare<br />
previsioni su quali errori possono essere restituiti da una procedura, o sul numero di bit validi in un<br />
indirizzo. Far funzionare un'applicazione con gli aggiustamenti abilitati per <strong>Windows</strong> 95/98, induce il<br />
<strong>sistema</strong> a fornire un comportamento molto più simile a <strong>Windows</strong> 95/98, sebbene con prestazioni<br />
ridotte ed interoperabilità limitata con le altre applicazioni.<br />
4.5 <strong>Il</strong> sotto<strong>sistema</strong> POSIX<br />
<strong>Il</strong> sotto<strong>sistema</strong> di POSIX è progettato per far funzionare applicazioni POSIX scritte in modo da<br />
seguire lo standard POSIX, che è basato sul modello UNIX. Le applicazioni POSIX possono essere<br />
avviate dal sotto<strong>sistema</strong> di Win32 o da un'altra applicazione POSIX che usa il server del<br />
sotto<strong>sistema</strong> POSIX: PSXSS.EXE, la libreria di collegamento dinamico di POSIX:<br />
PSXDLL.DLL ed il gestore di sessione della console POSIX: POSIX.EXE.<br />
33