31.05.2013 Views

Il sistema operativo Windows XP - Apogeo

Il sistema operativo Windows XP - Apogeo

Il sistema operativo Windows XP - Apogeo

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!