Windows NT

**Windows NT** on Microsoftin kehittämä käyttöjärjestelmäperhe. Lyhenne NT tulee sanoista *New Technology*. Microsoftin kuluttajakäyttöön tarkoitetuista DOS-pohjaisista Windows-käyttöjärjestelmistä poiketen NT:ssä oli moniajosovelluksia varten muistin suojaus, jonka ansiosta se oli niitä luotettavampi. Windows NT oli korkean tason ohjelmointikieliin pohjautuva, useaa suoritinta tukeva, monen käyttäjän käyttöjärjestelmä, joka oli ominaisuuksiltaan verrattavissa Unixiin. NT oli ensimmäinen 32-bittinen Windows kun aiempi Windows 2.0 oli 16-bittinen.

Aiemmin Microsoft oli IBM:n alihankkijana OS/2-käyttöjärjestelmän kehitystyössä. Microsoft oli toimittanut IBM:lle graafiset käyttöliittymät kahteen ensimmäiseen versioon OS/2-käyttöjärjestelmästä. 

## Historia
NT:n kehitys alkoi korvaajana OS/2 versiolle 2, mutta Windows 3.0:n menestys muutti suunnitelmia. 
Microsoft palkkasi David Cutlerin elokuussa 1988 kehittämään NT:n ja toi mukanaan useita VMS:n kehityksessä mukana olleita henkilöitä. NT:ssä esiintyvät suunnitteluperiaatteet ja pääkonseptit esiintyivät jo Digitalin RSX-11M-käyttöjärjestelmässä. NT:n alkoi "OS/2 NT" -projektina ja tavoitteena oli säilyttää OS/2:n Presentation Manager ohjelmointirajapinta. Windows 3.0:n julkaisun jälkeen Win32 API:sta tuli sen pääasiallinen ohjelmointirajapinta ja yhteensopivuus 16-bittisen Windows 3.0 -rajapinnan kannassa oli tärkeä tekijä. 

Windows NT:n ensimmäinen julkaistu versio käytti sisäistä versionumeroa 3.1. Seuraavat julkaistut versiot olivat 3.5, 3.51 ja 4.0.

Windows NT julkaistiin huhtikuussa 1993. Windows NT 3.1 ei ollut kovin suosittu, muun muassa sen 12 MB:n keskusmuistivaatimusten vuoksi. NT 3.1 sisälsi oman Win32-sovellusrajapinnan lisäksi myös tuen 16-bittisille Windows/DOS- sekä OS/2- ja POSIX-sovelluksille. NT 3.1 oli saatavissa Intel x86 -suorittimien lisäksi myös DEC Alpha- ja MIPS R4000 -arkkiehtuureille.
Myöhemmät versiot kuten NT 3.5 tai NT 3.51 eivät menestyneet kovin paljon paremmin. Erään bugin vuoksi Windows NT 3.5 ei toiminut Intel Pentium -suoritinta uudemmilla suorittimilla.
Kesällä 1996 julkaistussa Windows NT 4.0:ssä oli Windows 95:n käyttöliittymän kaltainen käyttöliittymä, ja siitä tuli ensimmäinen suosittu Windows NT -versio. Sen tuki päättyi 30.6.2004, ja sitä seuraavia käyttöjärjestelmiä Microsoft ei enää myynyt NT-nimikkeellä.

## Ominaisuudet
Microsoft kehitti ensimmäisen version Windows NT:sta Intel i860 -suorittimelle.

Windows NT tukee sisäisesti Unicode-merkistöä. Sitä varten kehitettiin uusi NTFS-tiedostojärjestelmä IBM:n HPFS:n pohjalta. Jo Windows NT 3.1 tuki sisäisesti pitkiä tiedostonimiä DOS:in 8+3-merkkisten sijaan, mutta Windows 3.1:stä peräisin oleva NT 3.1:n käyttöliittymä ei mahdollistanut niiden käyttöä.

NT:n ja VMS:n yhtäläisyyksien vuoksi Microsoft maksoi Digitalille 65–100 miljoonaa dollaria, NT:lle lisättiin tuki Alpha-suorittimelle sekä osapuolet tekivät promootio- ja koulutussopimuksia.

## Ydin
NT:n ytimen on sanottu perustuvan Mach-mikroytimeen, mutta NT:n ydin on suurelta osin monoliittinen: laiteajurit sekä suuri osa käyttöjärjestelmästä ovat kaikki samassa ytimen osoitevaruudessa. 
Ydinmoodissa suoritetaan *Executive*, itse ydin ja laiteajurit sekä laitteiston abstraktiokerros (*Hardware abstraction layer*, HAL). Lisäksi ikkunointi ja grafiikka suoritetaan ytimen tilassa. Executiveen kuuluvat muistinhallinta, prosessien ja säikeiden hallinta, käyttäjäoikeudet, laite-IO, verkkotoiminnot ja prosessien välinen kommunikaatio.
Lisänä on tuki eri *persoonallisuuksille* kuten DOS, OS/2 ja POSIX-rajapinnat.

## Julkaisut

 *Myös K-, N- ja E-mallit liikenteessä joista K ei sisällä Messengeriä, N ei sisällä Media Playeria ja E ei sisällä Internet Exploreria ja myyntipaketit, kuten esim. KNE, joka ei sisällä mitään näistä.*

## Ohjelmointikielet
Suurin osa Windows NT:stä on ohjelmoitu C- tai C++-kielellä, jonka lisäksi on pieni osa assembly-kielellä.

## Yhteensopivuus
DOS-yhteensopivuuden vuoksi Windows NT:n mukana on ollut vuodesta 1993 lähtien NTVDM-komponentti (*NT Virtual DOS Machine*) 16-bittisien MS-DOS-ohjelmien suorittamiseen. NTVDM on rajattu 32-bittisille IA-32-suorittimille ja se ei ole enää tuettu x86-64 tai ARM-suorittimilla.

## Lähteet