Windows NT

sistema operativo

Windows NT è una famiglia di sistemi operativi prodotti da Microsoft. La sigla "NT" non ha un significato ufficiale, tuttavia viene comunemente interpretata come le iniziali di "New Technology" (in italiano Nuova Tecnologia). I sistemi operativi Windows NT sono stati pensati per le utenze aziendali, sia server che workstation, affiancando inizialmente i sistemi operativi Windows 3.x, ed in seguito Windows 9x, destinati invece a un'utenza domestica e all'office automation. La produzione di questa famiglia di sistemi durerà almeno fino al 2014, successivamente verrà sostituita dalla famiglia Microsoft Midori.

Architettura di Windows NT

Fin dalle origini Windows NT si ispira alla filosofia dei sistemi Unix e si differenzia nettamente dai sistemi basati su MS-DOS: l'impostazione è multiutente, multiprocesso (o multitask), multiprocessore. Il file system (NTFS nelle sue varie versioni) gestisce adeguatamente la multiutenza, assegnando a ciascun file diritti di accesso specifici per ogni utente.

Kernel

 
Architettura (semplificata) di Windows NT

Il kernel di Windows NT è spesso erroneamente considerato di tipo microkernel, in realtà è di tipo ibrido. Infatti la definizione di microkernel prevede che solo i servizi essenziali debbano risiedere nel kernel, e tutti gli altri servizi del sistema operativo, inclusi la gestione della memoria e l'Input/output, dovrebbero operare in user mode in spazi di memoria separati. Tuttavia per ragioni di prestazioni quasi nessun sistema operativo dispone di un microkernel puro (l'unica eccezione è Mach). In Windows NT molti servizi sono implementati in kernel mode, fra i quali il file system, la gestione della memoria e, a partire da Windows NT 4, anche la gestione della grafica. A livello di prestazioni e di sicurezza questo equivale ai kernel monolitici (ad esempio UNIX e Linux), ma permette una flessibilità maggiore.

Il kernel di Windows NT è interamente a 32 bit e dispone di uno scheduler preemptive (cioè che gestisce il rilascio anticipato dei processi, consentendo di liberare la CPU da un processo che la sta impegnando da troppo tempo). Inoltre, a differenza di Windows 9x, il kernel è completamente rientrante, a vantaggio delle prestazioni: infatti in Windows 9x quando un'applicazione richiede un servizio di sistema, che generalmente è a 16 bit e non è rientrante, l'applicazione impegna una sezione critica globale, rendendo di fatto monotask il sistema.

Le versioni del progetto Windows NT

 
Windows NT 3.1

Il progetto Windows NT nasce nel novembre 1988, e ha dato alla luce nel corso degli anni numerosi sistemi operativi:

  • Il primo progetto Windows NT
    • Windows NT 3.1, prima versione di Windows a 32 bit, è destinato a essere usato come server di rete. L'interfaccia grafica è quella di Windows 3.x (di cui prende anche il numero di versione). Uscito sul mercato il 27 luglio 1993, ha avuto un successo di mercato davvero modesto, ma può essere considerato il "padre" dei sistemi Windows moderni.
      La successiva versione 3.5, seguita a breve distanza dalla versione 3.51, segnarono l'inizio dell'ascesa di Microsoft in questo segmento di mercato, che negli anni seguenti avrebbe finito con il dominare a spese di Novell.
- La versione 3.1 venne rilasciata non solo per piattaforme x86, ma anche DEC Alpha e MIPS (processori R3000 e R4000).
- La versione 3.51 venne sviluppata anche per architetture PowerPC e SPARC, quest'ultima solo in versione "beta" e non venduta presso il mercato consumer. Intergraph effettuò il porting di questa versione per Clipper, ma decise di non rilasciarla.
    • Windows NT 4.0, destinato a server e workstation, esce il 24 agosto 1996 ad un anno esatto da Windows 95 (di cui però non è il successore) e ne prende l'interfaccia utente. Ha un buon successo di mercato come sistema server a spese dei sistemi Unix.
- La versione 4.0 è l'ultima piattaforma, ufficialmente supportata, ad essere sviluppata per processori diversi dal x86 (se escludiamo il futuro Itanium), includendo DEC Alpha, MIPS e PowerPC. Per DEC Alpha furono rilasciati anche tutti i Service Pack.
  • La seconda derivazione del progetto Windows NT
    • Windows 2000, (Windows NT 5.0), presenta notevoli riscritture di alcuni moduli del kernel (soprattutto per quanto riguarda la gestione dei protocolli di rete) e dell'interfaccia grafica. Ha notevole successo come sistema aziendale e server, anche se l'avvento di Linux ne riduce le quote di mercato in ambito server, soprattutto grazie all'avvento di Internet.
    • Windows XP (Windows NT 5.1), presenta come novità maggiore la rivisitazione dell'interfaccia utente ed è il primo sistema operativo della famiglia NT destinato anche all'utenza domestica, sostituendo la serie Windows 95/98/ME. È stato rilasciato nell'ottobre 2001 in edizioni Home e Professional, ma le edizioni Server sono state rilasciate successivamente (vedi subito sotto).
    • Windows Server 2003 (Windows NT 5.2), è la versione Server di Windows XP dal quale deriva e che segue sul mercato a distanza di un anno.
  • La terza derivazione del progetto Windows NT
    • Windows Vista (Windows NT 6.0), rilasciato a novembre 2006 per gli abbonati MSDN, e a fine gennaio 2007 per i clienti retail e OEM. Nel corso del 2008 è stata rilasciata la versione Server, chiamata Windows Server 2008 e con nome in codice Windows Longhorn Server.
  • Il futuro
    • Windows 7 (Windows NT 6.1), precedentemente nota come Windows Vienna è la futura versione di Windows, sulle cui caratteristiche non vi sono ancora dati attendibili. La versione server, Windows Server 2008 R2, è il successore di Windows Server 2008, ed è conosciuta anche con il nome in codice di Windows 7 Server.

