Windows NT 3.1

História

Vývoj Windows NT sa začal v novembri 1988, po tom, čo Microsoft najal skupinu vývojárov z Digital Equipment Corporation. Mnohé prvky dizajnu odráža ich predchádzajúce skúsenosti s VMS a RSX-11. Tento operačný systém bol navrhnutý pre prevádzku na viacerých počítačových platformách s rôznymi sadami strojových inštrukcií. Špecifiká jednotlivých platforiem sú z veľkej časti tienené od zvyšku systému abstraktné medzivrstvou HAL. Windows NT, bol pôvodne vyvíjaný ako tretia verzia operačného OS/2 3.0, tj. Systému vyvinutého v spolupráci spoločností Microsoft a IBM. Avšak Windows 3.0 vydané v máji 1990 boli tak úspešné, že sa Microsoft rozhodol zmeniť aplikačné rozhranie (API) určené pre programovanie aplikácií. Miesto OS/2 API pre dosiaľ nevydané NT-OS/2 (ako bol v tej dobe vyvíjaný produkt označovaný) bolo použitých Windows API (v tom čase označované ako Win32). Jednostranné rozhodnutia firmy Microsoft spôsobilo napätie medzi ním a IBM, a preto spolupráca nakoniec skončila. IBM pokračovala vo vývoji OS/2, zatiaľ čo Microsoft pokračoval v práci na novo nazvanom systému Windows NT.
Win32 API je 32-bitové prevedenie 16-bitového Win32 API, ktoré sa dnes označuje ako Windows API. Väčšina 16-bitových Windows aplikácií môže byť prenesená na nový systém s minimálnymi zmenami a rekompilácia. Win32 API prinieslo nové funkcie, napr. Natívnu podporu pre podporu počítačových sietí a multithreading. Aplikačné programové rozhranie v systéme Windows NT je implementované ako subsystémy stojaci nad nezdokumentovaným Native API, cez ktoré sa Windows API implementuje. Windows NT, bol prvý operačný systém používajúci interne Unicode.
Projekt mal kódové označenie "NTOS", ktoré je zachované v názve súboru z jadra Windows NT - ntoskrnl.exe. Vzhľadom na to, že NTOS bol pôvodne zamýšľaný ako ďalšia verzia OS/2, je formálnejší názov projektu "NTOS/2". Tento názov je dodnes zachovaný v niektorých súboroch SDK Windows NT.

Podporované platformy

Systém Windows NT bol od základu navrhnutý s ohľadom na portovanie na iné platformy. Všetok kód kernelu a subsystémov bol napísaný v C a C ++. Akékoľvek rozdiely v architektúrach, ktoré nešli vyriešiť prostým překompilováním (napr. Pamäťová architektúra, podpora viacerých procesorov) boli riešené vrstvou HAL. Uvádzacia (bootovacie) architektúra NT si mnohé vypožičala zo špecifikácie ARC, hlavne v oblasti architektúr odlišných od x86. [1]

i860

Pôvodne bol NT zameraný na procesor Intel i860 s kódovým označenie N10 (alebo "N-Ten"). Avšak projekt procesora bol vo veľkom meškanie a preto Microsoft spočiatku používal emulátor i860. Dôvodom pre zacielenie ako prvý na i860 bolo zlepšenie prenosnosti a vyhnutie sa vytváranie dizajnu založenom na x86.

x86

NT 3.1 podporoval rodinu 32-bitových procesorov Intel x86 (80386 a vyššie). V porovnaní s 16-bitovou Windows 3.x bola podpora ovládačov v NT trochu obmedzená, ale väčšina 386 a 486 strojov by mala byť schopná NT spustiť.

MIPS

Windows NT tiež podporoval procesor MIPS R4000, konkrétne MIPS systémy navrhnuté podľa špecifikácie Advanced RISC Computing.

Alpha

V počiatku beta cykle NT bola pridaná podpora pre procesor DEC Alpha. Avšak pretože Alfa samotná ešte nebola vypustená na trh, vývojári Microsoftu získali prístup k vývoju produkčnej strojoch založených na Alfe až tesne pred samotným vypustením Windows NT. V dôsledku toho NT nebol pôvodne dodávaný s podporu Alpha, prvá balenie NT mala zahrnutá poštové kupón pre bezplatné získanie CD s NT 3.1 s podporou procesorov Alpha.

16-bitové Windows

Windows NT poskytuje subsystém pre kompatibilitu so 16-bitovými aplikáciami, tzv. "Windows on windows" (aka WOW), čo umožnilo väčšine aplikácií Windows 3.x bežať v nezmenenej podobe na NT. Neboli podporované aplikácie, ktoré vyžadovali priamy prístup k hardvéru, alebo záviseli na nízkoúrovňových ovládačoch DOSe.

32-bitová Windows

Ako bolo už povedané, Microsoft vo Windows NT uviedol API Win32, čo je 32-bitové prevedenie 16-bitového Windows API. Väčšina 16-bitových Windows aplikácií môže byť prenesená na nový subsystém s minimálnymi zmenami a rekompilácia. Win32 API bolo zachované (s určitými úpravami) vo Windows 95. Win32 je komplexná API, ponúkajúce služby OS od správy pamäte až po UI prístup. NT zabraňuje všetkým aplikáciám na užívateľskej úrovni k priamemu prístupu k hardvéru. To zvyšuje spoľahlivosť systému na úkor výkonnosti. Avšak to tiež znamená, že prakticky všetky aplikácie Win32 spoliehali výlučne na C / C ++, Win32 API, a výsledok je ten, že prenesenie také aplikácie na inú architektúru podporovanú Windows NT (napr. Presun z x86 NT na MIPS NT) zvyčajne nevyžadoval žiadne zmeny , len rekompilácia, iba niektoré aplikácie vyžadovali menšie úpravy.

Kompatibilita s OS / 2

Hoci "NT OS / 2" bol nakoniec vydaný ako "Windows NT", je do značnej miery kompatibilné s diskovými oddielmi HPFS a podporuje textové užívateľské rozhranie 16-bitových OS / 2 aplikácií. Mnohé z API OS / 2 (najmä NetBIOS / sieťové API LanMan), ktoré už existovali v takmer identické forme v oboch 16-bitových OS / 2 a DOS / Windows, tak boli začlenené aj do Win32 API.

Subsystém POSIX

Windows NT 3.1 zahŕňal subsystém kompatibilný s rozhraním POSIX. Ten bol pridaný do značnej miery za účelom zvýšenia tržieb z amerických vládnych zákaziek, kde mnoho vládnych agentúr vyžadovalo kompatibilitu s POSIX.
Kompatibilita s POSIX je požiadavka na úrovni API. Jeden operačný systém nemusí nutne byť schopný prevádzkovať binárne súbory zostavované pre iný systém, aj keď oba systémy sú POSIX kompatibilné. POSIX jednoducho stanovuje, že zdrojový kód by mal byť správne zostaviteľný pre každý systém.
Subsystém POSIX v NT 3.1 primárne poskytuje podporu pre unixové oprávnenia v systéme súborov a dlhá mená súborov (vrátane povoľovaní znakov v názvoch súborov, ktoré sú inak zakázané pre súbory Windows, a naopak zakazuje niektoré inak vo Windows povolenej).

Internet Explorer

Microsoft ponúkal Internet Explorer počnúc verziou IE2, posledný bol Internet Explorer 5.0 pre Windows NT 3.x.