close

Windows NT 3.1

Gå till navigering Gå till sök
Microsoft Windows NT 3.1
Logo bild
Windows NT 3.1 skrivbord
Windows NT 3.1 skrivbord
Utvecklaren Microsoft
OS-familjen Windows NT
Källa Stängd
Första upplagan 27 juli 1993 [1]
senaste versionen 3.1 (Build 528: Service Pack 3) [1]  ( 10 november 1994 )
Språk som stöds flera språk [d]
Plattformar som stöds IA-32 , Alpha , MIPS
Typ av kärna hybrid
Licens Microsoft EULA
stat Historisk: Slutade 31 december 2001 [2] [3]
Nästa Windows NT 3.5

Windows NT 3.1  är det första Microsoft Windows NT- operativsystemet för servrar och företagsarbetsstationer, släppt den 27 juli 1993. Versionsnumret valdes för att matcha den senaste versionen av Windows 3.1 -skalet , som hade ett liknande användargränssnitt. Två utgåvor av NT 3.1 fanns tillgängliga: Windows NT 3.1 och Windows NT Advanced Server. Nästa operativsystem i raden var Windows NT 3.5 , som släpptes i september 1994.

NT 3.1 stödde arkitekturprocessorerna Intel x86 , DEC Alpha och MIPS R4000 .

Huvudfunktionerna hos operativsystemkärnan som introducerades i NT 3.1 används i 32-bitarsversioner av moderna operativsystem i Windows-familjen och finns också i utökad form i 64-bitarsversioner. NT 3.1 introducerade också stöd för NTFS -filsystemet för första gången .


Utveckling

Utvecklingen av Windows NT började i november 1988, efter att Microsoft anlitat ett utvecklingsteam från Digital Equipment Corporation (DEC) ledd av Dave Cutler . Många av designgrunderna återspeglade DEC:s tidiga erfarenheter av VMS och RSX-11 . Operativsystemet designades för att köras på arkitekturer med olika instruktionsuppsättningar , såväl som på olika hårdvaruplattformar som tillhör var och en av arkitekturerna. De hårdvaruberoende delarna av systemet gömdes till stor del från resten av systemet av en kernel-mode-modul kallad HAL .

Windows NT skulle ursprungligen släppas som OS/2 3.0, den tredje versionen av operativsystemet utvecklat gemensamt av IBM och Microsoft. Efter lanseringen av den mycket framgångsrika nya versionen av MS-DOS Windows 3.0 - användarskalet i maj 1990, beslutade Microsoft att ändra kärn - API :et för det ännu inte släppta NT OS/2 för att använda det utökade Windows API istället för det utökade OS/ 2 API . Detta beslut orsakade spänningar mellan Microsoft och IBM, vilket resulterade i att samarbetet gick sönder. IBM fortsatte att utveckla OS/2, medan Microsoft fortsatte att arbeta på Windows NT.

Den första offentliga demonstrationen av Windows NT, då kallad Windows Advanced Server for LAN Manager , presenterades vid utvecklarkonferensen i augusti 1991 [4] och produkten tillkännagavs formellt våren 1993 på COMDEX i Atlanta , Georgia .

Applikationsprogrammeringsgränssnitten i Windows NT är delsystem som körs ovanpå det odokumenterade Native API ; det var detta som gjorde det möjligt att byta till Windows API i ett ganska sent utvecklingsstadium. Windows NT var det första Microsoft-operativsystemet vars interna datastrukturer använde Unicode UCS-2- teckenuppsättningen . Windows NT introducerade först Win32 API , som var en 32-bitarsversion av 16-bitars Windows API. De flesta 16-bitars applikationer kan portas till ett nytt system med minimala ändringar genom att kompilera om. Win32 introducerade stöd för många nya API:er, som nätverk och multithreading.

Kodnamnet för projektet var "NTOS". Denna beteckning finns bevarad i filnamnet för Windows NT-kärnan, ntoskrnl.exe . Det mer formella namnet på projektet var "NT OS/2". Detta namn finns kvar till denna dag i vissa Windows NT Driver Development Kit- filer.

Arkitekturstöd

Redan från början var NT designat för att enkelt kunna porteras till andra plattformar. All källkod för kärnan och undersystemet skrevs i C och C++ . Eventuella skillnader i hårdvaruarkitektur som inte kunde hanteras av enkel omkompilering (t.ex. minnesarkitektur, stöd för flera processorer) fördes in i HAL .

Dessutom lånade NT:s startsystem mycket från ARC -specifikationen , särskilt på icke-x86-plattformar.

i860

NT utvecklades ursprungligen för Intel i860-processorn (N10 fick kodnamnet "N-Ten"). Men eftersom lanseringen av i860 var försenad, var NTs utvecklingsteam tvungna att använda en emulator innan prototypsystem baserade på i860 blev tillgängliga. Stöd för andra system lades sedan till, och i860-versionen av NT släpptes aldrig för allmänheten. Anledningen till att utvecklarna initialt fokuserade på i860 var att göra det lättare att porta till andra arkitekturer och undvika att skapa ett system fokuserat på x86-processorer [5] .

