close

Windows NT 3.1

Vai alla navigazione Vai alla ricerca
Microsoft Windows NT 3.1
Immagine del logo
Desktop di Windows NT 3.1
Desktop di Windows NT 3.1
Sviluppatore Microsoft
Famiglia di sistemi operativi Windows NT
Fonte Chiuso
Prima edizione 27 luglio 1993 [1]
ultima versione 3.1 (Build 528: Service Pack 3) [1]  ( 10 novembre 1994 )
Lingue supportate più lingue [d]
Piattaforme supportate IA-32 , Alfa , MIPS
Tipo di kernel ibrido
Licenza EULA Microsoft
Stato Storico: terminato il 31 dicembre 2001 [2] [3]
Prossimo Windows NT 3.5

Windows NT 3.1  è il primo sistema operativo Microsoft Windows NT per server e workstation aziendali, rilasciato il 27 luglio 1993. Il numero di versione è stato scelto per corrispondere all'ultima versione della shell di Windows 3.1 , che aveva un'interfaccia utente simile. Erano disponibili due edizioni di NT 3.1: Windows NT 3.1 e Windows NT Advanced Server. Il successivo sistema operativo della linea era Windows NT 3.5 , rilasciato nel settembre 1994.

NT 3.1 supportava i processori con architettura Intel x86 , DEC Alpha e MIPS R4000 .

Le principali funzioni del kernel del sistema operativo introdotte in NT 3.1 sono utilizzate nelle versioni a 32 bit dei moderni sistemi operativi della famiglia Windows, e sono presenti in forma estesa anche nelle versioni a 64 bit. NT 3.1 ha anche introdotto per la prima volta il supporto per il file system NTFS .


Sviluppo

Lo sviluppo di Windows NT è iniziato nel novembre 1988, dopo che Microsoft ha assunto un team di sviluppo dalla Digital Equipment Corporation (DEC) guidato da Dave Cutler . Molti dei fondamenti della progettazione riflettevano le prime esperienze di DEC con VMS e RSX-11 . Il sistema operativo è stato progettato per funzionare su architetture con diversi set di istruzioni , nonché su diverse piattaforme hardware appartenenti a ciascuna delle architetture. Le parti del sistema dipendenti dall'hardware erano in gran parte nascoste dal resto del sistema da un modulo in modalità kernel chiamato HAL .

Windows NT doveva essere originariamente rilasciato come OS/2 3.0, la terza versione del sistema operativo sviluppato congiuntamente da IBM e Microsoft. Dopo il rilascio della nuova versione di grande successo della shell utente MS-DOS Windows 3.0 nel maggio 1990, Microsoft ha deciso di modificare l' API principale per NT OS/2 non ancora rilasciato per utilizzare l' API Windows estesa invece del sistema operativo esteso/ 2 API . Questa decisione ha causato tensioni tra Microsoft e IBM, con il risultato che la collaborazione è andata in pezzi. IBM ha continuato a sviluppare OS/2, mentre Microsoft ha continuato a lavorare su Windows NT.

La prima dimostrazione pubblica di Windows NT, allora denominata Windows Advanced Server for LAN Manager , fu presentata all'agosto 1991 Developers Conference [4] , e il prodotto fu annunciato formalmente nella primavera del 1993 al COMDEX di Atlanta , Georgia .

Le interfacce di programmazione dell'applicazione in Windows NT sono sottosistemi che vengono eseguiti sopra l' API nativa non documentata ; questo è ciò che ha permesso di passare all'API di Windows in una fase di sviluppo abbastanza avanzata. Windows NT è stato il primo sistema operativo Microsoft le cui strutture dati interne utilizzavano il set di caratteri Unicode UCS-2 . Windows NT ha introdotto per la prima volta l' API Win32 , che era una versione a 32 bit dell'API di Windows a 16 bit. La maggior parte delle applicazioni a 16 bit può essere trasferita su un nuovo sistema con modifiche minime mediante ricompilazione. Win32 ha introdotto il supporto per molte nuove API, come il networking e il multithreading.

