lunedì 31 gennaio 2011

Caratteristiche Principali del sistema operativo Windows XP



Microsoft Windows XP è un sistema operativo a 32/64-bit che funziona in multitasking ed è  preemptive per processori AMD K6/K7, Intel IA32/IA64 e versioni successive. Windows XP,  successore di Windows NT/2000, ha inoltre l’obiettivo di sostituire il sistema operativo Windows  95/98; i suoi obiettivi basilari sono: sicurezza,  affidabilità, facilità d’uso, compatibilità delle  applicazioni tra WINDOWS e POSIX, prestazione elevata, estensibilità, portabilità e supporto  internazionale.  In questo capitolo, esamineremo gli obiettivi basilari di Windows XP: l'architettura  stratificata del sistema, che lo rende di facile uso, il file system, il supporto di rete e l'interfaccia di  programmazione.

Compatibilità tra applicazioni Windows e Posix

Windows XP non è solo un aggiornamento di Windows 2000: è un rimpiazzo di Windows 95/98. Windows 2000 si è focalizzato principalmente sulla compatibilità delle applicazioni commerciali, mentre Windows XP include una compatibilità molto più elevata con le applicazioni di largo  consumo (consumer application) che funzionano in Windows 95/98. La compatibilità delle  applicazioni (application compatibility)  è difficile da ottenere perché ogni applicazione controlla  la versione di Windows e può dipendere dalla capacità di realizzazione delle API e può avere dei  bachi latenti nelle applicazioni mascherati nel sistema precedente o in altre dipendenze simili. 
Windows XP introduce uno strato di compatibilità che si trova fra le applicazioni e le API di   Win32 e tale strato rende la visione di Windows XP (all’incirca) compatibile baco per baco con le  precedenti versioni di Windows. Windows XP, come le precedenti versioni di NT, mantiene il  supporto per molte applicazioni a 16 bit usando uno strato di interfaccia che traduce le chiamate   delle API a 16 bit in chiamate equivalenti a 32 bit. Similmente, la versione a 64 bit di Windows XP  fornisce uno strato di interfaccia che traduce le chiamate delle API a 32 bit in chiamate native a 64 bit. Il supporto Posix in Windows XP è stato molto migliorato, ed è disponibile un nuovo  sottosistema di POSIX chiamato Interix; la maggior parte del software compatibile con UNIX si  compila e funziona sotto Interix senza alcuna modifica.  

Prestazioni elevate

Windows XP è progettato per fornire prestazioni elevate in sistemi desktop (che in gran parte sono  vincolati dalle prestazioni I/O), in sistemi server (dove la CPU è spesso un collo di bottiglia) e in  ambienti multithread e multiprocessore (dove la gestione dei blocchi e della cache sono punti chiave  per la scalabilità). L’elevata prestazione è stata un obiettivo sempre più importante per Windows 4 XP. Windows 2000 con SQL 2000, montato su hardware Compaq, ha ottenuto valori elevati di  TPC-C al momento della consegna. 
Per soddisfare le richieste di prestazioni, NT usa parecchie tecniche quali I/O asincrono,  protocolli ottimizzati per le reti (per esempio il blocco ottimista dei dati distribuiti, l’accodamento   delle richieste), grafica nel kernel e tecniche sofisticate nell’uso della cache per il file system.
 Gli algoritmi di gestione della memoria e di sincronizzazione sono progettati con uno sguardo alle prestazioni legate alla linee di cache ed ai multiprocessori.Windows XP ha ulteriormente migliorato le prestazioni riducendo la lunghezza del percorso del codice nelle funzioni critiche, usando algoritmi migliori e strutture dati dedicate al singolo processore, usando la coloratura della memoria  per macchine NUMA (accesso non uniforme alla  memoria) e implementando protocolli di blocco più scalabili, come le code di spinlock;    i nuovi protocolli di lock contribuiscono a ridurre i cicli di bus del sistema, le liste senza lock e le code, l’uso di operazioni atomiche read-modify-write (come l'incremento interbloccato) ed altre tecniche  avanzate di blocco. 
I sottosistemi che costituiscono Windows XP comunicano tra loro in modo efficiente mediante una procedura locale di chiamata (LPC) che fornisce passaggio di messaggi ad alte prestazioni.
 Se non si esegue il dispatcher nel kernel, i thread nei sottosistemi di Windows XP possono acquisire diritto di precedenza tramite thread ad alta priorità, e pertanto il sistema risponde velocemente ad eventi esterni. Inoltre, Windows XP è progettato per multiprocessi  simmetrici;    In un computer multiprocessore, parecchi thread possono essere eseguiti contemporaneamente.

Componenti di Sistema

L'architettura di Windows XP è un sistema stratificato di moduli, come si vede in Figura 1. Gli  strati principali sono HAL, il kernel e il codice eseguibile che funzionano in modo protetto e una collezione di sottosistemi e di servizi che funzionano in modalità utente. I sottosistemi in modalità utente si dividono in due categorie: sottosistemi di ambiente che emulano differenti sistemi operativi  ed i sottosistemi di protezione (protection subsystems) che forniscono funzioni di sicurezza.Uno dei principali vantaggi di questo tipo di architettura è che le interazioni fra moduli sono mantenute semplici. Il resto di questo paragrafo descrive questi strati e sottosistemi.  

Nessun commento:

Posta un commento