x86

NT 3.1 stödde 32-bitars Intel x86-processorer (80386 och senare). Jämfört med 16-bitars Windows 3.x var antalet enhetsdrivrutiner för NT ganska begränsat. Även om drivrutiner från Windows 3.x kunde användas på Windows 9x, kunde varken 9x- eller 3.x-drivrutiner användas på NT. Windows NT 3.1 är den enda versionen av Windows NT som stöder multiprocessordatorer baserade på 80386 [6] -processorn .

MIPS

Windows NT 3.1 stödde MIPS R4000-processorn , såväl som andra MIPS-system som överensstämde med specifikationen Advanced RISC Computing (ARC).

Alpha

Stöd för DEC Alpha-processorn lades till under NT betautvecklingsfasen. Men eftersom lanseringen av Alpha försenades, hade Microsoft-utvecklare inte tillgång till Alpha-baserade datorer förrän nästan lanseringen av NT. Som ett resultat av detta var Alpha-stöd inte paketerat: tidiga NT-boxar inkluderade en kupong som kunde skickas in för att få en gratis NT 3.1 CD för Alpha-processorer.

Applikationskompatibilitet

16-bitarsversioner av Windows

NT inkluderade den så kallade NTVDM / WOW (NT Virtual Dos Machine/Windows på Windows), som var en miljö för att köra 16-bitars applikationer. Det var möjligt att emulera Windows 3.x operativsystems delsystem som körs i standardläge (286). Applikationer som förlitade sig på hårdvaruåtkomst på låg nivå stöddes inte. 16-bitars applikationer kunde inte heller använda växlingsfilen. Microsoft angav att NT var kompatibelt med alla 16-bitarsapplikationer som följde de officiella riktlinjerna för programvaruutveckling (de flesta kommersiella applikationer).

I NT 3.1 kördes alla 16-bitarsapplikationer inom en enda WOW-process. Detta innebar att ett kraschande 16-bitarsprogram kunde stänga hela WOW-sessionen tillsammans med resten av 16-bitarsapplikationerna. Själva operativsystemet var dock isolerat från sådana problem, så att WOW-processen kunde avbrytas och startas om, vilket var ett betydande steg framåt när det gäller Windows-stabilitet.

DOS-kommandoskalet i NT har ersatts av ett kommandoradssystem som kallas CMD.EXE . DOS-undersystemet tillät lanseringen av alla program som inte krävde lågnivååtkomst till hårdvaran (som ofta användes vid den tiden). För att köra DOS-applikationer, som i Windows 3.x och 9x, användes det virtuella 8086 -läget .

NTVDM/WOW-miljön har förblivit i stort sett oförändrad i alla 32-bitarsversioner av Windows NT. Det finns inte i 64-bitarsversioner eftersom x64-processorer inte stöder 16-bitars operationer eller övergång till virtuellt 8086-läge i "långt" läge.

32-bitarsversioner av Windows

NT var banbrytande för Win32 API , som var en 32-bitars implementering av Windows API som gjorde att gamla 16-bitars applikationer kunde kompileras om för det nya systemet med minimala ändringar. Win32 gjorde det möjligt för den växande gemenskapen av 16-bitars Windows-programmerare att använda sina färdigheter i programmering för det nya systemet. Windows 95 stödde Win32 API (något modifierad), vilket ytterligare stärkte dess roll i processen att migrera användare av Microsoft-system från 16-bitars plattformar.

Win32 är ett komplett API som ger tillgång till en mängd olika OS-funktioner, från minneshantering till användargränssnittet. NT tillät inte applikationer på användarnivå att komma åt hårdvaran. Detta ökade systemets tillförlitlighet på bekostnad av minskad prestanda. Detta innebar dock också att praktiskt taget alla Win32-applikationer var tvungna att förlita sig på Win32 API skrivet i C/C++. På den positiva sidan, portering av en applikation till en annan arkitektur som stöds av NT (till exempel från x86 till MIPS) krävde vanligtvis ingen annan åtgärd än omkompilering (vissa applikationer krävde ändringar om de antog användningen av en viss endianness ).

OS/2

Även om systemet som ursprungligen var tänkt att heta "NT OS/2" så småningom släpptes som "Windows NT", förblev det kompatibelt med OS/2 på många sätt . Så, HPFS -filsystemet stöddes , liksom 16-bitars OS / 2-applikationer som fungerade i textläge (i x86-versionen). Många OS/2-API:er (särskilt NetBIOS / LANMan- nätverks-API:er ) fanns i 16-bitarsversioner av OS/2 och DOS/Windows i nästan identisk form, så de ingick i Win32 API. De flesta 16-bitars OS/2-program skulle kunna kompileras om som Win32-konsolprogram med minimala källkodsändringar.