Windows NT e i suoi legami con OS/2 e VMS

Windows NT era originalmente basato su OS/2, un progetto congiunto tra Microsoft e la proprietaria IBM. La collaborazione cessò e IBM continuò a commercializzare la versione precedente di OS/2 mentre Microsoft rinominò la propria versione in Microsoft Windows NT, inserendo come API ad alto livello le Windows API di Windows 3.x adattate ai 32 bit.

Sin dall'inizio del progetto, gli sviluppatori di Windows NT erano un gruppo di programmatori fuoriusciti da Digital Equipment Corporation, tra i quali Dave Cutler, Dick Hustvedt e Peter Lipman che avevano sviluppato il sistema operativo OpenVMS di DEC presso la loro società New Technology. La loro esperienza su VMS si è in parte riflessa sulla struttura di NT. In un'intervista dopo il rilascio di Windows NT, Cutler disse, scherzando, che l'acronimo WNT era un gioco di parole con VMS, ottenuto spostando avanti ogni lettera di una posizione nell'ordine alfabetico, ovvero 'VMS+1' (al contrario di quanto fatto per il nome del computer HAL 9000 del film 2001: Odissea nello spazio che deriva da IBM). Secondo alcuni la sigla "NT", pur non avendo un significato ufficiale, deriva da "N-Ten", l'emulatore della CPU Intel i860 sulla quale era iniziato lo sviluppo del progetto.

In considerazione di questo, alcuni critici si chiesero se NT potesse essere veramente considerato una nuova tecnologia, in quanto la struttura del sistema era in realtà derivata da un sistema operativo per macchine VAX che risaliva al 1977. I processi, lo scheduler, la gestione delle priorità, il supporto multiprocessore sono molto simili, tanto che si dice che il libro VAX/VMS Internals and Data Structures della Digital Press sia un'ottima descrizione dei corrispondenti aspetti di Windows NT. Ecco una tabella di comparazione tra i due sistemi:

Tabella di confronto tra terminologia VMS e NT
VMS Windows NT
Interrupt Priority Level (IPL) Interrupt Request Level (IRQL)
Asynchronous System Trap (AST) Asynchronous Procedure Call (APC)
Fork Procedure Deferred Procedure Call (DPC)
I/O Request Packet (IRP) I/O Request Packet (IRP)
Bug Check Bug Check
System Service System Service
sys.exe ntoskrnl.exe
Paged Pool Paged Pool
Nonpaged Pool Nonpaged Pool
Look aside List Look aside List
Section Section
Mailbox Mailslot

Critiche

Rispetto ai sistemi MS-DOS e Windows 9x, i sistemi NT hanno sempre richiesto quantità nettamente superiori di memoria RAM. Questo, negli anni 90, era un problema comune a tutti i sistemi operativi di fascia alta (ad esempio OS/2).

Inizialmente l'affidabilità di NT era molto inferiore alle aspettative degli utenti ed alle dichiarazioni del produttore. Il blocco della macchina, caratterizzato dal celebre "schermo blu" (chiamato in gergo BSOD, Blue Screen of Death), avveniva con una frequenza eccessiva e presentandosi nelle situazioni più inaspettate. Il raffinamento del kernel e soprattutto il miglioramento dei device driver ha fatto scomparire quasi del tutto questo problema.

Una caratteristica di Windows NT molto criticata è l'impossibilità di utilizzare il sistema operativo in maniera puramente testuale, essendo l'interfaccia grafica non escludibile. Per risolvere questo problema Microsoft ha implementato una modalità puramente testuale in Windows Server 2008.

Nelle prime versioni NT ha sofferto molto per il riconoscimento dell'hardware, perché mancava il supporto al Plug and play e pochi produttori di hardware rilasciavano device driver per i propri prodotti. Anche le capacità multimediali erano molto carenti. L'uscita di Windows 2000 ha ribaltato la situazione, grazie al miglior sopporto Plug and play disponibile su piattaforma PC.

Per gli utenti professionali un aspetto snervante di NT è l'impossibilità di ritagliare adeguatamente il sistema operativo, togliendo tutto ciò che non è strettamente indispensabile, in base all'applicazione che gira su di esso, in modo da ottimizzare l'efficienza del sistema e rimuovere a priori le possibili falle alla sicurezza. Esiste in realtà una versione di Windows XP, detta Embedded Edition, che permette di scegliere ogni singolo componente da installare nel sistema. Questa versione però è dedicata più che altro all'integrazione di Windows in dispositivi hardware (un esempio classico sono i "chioschi informativi" basati su PC) ed è di scarsa utilità e di difficile attuazione per sistemi server o desktop.

Bibliografia e riferimenti

Voci correlate

  • Windows API: l'interfaccia di programmazione comune a tutti i sistemi Windows
  • Native API: l'interfaccia di basso livello dei sistemi Windows NT

Template:Storia di Windows

  Portale Microsoft: accedi alle voci di Wikipedia che trattano di Microsoft