Il nome in codice del progetto era "NTOS". Questa designazione è conservata nel nome file del kernel di Windows NT, ntoskrnl.exe . Il nome più formale del progetto era "NT OS/2". Questo nome viene mantenuto fino ad oggi in alcuni file del kit di sviluppo del driver di Windows NT .

Supporto all'architettura

Fin dall'inizio, NT è stato progettato per essere facilmente trasferito su altre piattaforme. Tutto il codice sorgente del kernel e del sottosistema è stato scritto in C e C++ . Eventuali differenze nell'architettura hardware che non potevano essere soddisfatte da una semplice ricompilazione (ad esempio, architettura della memoria, supporto multiprocessore) sono state portate nell'HAL .

Inoltre, il sistema di avvio di NT ha preso molto in prestito dalla specifica ARC , specialmente su piattaforme non x86.

i860

NT è stato originariamente sviluppato per il processore Intel i860 (l'N10 aveva il nome in codice "N-Ten"). Tuttavia, poiché il rilascio dell'i860 è stato ritardato, il team di sviluppo di NT ha dovuto utilizzare un emulatore prima che diventassero disponibili prototipi di sistemi basati sull'i860. È stato quindi aggiunto il supporto per altri sistemi e la versione i860 di NT non è mai stata rilasciata al pubblico. Il motivo per cui inizialmente gli sviluppatori si sono concentrati sull'i860 era per semplificare il porting su altre architetture ed evitare di creare un sistema incentrato sui processori x86 [5] .

x86

NT 3.1 supporta processori Intel x86 a 32 bit (80386 e versioni successive). Rispetto a Windows 3.x a 16 bit, il numero di driver di dispositivo per NT era piuttosto limitato. Sebbene i driver di Windows 3.x possano essere utilizzati su Windows 9x, né i driver 9x né 3.x possono essere utilizzati su NT. Windows NT 3.1 è l'unica versione di Windows NT che supporta i computer multiprocessore basati sul processore 80386 [6] .

MIPS

Windows NT 3.1 supportava il processore MIPS R4000 e altri sistemi MIPS conformi alla specifica Advanced RISC Computing (ARC).

Alfa

Il supporto per il processore DEC Alpha è stato aggiunto durante la fase di sviluppo della beta NT. Tuttavia, poiché il rilascio di Alpha è stato ritardato, gli sviluppatori Microsoft non hanno avuto accesso ai computer basati su Alpha fino quasi al rilascio di NT. Di conseguenza, il supporto Alpha non è stato fornito in bundle: le prime scatole NT includevano un coupon che poteva essere inviato per posta per ricevere un CD NT 3.1 gratuito per processori Alpha.

Compatibilità delle applicazioni

Versioni a 16 bit di Windows

NT includeva il cosiddetto NTVDM / WOW (NT Virtual Dos Machine/Windows su Windows), che era un ambiente per l'esecuzione di applicazioni a 16 bit. Era possibile emulare il sottosistema della shell operativa di Windows 3.x in esecuzione in modalità standard (286). Le applicazioni che si basavano sull'accesso hardware di basso livello non erano supportate. Anche le applicazioni a 16 bit non potevano utilizzare il file di scambio. Microsoft ha indicato che NT era compatibile con tutte le applicazioni a 16 bit che seguivano le linee guida ufficiali per lo sviluppo del software (la maggior parte delle applicazioni commerciali).

In NT 3.1, tutte le applicazioni a 16 bit venivano eseguite all'interno di un unico processo WOW. Ciò significava che un'applicazione a 16 bit che si arrestava in modo anomalo poteva chiudere l'intera sessione WOW insieme al resto delle applicazioni a 16 bit. Tuttavia, il sistema operativo stesso è stato isolato da tali problemi, in modo che il processo WOW potesse essere interrotto e riavviato, il che è stato un significativo passo avanti nel campo della stabilità di Windows.

La shell dei comandi DOS in NT è stata sostituita da un sistema a riga di comando noto come CMD.EXE . Il sottosistema DOS consentiva il lancio di qualsiasi applicazione che non richiedesse un accesso di basso livello all'hardware (che all'epoca veniva spesso utilizzato). Per eseguire applicazioni DOS, come in Windows 3.x e 9x, è stata utilizzata la modalità 8086 virtuale .