Gemensamt för Windows och OS/2 är konceptet med dynamiska bibliotek (DLL). Även om implementeringsdetaljerna för DLL:er skiljer sig mellan Windows och OS/2, är likheterna tillräckligt starka för att även komplexa OS/2-applikationer kan portas till NT utan större arkitektoniska förändringar.

Dessutom tillhandahöll Microsoft separat ett ytterligare Windows NT-undersystem för Presentation Manager ( Windows NT Add-On Subsystem for Presentation Manager ), vilket gjorde det möjligt att köra grafiska applikationer för OS / 2.

POSIX

Windows NT 3.1 inkluderade ett undersystem som gav minimal POSIX-kompatibilitet . Det lades till i första hand för att underlätta amerikanska regeringskontrakt, eftersom många statliga myndigheter inkluderade POSIX-efterlevnad som ett kontraktskrav.

POSIX-kompatibilitet bibehölls endast på API-nivå, så en omkompilering av källkoden krävdes. POSIX-undersystemet i NT 3.1 inkluderade huvudsakligen stöd för filåtkomstbehörigheter i UNIX-stil såväl som långa filnamn .

Internet Explorer

Stöd för NT 3.1 dök upp först i Internet Explorer 2 . IE 1.5 stödde NT, men den versionen blev inte tillgänglig förrän IE 2 släpptes.

Upplagor

  • Windows NT
  • Windows NT Advanced Server (Lägg till stöd för domäner, RAID-arrayer, Apple Macintosh-nätverksklienter; upp till 4 processorer stöds istället för 2 i den vanliga versionen).

Nätverksstöd

NT 3.1 inkluderade stöd för 3 nätverksprotokoll : NetBIOS Frames (med NetBEUI API ), TCP/IP och DLC .

NetBIOS Frames

Vid tidpunkten för lanseringen av NT användes NetBIOS Frames (NBF)-protokollet oftast i nätverk baserade på Microsoft LAN Manager /IBM LAN Server . I NT 3.1 var detta protokoll det enda som kunde användas med befintliga nätverk baserade på LAN Manager-nätverk, såväl som vid interaktion med NT-baserade system. När du använder NBF kan NT delta i fil- och skrivardelning och NT Advanced Server kan fungera som en domänkontrollant (inklusive i samband med OS / 2 LAN Manager-servrar). NT Advanced Server kan också vara en del av en redan existerande domän, men kunde inte användas som en fristående server för arbetsgrupper.

TCP/IP

Windows NT 3.1 var det första operativsystemet i Windows-familjen som inkluderade TCP/IP-stöd som standard. TCP/IP-stacken som användes var SpiderTCP, utvecklad av Spider Systems . I NT 3.5 ersattes den av en proprietär stack [7] .

TCP/IP-stacken inkluderade stöd för WinSock och STREAMS , men kunde inte användas för att bygga nätverk som inkluderade Microsoft LAN Manager eller NT-system. Dessutom fanns det inget DHCP -stöd , så IP-adresser måste konfigureras manuellt. Stöd för NBT , DHCP och WINS lades endast till i NT 3.5.

Datalänkkontroll

Data Link Control (DLC) är ett protokoll för utbyte av data med nätverksskrivare, till exempel de som använder HP JetDirect -gränssnittet . Den kan också använda Microsoft SNA Server för att interagera med IBM stordatorer .

Anteckningar

  1. 1 2 Windows NT-historik - if (ms) blog++; - Hemsida - TechNet-bloggar (nedlänk) . Hämtad 28 augusti 2011. Arkiverad från originalet 19 april 2010. 
  2. Microsofts produktlivscykel för Windows NT Workstation 3.1 . Hämtad 28 augusti 2011. Arkiverad från originalet 13 juli 2021.
  3. [1] Arkiverad 13 juli 2021 på Wayback Machine Microsofts produktlivscykel för Windows NT Advanced Server 3.1
  4. ↑ Historia för Windows-produkter och -teknologier: Historia för Windows Server-produkter . Microsoft (30 juni 2003). Hämtad 4 september 2009. Arkiverad från originalet 6 augusti 2012.
  5. Mark Lucovsky. Windows A Software Engineering Odyssey . USENIX (9 augusti 2000). Datum för åtkomst: 4 september 2009. Arkiverad från originalet 4 februari 2012.
  6. STOPP-skärm när du installerar Windows NT 3.5 på 386 SMP-maskin . Hämtad 4 oktober 2009. Arkiverad från originalet 6 augusti 2012.
  7. Adam Barr. Microsoft, TCP/IP, öppen källkod och licensiering . Kuro5hin (19 juni 2001). Hämtad 4 september 2009. Arkiverad från originalet 6 augusti 2012.

Litteratur

  • 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

Länkar