L'ambiente NTVDM/WOW è rimasto sostanzialmente invariato in tutte le versioni a 32 bit di Windows NT. Non è presente nelle versioni a 64 bit perché i processori x64 non supportano le operazioni a 16 bit o passano alla modalità 8086 virtuale in modalità "lunga".

Versioni a 32 bit di Windows

NT ha aperto la strada all'API Win32 , che era un'implementazione a 32 bit dell'API di Windows che consentiva di ricompilare le vecchie applicazioni a 16 bit per il nuovo sistema con modifiche minime. Win32 ha consentito alla crescente comunità di programmatori Windows a 16 bit di utilizzare le proprie competenze nella programmazione per il nuovo sistema. Windows 95 supportava l'API Win32 (leggermente modificata), che ne rafforzava ulteriormente il ruolo nel processo di migrazione degli utenti dei sistemi Microsoft dalle piattaforme a 16 bit.

Win32 è un'API completa che fornisce l'accesso a una varietà di funzionalità del sistema operativo, dalla gestione della memoria all'interfaccia utente. NT non consentiva alle applicazioni di livello utente di accedere all'hardware. Ciò ha aumentato l'affidabilità del sistema a costo di prestazioni ridotte. Tuttavia, ciò significava anche che praticamente tutte le applicazioni Win32 dovevano fare affidamento sull'API Win32 scritta in C/C++. Sul lato positivo, il porting di un'applicazione su un'altra architettura supportata da NT (ad esempio, da x86 a MIPS) di solito non richiedeva alcuna azione se non la ricompilazione (alcune applicazioni richiedevano modifiche se assumevano l'uso di una certa endianness ).

OS/2

Sebbene il sistema che originariamente doveva essere chiamato "NT OS/2" sia stato infine rilasciato come "Windows NT", è rimasto compatibile con OS/2 in molti modi . Quindi, il file system HPFS era supportato , così come le applicazioni OS/2 a 16 bit che funzionavano in modalità testo (nella versione x86). Molte API OS/2 (in particolare le API di rete NetBIOS / LANMan ) esistevano nelle versioni a 16 bit di OS/2 e DOS/Windows in forma quasi identica, quindi erano incluse nell'API Win32. La maggior parte dei programmi OS/2 a 16 bit possono essere ricompilati come applicazioni console Win32 con modifiche minime al codice sorgente.

Comune a Windows e OS/2 è il concetto di librerie dinamiche (DLL). Sebbene i dettagli di implementazione delle DLL differiscano tra Windows e OS/2, le somiglianze sono abbastanza forti che anche le applicazioni OS/2 complesse possono essere trasferite su NT senza importanti modifiche all'architettura.

Inoltre, Microsoft ha fornito separatamente un ulteriore sottosistema Windows NT per Presentation Manager ( Windows NT Add-On Subsystem for Presentation Manager ), che ha reso possibile l'esecuzione di applicazioni grafiche per OS / 2.

POSIX

Windows NT 3.1 includeva un sottosistema che forniva una conformità POSIX minima . È stato aggiunto principalmente per facilitare i contratti del governo degli Stati Uniti, poiché molte agenzie governative includevano la conformità POSIX come requisito contrattuale.

La compatibilità POSIX è stata mantenuta solo a livello di API, quindi è stata necessaria una ricompilazione del codice sorgente. Il sottosistema POSIX in NT 3.1 includeva principalmente il supporto per autorizzazioni di accesso ai file in stile UNIX e nomi di file lunghi .

Internet Explorer

Il supporto per NT 3.1 è apparso per la prima volta in Internet Explorer 2 . IE 1.5 supportava NT, ma quella versione non divenne disponibile fino al rilascio di IE 2.

Edizioni

  • Windows NT
  • Windows NT Advanced Server (aggiunto supporto per domini, array RAID, client di rete Apple Macintosh; sono supportati fino a 4 processori invece di 2 nella versione normale).

Supporto di rete

NT 3.1 includeva il supporto per 3 protocolli di rete : NetBIOS Frames (utilizzando l' API NetBEUI ), TCP/IP e DLC .

Frame NetBIOS

Al momento del rilascio di NT, il protocollo NetBIOS Frames (NBF) era più comunemente utilizzato su reti basate su Microsoft LAN Manager /IBM LAN Server . In NT 3.1, questo protocollo era l'unico che poteva essere utilizzato con le reti esistenti basate su reti LAN Manager, nonché quando si interagiva con sistemi basati su NT. Quando si utilizza NBF, NT potrebbe partecipare alla condivisione di file e stampanti e NT Advanced Server potrebbe fungere da controller di dominio (incluso insieme ai server OS/2 LAN Manager). NT Advanced Server può anche far parte di un dominio già esistente, ma non può essere utilizzato come server autonomo per gruppi di lavoro.

TCP/IP

Windows NT 3.1 è stato il primo sistema operativo della famiglia Windows a includere il supporto TCP/IP come standard. Lo stack TCP/IP utilizzato era SpiderTCP, sviluppato da Spider Systems . In NT 3.5 è stato sostituito da uno stack proprietario [7] .

Lo stack TCP/IP includeva il supporto per WinSock e STREAMS , ma non poteva essere utilizzato per creare reti che includevano Microsoft LAN Manager o sistemi NT. Inoltre, non esisteva il supporto DHCP , quindi gli indirizzi IP dovevano essere configurati manualmente. Il supporto per NBT , DHCP e WINS è stato aggiunto solo in NT 3.5.

Controllo collegamento dati

Data Link Control (DLC) è un protocollo per lo scambio di dati con stampanti di rete, ad esempio quelle che utilizzano l' interfaccia HP JetDirect . Potrebbe anche utilizzare Microsoft SNA Server per interagire con i mainframe IBM .

Note

  1. 1 2 Cronologia di Windows NT - se (ms) blog++; - Pagina iniziale del sito - Blog TechNet (downlink) . Estratto il 28 agosto 2011 . Archiviato dall'originale il 19 aprile 2010. 
  2. Ciclo di vita del prodotto Microsoft per Windows NT Workstation 3.1 . Estratto il 28 agosto 2011 . Archiviato dall'originale il 13 luglio 2021.
  3. ^ [1] Archiviato il 13 luglio 2021 in Wayback Machine Microsoft Product Lifecycle per Windows NT Advanced Server 3.1
  4. Cronologia prodotti e tecnologie Windows: Cronologia prodotti Windows Server . Microsoft (30 giugno 2003). Estratto il 4 settembre 2009. Archiviato dall'originale il 6 agosto 2012.
  5. ^ Marco Lucovsky. Windows Un'odissea nell'ingegneria del software . USENIX (9 agosto 2000). Data di accesso: 4 settembre 2009 Archiviata dall'originale il 4 febbraio 2012.
  6. Schermata STOP durante l'installazione di Windows NT 3.5 su una macchina 386 SMP . Estratto il 4 ottobre 2009. Archiviato dall'originale il 6 agosto 2012.
  7. ^ Adam Barr. Microsoft, TCP/IP, Open Source e Licenze . Kuro5hin (19 giugno 2001). Estratto il 4 settembre 2009. Archiviato dall'originale il 6 agosto 2012.

Letteratura

  • G. Pascal Zachary (1994). "Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft", Free Press, ISBN 0-02-935671-7

Collegamenti