Ang mga pangunahing bahagi ng pamilya ng Windows NT ng mga operating system. Maikling paglalarawan ng Windows NT operating system. Mga kinakailangan sa hardware

Sa pagtatapos ng 1988, hinirang ng Microsoft si David Cutler na mamuno bagong proyekto sa software: lumikha ng bagong operating system ng Microsoft para sa 1990s. Nagtipon siya ng isang pangkat ng mga inhinyero upang bumuo ng sistema bagong teknolohiya(Bagong Teknolohiya - NT).

Ang orihinal na plano ay upang bumuo ng NT na may OS/2-style user interface at application programming (API) interface, ngunit ang OS/2 ay naibenta nang mahina at ang Windows 3.0 ay isang malaki at patuloy na tagumpay sa marketplace. Matapos makita ang mga panggigipit sa merkado at ang mga hamon na nauugnay sa pagbuo at pagsuporta sa dalawang hindi magkatugma na mga sistema, nagpasya ang Microsoft na baguhin ang kurso at idirekta ang mga inhinyero nito patungo sa isang solong, magkakaugnay na diskarte sa operating system. Ang diskarte na ito ay upang bumuo ng isang pamilya ng Windows-based na mga operating system na sumasaklaw sa maraming uri ng mga computer, mula sa pinakamaliit na laptop hanggang sa pinakamalaking multiprocessor workstation. Kaya, ang susunod na henerasyon ng mga sistema ng Windows ay tinatawag na Windows NT.

Sinusuportahan ng Windows NT ang Windows graphical user interface (GUI) at ito rin ang unang batay sa Windows operating system isang Microsoft system na sumusuporta sa Win32 API, isang 32-bit programming interface para sa pagbuo ng mga bagong application. Ginagawang available ng Win32 API ang mga advanced na feature ng operating system sa mga application, tulad ng mga multi-threaded na proseso, pag-synchronize, seguridad, I/O, at pamamahala ng object.

Noong Hulyo 1993, lumitaw ang unang operating system ng pamilya NT - Windows NT 3.1 at Windows NT Advanced Server 3.1.

Mga bersyon

  • Windows NT 3.1 (Hulyo 27, 1993)
  • Windows NT 3.5 (Setyembre 21, 1994)
  • Windows NT 3.51 (Mayo 30, 1995)
  • Windows NT 4.0 (Agosto 24, 1996)
  • Windows 2000 (Pebrero 17, 2000)
  • Windows XP (Oktubre 25, 2001)
  • Windows XP 64-bit Edition (Marso 28, 2003)
  • Windows Server 2003 (Abril 25, 2003)
  • Windows XP Media Center Edition 2003 (Disyembre 18, 2003)
  • Windows XP Media Center Edition 2005 (Oktubre 12, 2004)
  • Windows XP Professional x64 Edition (Abril 25, 2005)
  • Windows Fundamentals para sa Legacy PCs (Hulyo 8, 2006)
  • Windows Vista (Nobyembre 30, 2006)
  • Windows Home Server (Nobyembre 7, 2007)
  • Windows Server 2008 (Pebrero 27, 2008)

Istraktura ng Windows NT

Sa istruktura, ang Windows NT ay maaaring katawanin sa dalawang bahagi: isang bahagi ng operating system na tumatakbo sa user mode, at isang bahagi ng operating system na tumatakbo sa kernel mode.

Ang bahagi ng Windows NT na tumatakbo sa kernel mode ay tinatawag na executive part. Kabilang dito ang ilang bahagi na kumokontrol virtual memory, mga bagay (mga mapagkukunan), input/output at file system (kabilang ang mga driver ng network), interaksyon sa proseso at bahagyang ang sistema ng seguridad. Ang mga sangkap na ito ay nakikipag-ugnayan sa isa't isa gamit ang intermodular na komunikasyon. Ang bawat bahagi ay tumatawag sa iba gamit ang isang set ng maingat na tinukoy na mga panloob na pamamaraan.

Ang ikalawang bahagi ng Windows NT, na tumatakbo sa mode ng gumagamit, ay binubuo ng mga server - ang tinatawag na mga protektadong subsystem. Dahil ang mga subsystem ay hindi maaaring awtomatikong magbahagi ng memorya, nakikipag-usap sila sa isa't isa sa pamamagitan ng pagpapadala ng mga mensahe. Maaaring ipadala ang mga mensahe sa pagitan ng isang kliyente at isang server, at sa pagitan ng dalawang server. Ang lahat ng mga mensahe ay dumadaan sa Windows NT executive. Windows kernel Nag-iskedyul ang NT ng mga thread sa mga protektadong subsystem sa parehong paraan tulad ng mga thread sa mga normal na proseso ng aplikasyon.

Ang suporta para sa mga protektadong subsystem ay ibinibigay ng executive part. Ang mga bahagi nito ay:

  • Tagapamahala ng bagay. Gumagawa, nagtatanggal, at namamahala ng mga runtime object—mga abstract na uri ng data na ginagamit upang kumatawan sa mga mapagkukunan ng system.
  • Monitor ng seguridad. Nagtatakda ng mga panuntunan sa proteksyon sa lokal na computer. Pinoprotektahan ang mga mapagkukunan ng operating system, pinoprotektahan at inirerehistro ang mga executable na bagay.
  • Tagapamahala ng proseso. Gumagawa at nagwawakas, sinuspinde at ipinagpatuloy ang mga proseso at thread, at nag-iimbak din ng impormasyon tungkol sa mga ito.

Virtual memory manager.

  • I/O subsystem. Kasama ang mga sumusunod na sangkap:
    • isang I/O manager na nagbibigay ng device-independent I/O facility;
    • file system - Mga driver ng NT na nagsasagawa ng mga kahilingan sa I/O na nakatuon sa file at isinasalin ang mga ito sa mga tawag sa mga ordinaryong device;
    • network redirector at network server - mga driver ng file system na naglilipat malayong mga kahilingan para sa input/output sa mga network machine at pagtanggap ng mga kahilingan mula sa kanila;
    • mga driver ng executive device - mga driver na may mababang antas na direktang kumokontrol sa device;
    • isang cache manager na nagpapatupad ng disk caching.

Ang bahagi ng pagpapatupad, sa turn, ay umaasa sa mas mababang antas ng mga serbisyo na ibinigay ng NT kernel. Kasama sa mga function ng kernel ang:

  • pagpaplano ng proseso,
  • paghawak ng mga interrupt at exception,
  • pag-synchronize ng processor para sa mga multiprocessor system,
  • pagbawi ng system pagkatapos ng mga pagkabigo.

Ang kernel ay tumatakbo sa privileged mode at hindi naaalis sa memorya. Maa-access lang ang kernel sa pamamagitan ng interrupt.

Protektado sa ilalim Mga sistema ng Windows Ang mga NT file ay tumatakbo sa user mode at nilikha ng Windows NT kapag nag-boot ang operating system. Kaagad pagkatapos ng paglikha ay nagsisimula sila walang katapusang loop kanilang pagpapatupad sa pamamagitan ng pagtugon sa mga mensaheng dumarating sa kanila mula sa mga proseso ng aplikasyon at iba pang mga subsystem. Sa mga protektadong subsystem, maaaring makilala ang isang subclass na tinatawag na mga environmental subsystem. Ang mga subsystem ng kapaligiran ay nagpapatupad ng mga operating system application interface (API). Ang iba pang mga uri ng subsystem, na tinatawag na integral subsystem, ay nagsasagawa ng mga gawain na kinakailangan ng operating system. Halimbawa, karamihan sa sistema Seguridad ng Windows Ang NT ay ipinatupad bilang isang integral subsystem, ang mga network server ay ipinatupad din bilang integral subsystem.

Ang pinakamahalagang subsystem ng kapaligiran ay Win32, ang subsystem na nagbibigay ng access sa application sa 32-bit na Windows API. Bukod pa rito, ang system na ito ay nagbibigay ng graphical na interface at namamahala sa input/output ng user.

Ang bawat protektadong subsystem ay tumatakbo sa mode ng gumagamit, tumatawag serbisyo ng system executive na bahagi upang magsagawa ng mga privileged na aksyon sa kernel mode. Mga server ng network maaaring tumakbo sa alinman sa user mode o kernel mode, depende sa kung paano sila idinisenyo.

Ang mga subsystem ay nakikipag-usap sa isa't isa sa pamamagitan ng pagpasa ng mga mensahe. Kapag, halimbawa, pasadyang aplikasyon tumatawag sa ilang pamamaraan ng API, ang environment subsystem na nagbibigay ng pamamaraang ito ay tumatanggap ng mensahe at isinasagawa ito alinman sa pamamagitan ng pag-access sa kernel o sa pamamagitan ng pagpapadala ng mensahe sa isa pang subsystem. Pagkatapos makumpleto ang pamamaraan, ang environment subsystem ay nagpapadala ng mensahe sa application na naglalaman ng return value. Ang pagpapadala ng mga mensahe at iba pang aktibidad ng mga protektadong subsystem ay hindi nakikita ng user.

Ang pangunahing tool na pinagsasama-sama ang lahat ng Windows NT subsystem ay ang mekanismo ng Local Procedure Call (LPC). Ang LPC ay isang naka-optimize na bersyon ng isang mas pangkalahatang tool, remote procedure call (RPC), na ginagamit upang makipag-usap sa pagitan ng mga kliyente at server na matatagpuan sa iba't ibang machine sa isang network.

Mga ugat

Nagsimula ang lahat noong 1975, nang simulan ng Digital Equipment Corporation ang pagbuo ng 32-bit na VAX platform nito.

Ang pamumuno ng proyektong ito ay ipinagkatiwala kay Cutler, na nakakuha na ng reputasyon bilang isang malakas na system engineer sa pamamagitan ng paglikha ng RSX-11M para sa mga sikat na PDP-11 minicomputers. Noong 1977, ang VAX-11/780 machine at ang operating system para dito, ang VMS 1.0, ay inihayag. Makalipas ang apat na taon, napapagod si Cutler sa "pag-uukol" ng mga numero pagkatapos ng patuloy na tatlong-titik na prefix, at nagpasya siyang umalis sa Digital. Gayunpaman, ang mga functionaries ng korporasyon ay naging mas tuso: dahil hindi nila mapanatili ang isang mahuhusay na developer sa dibdib ng organisasyon, nagpasya silang tularan ang kapaligiran ng isang startup at libreng pagkamalikhain. Isang autonomous na dibisyon ang nilikha sa Seattle, at pinahintulutan si Cutler na mag-recruit ng kinakailangang bilang ng mga tauhan (mga 200 tao) nang direkta mula sa mga empleyado ng Digital. Bagong istraktura nagsimulang magdisenyo ng arkitektura ng processor at operating system na pinangalanang Prism.

Diagram ng pag-unlad ng mga operating system ng pamilyang Windows NT

Ang "sandali ng kaligayahan" ay hindi nagtagal; ang mga malalaking boss ay hindi nagawang dalhin ang trabaho na kanilang sinimulan sa lohikal na konklusyon nito, at noong 1988, si Cutler, kasama ang kanyang 200 inhinyero at programmer, ay natagpuan ang kanyang sarili na malaya upang kumita ng kanyang pamumuhay. Ngunit ang sikat na developer ay hindi nanatiling walang trabaho: sa oras na iyon, ang desisyon ay hinog na sa ulo ni Bill Gates tungkol sa pangangailangan na lumikha ng isang server OS na makikipagkumpitensya sa mga clone ng Unix. Para lang makuha si David Cutler, ang hinaharap na punong arkitekto ng Microsoft ay sumang-ayon na kumuha ng 20 dating Digital engineer na kanyang pinili. Noong Nobyembre 1988, isang pangkat na kinabibilangan ng limang tao mula sa Digital at isang Microsoft programmer ang bumagsak sa negosyo.

Ang gawain ay magsulat ng isang OS para sa bagong Intel i860 RISC processor, na may pangalang N-Ten. Ito, sa pamamagitan ng paraan, ay kung saan ang abbreviation NT ay nagmula, sa kalaunan ay binigyang-kahulugan ng mga marketer ng Microsoft bilang Bagong Teknolohiya. Nasa Disyembre 1988, handa na ang mga unang fragment ng system. Ang catch ay na ang i860 ay umiral lamang sa papel, kaya ang code ay kailangang masuri sa isang software emulator. Ang pag-unlad ay isinagawa sa mga modelong "laruan", ayon sa mga pamantayan ngayon, Mga makina ng Intel 386 25 MHz na may 13 MB RAM at mga hard drive 110 MB.

Ang arkitektura ng microkernel, na orihinal na batayan para sa NT, ay naging mahalaga nang noong 1989 ay natuklasan na ang hardware na i860 ay hindi kayang magsagawa ng nakasulat na code nang sapat na mahusay. Kinailangan naming lumipat sa MIPS R3000 at pagkatapos ay sa karaniwang Intel 386 processor, na ginawa nang wala pang isang taon ng isang team na lumaki sa 28 engineer.

Noong 1990, naganap ang pinakamahalagang kaganapan, na naging susi sa kapalaran ng NT - ang paglabas at nakahihilo na tagumpay ng Windows 3.0. Sa katunayan, ito ang unang multitasking OS ng Microsoft na may disenteng graphical na interface kung saan gagawin ang totoong trabaho. Ang paghiram ng interface at API na ito ang nagtakda ng hinaharap ng NT. Sa una, ang server OS ay dapat na isang muling paggawa ng OS/2 na proyekto kasama ng IBM at, nang naaayon, gumana sa umiiral na mga aplikasyon OS/2. Gayunpaman, ang pangatlong bersyon ng Windows ay lumitaw sa tamang oras: Iniwan ni Redmond ang kanyang mga kaalyado at muling inayos ang NT development team upang idisenyo ang Win32 API, na ginawa sa "larawan at pagkakahawig" ng interface ng Win16. Nagbigay ito ng kinakailangang pagpapatuloy, na ginagawang mas madali ang pag-port ng mga application mula sa desktop patungo sa platform ng server.

Ang grupo ng pagpapaunlad ng NT, na noong panahong iyon ay naging Windows NT, ay nagsimulang lumago nang mabilis, at hindi nagtagal ay gumamit ito ng humigit-kumulang 300 katao. Ang pagkabigong tumuon sa OS/2 ay humantong sa mga seryosong problema sa relasyon sa pagitan ng Microsoft at IBM. Mga opisyal na pahayag walang naiulat, kaya lang sa isa sa mga inter-corporate presentation, nadiskubre ng mga empleyado ng IBM sa kalituhan na ang nilikhang OS ay walang kinalaman sa brainchild ng kanilang kumpanya. Gayunpaman, ang Windows NT 3.1 (ang pagnunumero ay "naayos" sa kasalukuyang bersyon ng 16-bit na Windows na umiral noong panahong iyon) ay may kasamang suporta para sa DOS, Win16, POSIX at OS/2 API, bukod sa iba pa. Noong Hulyo 1993, lumabas ang bagong server system ng Microsoft at nagsimula ang paglalakbay nito.

Pagkatapos ay naging maayos ang mga bagay: noong Setyembre 1994, inilabas ang Windows NT 3.5. Ang nakaraang bersyon ay inihanda sa isang lagnat na pagmamadali, ang lahat ay kailangang ma-code mula sa simula, at maraming mga tampok ang naiwang hindi naipatupad. Ngayon ay oras na upang isipin ang tungkol sa kahusayan, bilis at... pag-aayos ng ilang uri ng pakikipag-ugnayan sa mga network na binuo sa NetWare - ang ganap na pinuno ng panahong iyon, na nangingibabaw sa merkado mga lokal na network. Kung noong mga taong iyon ay naging maasikaso sila sa mga usapin ng pagsasaayos ng mga monopolyo gaya ngayon, marahil ay sapat na ang pagsulat ng kaukulang paninirang-puri sa nararapat na awtoridad. Sa kasamaang palad, kinailangan ng Microsoft na malaman ang sitwasyon sa sarili nitong. Nag-aalangan si Novell kung magbibigay o hindi ng suporta sa kliyente para sa Windows NT. Hindi na makapaghintay si Redmond - nagsulat sila ng kanilang sarili NetWare client, at ito ay napakahusay na ito ay patuloy na ginamit pagkatapos mailabas ang orihinal na software ng Novell. Noong Mayo 1995, salamat sa isang arkitektura batay sa isang microkernel, lumitaw ang isang espesyal na "PowerPC edition" ng OS - Windows NT 3.51. Ayon sa ilang mga ulat, ang paglabas nito ay naantala sa isang pagkakataon dahil sa kawalan ng kakayahan ng IBM na sumunod sa plano na dalhin ang processor na ito sa merkado. Samakatuwid, ang ebolusyon ng bersyon ng PowerPC ay lumayo nang kaunti kaysa sa Windows NT 3.5, na nagpapahintulot na ito ay maging batayan para sa susunod na bersyon ng OS.

Kung hanggang ngayon posible pa ring pag-usapan ang tungkol sa ilang pagkakapareho sa pagitan ng mga arkitektura ng Windows NT at kahit na Unix (sa ilang mga paraan na walang hanggan na malayo, at sa iba ay halos kapareho sa VMS OS), pagkatapos ay sa paglabas ng NT 4.0, na nagpasimula ng graphics subsystem sa core, ang huling dahilan para sa naturang pangangatwiran ay nawala. Sa teorya, ang gayong desisyon ay isang ganap na lohikal na konklusyon mula sa malungkot na karanasan ng pagsubok na isama ang sikat na kapaligiran ng Windows 95 sa NT Marahil, ang ideya ng pagkopya ng modelo ng arkitektura ng X Window - Unix - ay lumitaw nang tumpak dahil. ng paunang "orientation ng server" ng NT. Gayunpaman, kung walang mga problema sa aktwal na "transplantation" ng graphical na shell, kung gayon ang pagganap nito sa mode ng gumagamit (ibig sabihin, sa form regular na aplikasyon) na naiwan ng maraming nais, na talagang natural - ang Windows graphics subsystem na sumusuporta sa isang abstracted output device (maging ito ay isang raster display, isang printer, o anumang bagay) ay hindi maihahambing na mas kumplikado at, nang naaayon, mas nangangailangan ng mapagkukunan kaysa sa X Window, na "nakakaunawa" ng eksklusibong mga pagpapakita ng raster. Kaya, ang isa pang module ay lumitaw bilang bahagi ng Windows NT 4.0 kernel, na inilabas noong Hulyo 1996. Ang rebisyon ay tinawag na Shell Update Release (SUR).

Ang susunod na yugto ay ang Windows NT 5.0, na inilabas sa merkado noong 2000 sa ilalim ng pangalang Windows 2000. Ang pagbabago ng "mga pamagat" ay naganap sa ilalim ng impluwensya ng mga marketer at naging, sa pangkalahatan, ang tamang desisyon, na naging posible. upang muling iposisyon ang operating system na ito. Ang gawain ay nagpapatuloy hanggang sa araw na ito, bilang ebidensya ng pagpapalaya Windows Server 2003.

Labanan para sa Windows Design at Pagpapatupad ng Windows Nag-uulat ang server kay Mark Lucovsky, isa sa mga tagasuporta ng server OS division ng korporasyon. Pinamunuan niya ang isang hukbo ng 5 libong mga developer na nakatalaga sa pitong laboratoryo. Isa pang 5 libong programmer ang nagtatrabaho sa kanilang mga lugar ng trabaho sa mga kasosyong kumpanya, na nag-aambag araw-araw sa 50 milyong linya ng final code sa Windows Server 2003 OS.

Araw-araw, ang isang buong compilation at assembly ng system ay isinasagawa upang suriin ang functionality at makilala ang mga error. Ang mga listahan ng mga nakitang error ay ipinapadala sa mga development team. Ang mga ginawang pagwawasto ay dapat iulat sa bulletin board, na naglalagay sa kanila sa isang pila para maisama sa pangunahing build. Ang server farm na nag-compile ng system ay patuloy na ginagawang moderno, gayunpaman, tulad ng maraming taon na ang nakalipas, kumpletong pagpupulong tumatagal ng 12 oras na oras ng computer. At ito ay sa kabila ng paghahati ng napakalaking hanay ng mga code sa magkakahiwalay na independiyenteng grupo ng mga source code, na nakaayos sa mga hierarchy na parang puno.

Ang quintessence ng proseso ng pag-unlad ay isang oras na pagpupulong sa tinatawag na "war room", na gaganapin dalawa o tatlong beses araw-araw (sa 9:30, 14:00 at 17:00). Nauunahan sila ng mga katulad na kaganapan sa mga lokal na "war room" ng mga nagtatrabaho na grupo sa 8.00. Sa pangunahing pagpupulong, ang mga pag-aayos sa mga naunang natuklasang mga error ay tinatalakay at ang pangkalahatang katayuan ng proyekto ay tinutukoy. Sa nakalipas na mga araw, ang mga tao dito ay pangunahing naghahanap ng mga paraan upang malutas ang isang mahalagang problema - pagpapalit ng pangalan ng Windows.NET Server 2003 sa Windows Server 2003. Libu-libong mga pangalan sa iba't ibang mga module, at ito ay sa huling sandali bago inilabas ang system, na nagdulot ng malubhang sakit ng ulo para sa mga developer.

Sa pagpupulong, ang bawat pangkat ay dapat mag-ulat tungkol sa pag-usad ng trabaho nito, ang proseso ng pagwawasto sa anumang mga pagkakamaling natagpuan, at ang mga posibleng kahihinatnan ng paggawa o hindi paggawa ng mga pagbabagong ito. Kung ang problema ay hindi malulutas o itinuring na hindi sapat na mahalaga, ang bug, ayon sa orihinal na terminolohiya, ay "napalabas" sa huling paglabas. Ang hindi pagpupulong sa umaga ay katumbas ng paglisan.

Ang build ay magsisimula araw-araw sa 4:30 p.m. at maaaring maantala hanggang 6:00 p.m. Ang koponan ay hindi makakarating sa isang pulong kung wala handa na solusyon umiiral na mga problema, kung hindi, mas mabuting huwag na silang magpakita doon. Ang bawat isa sa pitong laboratoryo ay may kumpletong kopya ng source code ng system, kung saan ginagawa nila ang kanilang mga pagbabago, pinagsama-sama at sinusuri para sa functionality. Kung naging maayos ang lahat, ang bagong code ay isasama sa code na ginawa ng ibang mga grupo sa pangunahing pagpupulong. Ang problema ay maaaring ang pakikipag-ugnayan ng bagong code na isinulat ng iba't ibang grupo. Ang pangunahing pagpupulong ay hindi palaging maayos; Sa kasong ito, sa sandaling matuklasan ang module ng salarin (karaniwan ay mga alas-tres o alas-kuwatro ng umaga), ang mga sumulat nito ay apurahang tinatawag sa lugar ng trabaho at hindi umalis hanggang sa naitama ang pagkakamali. Samakatuwid, dapat na handa ang mga programmer na magtrabaho nang 24 na oras sa isang araw, 6 na araw sa isang linggo (anim na araw ang ipinakilala habang papalapit ang petsa ng paglabas ng produkto).

Ang pangunahing prinsipyo kung saan binuo ang mga huling yugto ng pagsubok ay ang paggamit ng sarili nating mga produkto sa proseso ng proyekto. Kapag naabot ng isang system ang "level one" na katatagan, ito ang magiging pangunahing OS sa mga workgroup. Ang "pangalawang antas" ay itinuturing na naabot kapag ang OS ay nakakuha ng kakayahang gumana. Pagkatapos lamang nito ay pinapayagan itong magamit sa Microsoft campus. Ito ang kaso sa file server sa ilalim ng NT, ang unang paggamit nito ay upang mag-imbak ng mga source code ng Windows NT, ito ay ginawa sa una, at sa lahat ng mga kasunod. Mga aktibong bersyon Direktoryo.

Pagkatapos ay isusumite ang produkto sa mga piling partner sa pamamagitan ng JDP (Joint Development Partners) program para sa pagsubok. Kung may natuklasang mga error, isang "kusang desisyon" ang gagawin: iwanan ang mga ito sa system at i-save ang petsa ng pagsisimula ng benta, o ipagpaliban ang petsa ng paglabas at simulan ang paggawa ng mga pagpapabuti. Sa huling kaso, kinansela ang lahat ng resulta at magsisimula ang pagsubok sa simula.

Mas mahirap magbigay ng after-sales support. Kung may mga depekto, natukoy ang mga butas sa seguridad, o may pangangailangan na magdagdag ng mga bagong function sa produkto, kailangan mong lumikha ng alinman sa isang lokal na patch o isang ganap na patch. Service Pack. Dahil umiral na ang iba bago ang patch na ito o Service Pack, ang bagong code ay nasubok sa maraming variant ng system, sinusubukan ang lahat ng posibleng kumbinasyon ng mga patch at Service Pack. Bilang karagdagan, upang magsagawa ng buong pagsusuri sa pagganap, sinusuportahan ng korporasyon ang mga hiwalay na fragment ng network nito na nagpapatakbo sa mga mas lumang bersyon ng mga produkto (halimbawa, Windows Server 2000), kung saan maaari mong "subukan" ang system sa field.

Paano naging WNT ang VMS

Minsang nagbiro ang ilang wits na kung magsagawa ka ng increment operation (dagdagan ng isa) sa bawat titik ng pangalan ng Cutler operating system na VMS, makakakuha ka ng WNT o Windows NT. Ayon sa mga propesyonal, ito ang ganap na katotohanan. Hindi isang bias na opinyon batay sa katotohanan na ang mga pangunahing arkitekto ng NT ay sa isang pagkakataon na mga developer ng VMS, ngunit isang layunin na katotohanan.

Sa katunayan, ang NT ay ang sagisag ng radikal na muling idisenyo na mga ideya sa arkitektura ng VMS assembly core, na ipinatupad sa wikang C upang makamit ang mas mahusay na portability, na kinumpleto ng kaukulang mga interface ng API at bagong file at mga graphics subsystem. Ang pagkakapareho ng mga solusyon sa arkitektura ng dalawang sistema ay napakahusay. Kaya, mayroon silang parehong mga konsepto ng mga proseso, mga priyoridad (32 na antas), pamamahala ng mga pagbabago sa mga priyoridad at kontrol ng pamamahagi ng oras ng processor sa pagitan nila. Ngunit sa kabila ng mga makabuluhang pagkakatulad, walang alinlangan dahil sa nakaraang karanasan ng pangkat ng punong arkitekto - Cutler, ang NT ay orihinal na nilikha bilang isang multi-threaded OS - ang isang "maliit" na pagkakaiba ay ginagawang posible na maunawaan ang lawak kung saan ang NT ay inalis mula sa "basic" na arkitektura ng VMS.

Ang mga driver sa parehong mga operating system ay gumagana sa loob ng isang stack model, na ang bawat layer ay nakahiwalay sa iba, na nagbibigay-daan sa iyo upang ayusin ang isang multi-stage na pamamaraan ng pamamahala ng device. Pinapayagan ng mga system ang pagpapalit ng parehong mga proseso ng user at mga system, kabilang ang mga driver. Ang mga paraan ng pagkatawan ng mga mapagkukunan ay magkatulad din; Ang seguridad ng NT, tulad ng pinagbabatayan nitong Discretionary Access Control Lists, o mga DACL, ay binabaybay ang linya nito pabalik sa VMS 4.0.

Noong 1993, sinuri ng mga inhinyero ng Digital ang mga detalye ng Windows NT at natuklasan ang kapansin-pansing pagkakatulad nito sa pang-eksperimentong Mica operating system na nilikha bilang bahagi ng proyektong Prism. Bakit ganoong pansin ang mga produkto ng Redmond? Hindi dahil sa magandang buhay kaya nagsimulang pag-aralan ng mga empleyado ng Digital ang loob ng sistema ng ibang tao. Noong 1992, ang korporasyon ay nahulog sa isang matagal na pagsisid, ang pera ay dumudulas sa mga daliri nito, at ang mga benta ng bagong Alpha processor ay natigil. Ngayon, sa paghahanap ng kaligtasan, sinubukan ng mga boss ng kumpanya na bumaling sa kanilang mapait na karibal na Intel para sa tulong, kung saan ang presidente nito, si Andrew Grove, ay tumanggi. Sa huli kailangan kong yumuko kay Gates III at magtanong Windows port NT sa ilalim ng Alpha kapalit ng pangakong gagawin ang NT, sa kapinsalaan ng VMS, ang pangunahing operating system nito. Gayunpaman, nang makatanggap ng paunang bersyon ng NT, unti-unting napagtanto ng mga Digital engineer na ang OS na ito ay nangangailangan ng mas malaking RAM kaysa sa karaniwang nilalaman ng kanilang karaniwang "limang libong dolyar na Alpha PC". Malinaw na hindi angkop ang NT para sa mass market ng mga istasyon ng RISC na isang pagtatangka na sumali sa bandila ng Microsoft para sa Digital (sa katunayan, para sa karamihan ng iba pang mga kumpanya) ay naging isang pag-aaksaya ng oras at pera.

Ang laro ng "hanapin ang 10 pagkakaiba" sa pagitan ng WNT at VMS ay nagdala ng malaking dibidendo sa Digital. Ayon sa isang bersyon na inilathala sa oras na iyon sa Business Week, sa halip na hayagang magsampa ng kaso, ang presidente ng Digital, na nasa kanyang mga kamay ay hindi maikakaila na katibayan ng paglabag sa mga karapatan sa intelektwal na ari-arian, ay nagpasya na makakuha ng higit pa sa pamamagitan ng paggastos ng mas kaunti. Bumaling siya sa Microsoft para sa paglilinaw, na nagresulta sa paglagda ng isang malakihang kontrata kung saan ang Digital ay naging pangunahing network integrator ng NT. Bilang karagdagan, noong Oktubre ng parehong taon, inabandona ng Redmond ang suporta para sa parehong mga processor na nakikipagkumpitensya sa Alpha sa Windows NT: PowerPC at MIPS. Sa kasamaang palad para sa Digital na pamamahala, ang alyansa ay nawasak sa lalong madaling panahon, at ang katayuan ng "NT network installation services para sa Microsoft" nagpunta sa Hewlett-Packard, na, gayunpaman, pagkalipas ng ilang taon ay nakatanggap ng isa pang mabigat na pasanin ng korporasyon - ang VMS OS.

Sa kabila ng katotohanang naghiwalay ang NT at VMS, nagpatuloy ang mga operating system na ito ng serye ng mga kakaibang paghiram. Sa partikular, ang Windows NT ay nakatanggap lamang ng suporta sa kumpol noong 1997, habang ang VMS ay nagkaroon nito mula noong 1984, at ang 64-bit na bersyon ng Windows ay lumitaw kahit na sa ibang pagkakataon (ang VMS ay lumipat sa isang mas mataas na bit na kapasidad noong 1996). Sa kabilang banda, ipinakilala ng VMS 7.0 ang kernel-level threading noong 1995, at ang VMS 7.2 ay nagsama ng isang database na tulad ng Registry at global na log ng kaganapan na katulad ng kaukulang mga tool sa NT. Lalabas na ang Windows Server 2003, tingnan natin kung ano ang susunod na mangyayari...

5.1. Maikling paglalarawan Windows NT operating system.

Sa ngayon, ang pandaigdigang industriya ng computer ay mabilis na umuunlad.

Ang mga operating system ng klase ng MS-DOS ay hindi na makayanan ang ganoong daloy ng data at hindi na ganap na magamit ang mga mapagkukunan ng mga modernong computer. Samakatuwid, kamakailan ay nagkaroon ng isang paglipat sa mas malakas at advanced na mga operating system ng klase ng UNIX, isang halimbawa kung saan ay ang Windows NT, na inilabas ng Microsoft Corporation

Kapag nakita ng user ang Microsoft operating system sa unang pagkakataon

Windows NT, siya ay tinamaan ng isang malinaw na panlabas na pagkakahawig sa minamahal na interface ng Windows 3.+ na sistema Gayunpaman, ang nakikitang pagkakatulad na ito ay isang maliit na bahagi lamang ng Windows NT.

Ang Windows NT ay isang 32-bit na operating system na may priyoridad na multitasking. Kabilang sa mga pangunahing bahagi ng isang operating system ang seguridad at

binuo serbisyo sa network.

Nagbibigay din ang Windows NT ng compatibility sa maraming iba pang operating system, file system, at network.

Tulad ng ipinapakita sa sumusunod na figure, ang Windows NT ay

isang modular (mas advanced kaysa sa isang monolitik) operating system, na binubuo ng hiwalay na magkakaugnay na medyo mga simpleng module.

Pangunahing Mga module ng Windows Ang NT ay (nakalista sa pagkakasunud-sunod mula sa pinakamababang antas ng arkitektura hanggang sa pinakamataas): ang HAL (Hardware Abstraction Layer), ang Kernel, ang Executive, mga protektadong subsystem at environment subsystem.

Modular na istraktura ng Windows NT

5.2. Windows NT file system.

Noong unang inilabas ang Windows NT, kasama nito ang suporta para sa tatlong file system. Ito ay isang file allocation table (FAT) na nagbigay ng compatibility sa MS-DOS, isang file system nadagdagan ang pagiging produktibo(HPFS), na nagbigay ng compatibility sa LAN Manager, at isang bagong file system na tinatawag na New Technologies File System (NTFS).

Ang NTFS ay may ilang mga kalamangan sa mga file system na ginagamit para sa karamihan ng mga file server noong panahong iyon.

Upang matiyak ang integridad ng data, ang NTFS ay may log ng transaksyon. Ang diskarte na ito ay hindi ibinubukod ang posibilidad ng pagkawala ng impormasyon, gayunpaman, ito ay makabuluhang pinapataas ang posibilidad na ang pag-access sa file system ay magiging posible kahit na ang integridad ng sistema ng server ay nakompromiso. Ito ay posible sa pamamagitan ng paggamit ng log ng transaksyon upang subaybayan ang natitirang mga pagtatangka sa pagsulat ng disk kapag ang Windows NT ay kasunod na na-boot. Ginagamit din ang log ng transaksyon upang suriin ang disk para sa mga error sa halip na suriin ang bawat file kapag gumagamit ng talahanayan ng paglalaan ng file.

Ang isa sa mga pangunahing bentahe ng NTFS ay seguridad. Nagbibigay ang NTFS ng kakayahang magdagdag ng Mga Access Control Entries (ACE) sa isang Access Control List (ACL). Ang ACE ay naglalaman ng pangalan ng pangkat o user identification at isang access token na maaaring gamitin upang paghigpitan ang access sa isang partikular na direktoryo o file. Maaaring kasama sa access na ito ang kakayahang magbasa, magsulat, magtanggal, mag-execute, at maging ang sariling mga file.

Sa kabilang banda, ang ACL ay isang lalagyan na naglalaman ng isa o higit pang mga entry sa ACE. Binibigyang-daan ka nitong paghigpitan ang pag-access mga indibidwal na gumagamit o mga grupo ng mga user sa mga partikular na direktoryo o file sa network.

Bilang karagdagan, sinusuportahan ng NTFS ang pagtatrabaho sa mahahabang pangalan na hanggang 255 character ang haba at naglalaman ng malalaking titik at maliliit na titik sa anumang pagkakasunud-sunod. Ang isa sa mga pangunahing katangian ng NTFS ay awtomatikong paglikha katumbas na mga pangalan na tugma sa MS-DOS.

Ang NTFS ay mayroon ding tampok na compression na unang lumabas sa NT na bersyon 3.51. Nagbibigay ito ng kakayahang i-compress ang anumang file, direktoryo o NTFS disk. Hindi tulad ng MS-DOS compression programs, na lumikha ng isang virtual na disk na kamukha nakatagong file at i-compress ang lahat ng data sa disk na iyon, gumagamit ang Windows NT ng karagdagang layer ng subsystem ng file upang i-compress at i-decompress ang mga kinakailangang file nang hindi lumilikha virtual na disk. Ito ay kapaki-pakinabang kapag nag-compress ng alinman sa isang partikular na bahagi ng disk (halimbawa, direktoryo ng gumagamit), o mga file ng isang partikular na uri (halimbawa, mga graphic na file). Ang tanging disbentaha ng NTFS compression ay ang mababang antas ng compression kumpara sa MS-DOS compression scheme. Ngunit ang NTFS ay may mas mataas na pagiging maaasahan at pagganap.

Kaya, mula sa lahat ng nasa itaas maaari nating tapusin:

Upang maging tugma sa iba't ibang mga operating system, ang Windows NT ay naglalaman ng FAT 32 file system Bilang karagdagan, ang Windows NT ay naglalaman ng sarili nitong file system Sistema ng NTFS, na hindi tugma sa FAT 16. Ang file system na ito ay may ilang mga pakinabang kaysa sa FAT, at mayroon ding mas mataas na pagiging maaasahan at pagganap.

Konklusyon.

Ang MS-DOS ay isang 16-bit na operating system na tumatakbo sa totoong processor mode. Sa mga bersyon ng Windows 3.1, ang ilan sa code ay 16-bit at ang ilan ay 32-bit. Sinusuportahan ang Windows 3.0 totoong mode pagganap ng processor, sa panahon ng pagbuo ng bersyon 3.1 napagpasyahan na iwanan ang suporta nito.

Ang Windows 95 ay isang 32-bit na operating system na tumatakbo lamang sa CPU protected mode. Ang kernel, na kinabibilangan ng memory management at process dispatching, ay naglalaman lamang ng 32-bit code. Binabawasan nito ang mga gastos at pinapabilis ang trabaho. Ilang module lang ang may 16-bit code para sa compatibility sa MS-DOS mode. Gumagamit ang Windows 95 ng 32-bit na code hangga't maaari, na nagreresulta sa mas mataas na pagiging maaasahan at katatagan ng system. Bilang karagdagan, para sa pagiging tugma sa mga legacy application at ang mga driver ay gumagamit din ng 16-bit code.

Ang Windows NT ay hindi isang karagdagang pag-unlad ng dati nang umiiral na mga produkto. Ang arkitektura nito ay nilikha mula sa simula, na isinasaalang-alang ang mga kinakailangan para sa isang modernong operating system. Sa pagsisikap na matiyak ang pagiging tugma ng bagong operating system, pinanatili ng mga developer ng Windows NT ang pamilyar na interface ng Windows at nagpatupad ng suporta para sa mga umiiral nang file system (gaya ng FAT) at iba't ibang application (isinulat para sa MS - Dos, Windows 3.x). Kasama rin ang mga developer sa mga tool ng Windows NT para sa pagtatrabaho sa iba't-ibang ibig sabihin ng network.

Ang pagiging maaasahan at katatagan ay nagbibigay mga katangian ng arkitektura, na nagpoprotekta sa mga application program mula sa pinsala ng bawat isa at ng operating system. Gumagamit ang Windows NT ng fault-tolerant structured exception handling sa lahat ng antas ng arkitektura, na kinabibilangan ng nare-recover na NTFS file system at nagbibigay ng proteksyon sa pamamagitan ng built-in na seguridad at mga advanced na diskarte sa pamamahala ng memorya.


Sa pagtatapos ng 1988, inatasan ng Microsoft si David Cutler na manguna sa isang bagong proyekto ng software: paglikha ng bagong operating system ng Microsoft para sa 1990s. Nagtipon siya ng isang pangkat ng mga inhinyero upang bumuo ng isang sistema ng Bagong Teknolohiya (NT).

Ang orihinal na plano ay upang bumuo ng NT na may OS/2-style user interface at application programming (API) interface, ngunit ang OS/2 ay naibenta nang mahina at ang Windows 3.0 ay isang malaki at patuloy na tagumpay sa marketplace. Matapos makita ang mga panggigipit sa merkado at ang mga hamon na nauugnay sa pagbuo at pagsuporta sa dalawang hindi magkatugma na mga sistema, nagpasya ang Microsoft na baguhin ang kurso at idirekta ang mga inhinyero nito patungo sa isang solong, magkakaugnay na diskarte sa operating system. Ang diskarte na ito ay upang bumuo ng isang pamilya ng Windows-based na mga operating system na sumasaklaw sa maraming uri ng mga computer, mula sa pinakamaliit na laptop hanggang sa pinakamalaking multiprocessor workstation. Kaya, ang susunod na henerasyon ng mga sistema ng Windows ay tinatawag na Windows NT.

Sinusuportahan ng Windows NT ang Windows graphical user interface (GUI) at ito rin ang unang Windows-based na Microsoft operating system na sumusuporta sa Win32 API, isang 32-bit programming interface para sa pagbuo ng mga bagong application. Ginagawang available ng Win32 API ang mga advanced na feature ng operating system sa mga application, tulad ng mga multi-threaded na proseso, pag-synchronize, seguridad, I/O, at pamamahala ng object.

Noong Hulyo 1993, lumitaw ang unang operating system ng pamilya NT - Windows NT 3.1 at Windows NT Advanced Server 3.1.

Mga bersyon

  • Windows NT 3.1 (Hulyo 27, 1993)
  • Windows NT 3.5 (Setyembre 21, 1994)
  • Windows NT 3.51 (Mayo 30, 1995)
  • Windows NT 4.0 (Agosto 24, 1996)
  • Windows 2000 (Pebrero 17, 2000)
  • Windows XP (Oktubre 25, 2001)
  • Windows XP 64-bit Edition (Marso 28, 2003)
  • Windows Server 2003 (Abril 25, 2003)
  • Windows XP Media Center Edition 2003 (Disyembre 18, 2003)
  • Windows XP Media Center Edition 2005 (Oktubre 12, 2004)
  • Windows XP Professional x64 Edition (Abril 25, 2005)
  • Windows Fundamentals para sa Legacy PCs (Hulyo 8, 2006)
  • Windows Vista (Nobyembre 30, 2006)
  • Windows Home Server (Nobyembre 7, 2007)
  • Windows Server 2008 (Pebrero 27, 2008)

Istraktura ng Windows NT

Sa istruktura, ang Windows NT ay maaaring katawanin sa dalawang bahagi: isang bahagi ng operating system na tumatakbo sa user mode, at isang bahagi ng operating system na tumatakbo sa kernel mode.

Ang bahagi ng Windows NT na tumatakbo sa kernel mode ay tinatawag na executive part. Kabilang dito ang ilang bahagi na namamahala sa virtual memory, mga bagay (mga mapagkukunan), input/output at ang file system (kabilang ang mga driver ng network), proseso ng komunikasyon, at bahagyang ang sistema ng seguridad. Ang mga sangkap na ito ay nakikipag-ugnayan sa isa't isa gamit ang intermodular na komunikasyon. Ang bawat bahagi ay tumatawag sa iba gamit ang isang set ng maingat na tinukoy na mga panloob na pamamaraan.

Ang ikalawang bahagi ng Windows NT, na tumatakbo sa mode ng gumagamit, ay binubuo ng mga server - ang tinatawag na mga protektadong subsystem. Dahil ang mga subsystem ay hindi maaaring awtomatikong magbahagi ng memorya, nakikipag-usap sila sa isa't isa sa pamamagitan ng pagpapadala ng mga mensahe. Maaaring ipadala ang mga mensahe sa pagitan ng isang kliyente at isang server, at sa pagitan ng dalawang server. Ang lahat ng mga mensahe ay dumadaan sa Windows NT executive. Ang kernel ng Windows NT ay nag-iskedyul ng mga thread sa mga protektadong subsystem sa parehong paraan tulad ng mga thread sa mga regular na proseso ng aplikasyon.

Ang suporta para sa mga protektadong subsystem ay ibinibigay ng executive part. Ang mga bahagi nito ay:

  • Tagapamahala ng bagay. Gumagawa, nagtatanggal, at namamahala ng mga runtime object—mga abstract na uri ng data na ginagamit upang kumatawan sa mga mapagkukunan ng system.
  • Monitor ng seguridad. Nagtatakda ng mga panuntunan sa proteksyon sa lokal na computer. Pinoprotektahan ang mga mapagkukunan ng operating system, pinoprotektahan at inirerehistro ang mga executable na bagay.
  • Tagapamahala ng proseso. Gumagawa at nagwawakas, sinuspinde at ipinagpatuloy ang mga proseso at thread, at nag-iimbak din ng impormasyon tungkol sa mga ito.

Virtual memory manager.

  • I/O subsystem. Kasama ang mga sumusunod na sangkap:
    • isang I/O manager na nagbibigay ng device-independent I/O facility;
    • file system - Mga driver ng NT na nagsasagawa ng mga kahilingan sa I/O na nakatuon sa file at isinasalin ang mga ito sa mga tawag sa mga ordinaryong device;
    • network redirector at network server - mga driver ng file system na nagpapadala ng mga remote na kahilingan sa I/O sa mga network machine at tumatanggap ng mga kahilingan mula sa kanila;
    • mga driver ng executive device - mga driver na may mababang antas na direktang kumokontrol sa device;
    • isang cache manager na nagpapatupad ng disk caching.

Ang bahagi ng pagpapatupad, sa turn, ay umaasa sa mas mababang antas ng mga serbisyo na ibinigay ng NT kernel. Kasama sa mga function ng kernel ang:

  • pagpaplano ng proseso,
  • paghawak ng mga interrupt at exception,
  • pag-synchronize ng processor para sa mga multiprocessor system,
  • pagbawi ng system pagkatapos ng mga pagkabigo.

Ang kernel ay tumatakbo sa privileged mode at hindi naaalis sa memorya. Maa-access lang ang kernel sa pamamagitan ng interrupt.

Ang mga subsystem na protektado ng Windows NT ay tumatakbo sa user mode at nilikha ng Windows NT kapag nag-boot ang operating system. Kaagad pagkatapos ng kanilang paglikha, nagsisimula sila ng walang katapusang cycle ng pagpapatupad, na tumutugon sa mga mensaheng dumarating sa kanila mula sa mga proseso ng aplikasyon at iba pang mga subsystem. Sa mga protektadong subsystem, maaaring makilala ang isang subclass na tinatawag na mga environmental subsystem. Ang mga subsystem ng kapaligiran ay nagpapatupad ng mga operating system application interface (API). Ang iba pang mga uri ng subsystem, na tinatawag na integral subsystem, ay nagsasagawa ng mga gawain na kinakailangan ng operating system. Halimbawa, ang karamihan sa sistema ng seguridad ng Windows NT ay ipinatupad bilang isang mahalagang subsystem na mga server ng network ay ipinatupad din bilang mga integral na subsystem.

Ang pinakamahalagang subsystem ng kapaligiran ay Win32, ang subsystem na nagbibigay ng access sa application sa 32-bit na Windows API. Bukod pa rito, ang system na ito ay nagbibigay ng graphical na interface at namamahala sa input/output ng user.

Ang bawat protektadong subsystem ay gumagana sa user mode, na tinatawag ang execution system service para magsagawa ng mga privileged action sa kernel mode. Maaaring tumakbo ang mga network server sa mode ng user o kernel mode, depende sa kung paano sila idinisenyo.

Ang mga subsystem ay nakikipag-usap sa isa't isa sa pamamagitan ng pagpasa ng mga mensahe. Kapag, halimbawa, tumawag ang isang user application ng ilang API procedure, ang environment subsystem na nagbibigay ng procedure na ito ay tumatanggap ng mensahe at ipapatupad ito sa pamamagitan ng pag-access sa kernel o sa pamamagitan ng pagpapadala ng mensahe sa isa pang subsystem. Pagkatapos makumpleto ang pamamaraan, ang environment subsystem ay nagpapadala ng mensahe sa application na naglalaman ng return value. Ang pagpapadala ng mga mensahe at iba pang aktibidad ng mga protektadong subsystem ay hindi nakikita ng user.

Ang pangunahing tool na pinagsasama-sama ang lahat ng Windows NT subsystem ay ang mekanismo ng Local Procedure Call (LPC). Ang LPC ay isang naka-optimize na bersyon ng isang mas pangkalahatang tool, remote procedure call (RPC), na ginagamit upang makipag-usap sa pagitan ng mga kliyente at server na matatagpuan sa iba't ibang machine sa isang network.

Kasaysayan ng pag-unlad

Ang pagbuo ng Windows NT sa ilalim ng gumaganang pamagat na "NT OS/2" ay sinimulan noong Nobyembre 1988 ng isang grupo ng mga espesyalista na pinamumunuan ni David Cutler. Dave Cutler ), na sumali sa Microsoft mula sa DEC, kung saan binuo nila ang VAX at VMS. Ang gawain ay nagpatuloy kasabay ng pagpapaunlad ng IBM ng sarili nitong OS, OS/2 2.0, na sa wakas ay inilabas lamang noong Abril 1992. Kasabay nito, patuloy na binuo ng Microsoft ang mga operating system nito ng mga pamilya ng DOS at Windows, na nailalarawan sa pamamagitan ng mas mababang mga kinakailangan para sa mga mapagkukunan ng computer kaysa sa IBM OS/2. Matapos mailabas ang Windows 3.0 noong Mayo 1990, nagpasya ang Microsoft na magdagdag ng Windows API compatible programming interface (API) sa NT OS/2. Ang desisyong ito ay nagdulot ng malubhang alitan sa pagitan ng Microsoft at IBM, na nauwi sa pahinga pakikipagtulungan. Nagpatuloy ang IBM na bumuo ng OS/2 sa sarili nitong, at nagsimulang magtrabaho ang Microsoft sa system na kalaunan ay inilabas sa ilalim ng pangalang Windows NT. Bagama't hindi ito agad naging tanyag, tulad ng DOS, Windows 3.x o Windows 9.x, mula sa punto ng marketing, ang Windows NT ay naging mas matagumpay kaysa sa OS/2.

Dapat pansinin na bilang mga interface ng software Ang NT ay orihinal na idinisenyo gamit ang OS/2 at pagkatapos ay POSIX API, na may huling idinagdag na suporta sa Windows API. Bilang karagdagan, ang Intel i860 at pagkatapos ay ang MIPS ay unang binalak bilang ang platform ng hardware para sa NT, ang suporta para sa Intel x86 ay idinagdag din sa ibang pagkakataon. Pagkatapos, habang umuunlad ang OS, nawala ang suporta para sa parehong orihinal na binalak na mga interface ng software at parehong orihinal na binalak na mga platform ng hardware. Walang kahit isang bersyon ng release ng OS na ito para sa i860, bagama't ito ay mula mismo sa code name ng processor na ito na N10(N Ten), ay mula sa pangalan ng NT OS mismo. Tinutukoy na ngayon ng Microsoft ang abbreviation na NT bilang Bagong Teknolohiya. At bilang alternatibo sa POSIX subsystem, nagsimula ang Microsoft na mag-alok ng Microsoft Windows Services para sa UNIX package.

Upang bumuo ng NT OS, inimbitahan ng Microsoft ang isang grupo ng mga espesyalista mula sa DEC, na pinamumunuan ni David Cutler ( Ingles), na may karanasan sa paglikha ng multitasking operating system gaya ng VAX/VMS at RSX-11. Ang ilang pagkakatulad na nabanggit sa pagitan ng mga panloob na arkitektura ng Windows NT at ang pamilya ng VMS ng mga operating system ay nagbigay ng dahilan upang akusahan ang mga bagong upahang empleyado ng Microsoft ng pagnanakaw ng intelektwal na ari-arian ng DEC. Ang salungatan na lumitaw ay nalutas nang mapayapa: Kinilala ng DEC ang pagmamay-ari ng Microsoft sa mga teknolohiyang pinagbabatayan Nakabatay sa Windows Gumawa at sumuporta ang NT, at Microsoft ng bersyon ng Windows NT para sa arkitektura ng DEC Alpha.

Sa kabila ng kanilang karaniwang pinagmulan, bumaba ang compatibility ng Windows NT at OS/2 sa bawat bagong release ng OS na ito. Ang suporta sa OS/2 2.0 API, kahit na binalak para sa NT, ay hindi kailanman nakumpleto; Inalis ng Windows NT 4.0 ang suporta para sa HPFS file system, at inalis ng Windows XP ang program support subsystem para sa OS/2 1.x.

Mga bersyon

Pangalan ( code name), mga pagpipilian numero ng bersyon unang isyu pinakabagong isyu /
Windows NT 3.1 3.1.528 Hulyo 27 SP3 (Nobyembre 10)
Workstation, Advanced na Server
Windows NT 3.5 ( Daytona) 3.5.807 Setyembre 21 SP3 (Hunyo 21)
Workstation, Server
Windows NT 3.51 ( Tukwila) 3.51.1057 Mayo 30 SP5 (Setyembre 19)
Workstation, Server
Windows NT 4.0 ( Indy) 4.0.1381 Hulyo 29 SP6a (Nobyembre 30)
Workstation, Server, Server Enterprise ( Granite), Terminal Server ( Hydra), Naka-embed ( Impala)
Windows 2000 ( Cairo) 5.0.2195 Pebrero 17 SP4 (Hunyo 26)
Propesyonal, Server, Advanced na Server, Datacenter Server
Windows XP ( Whistler) 5.1.2600 Oktubre 25 SP3 (Mayo 6)
Tahanan, Propesyonal, 64-bit, Media Center (eHome), Tablet PC, Starter, Naka-embed ( Mantis), N; Windows Fundamentals para sa mga Legacy PC ( Eiger)
Windows Server 2003 ( Whistler Server, Windows .NET Server) 5.2.3790 Abril 24 SP2 (Mayo 13)
Standard, Enterprise, Datacenter, Web, Small Business Server ( Bobcat), Compute Cluster Server, Server ng Imbakan; Windows XP Professional x64
Windows Vista ( Longhorn) 6.0.6000 Enero 30 SP2 (Mayo 25)
Starter, Home Basic, Home Premium, Negosyo, Enterprise, Ultimate, N Home Basic, N Business; x64 na mga variant ng lahat maliban sa Starter
Windows Server 2008 ( Longhorn Server) 6.0.6001 Pebrero 27 SP2 (Mayo 27)
Standard, Enterprise, Datacenter, HPC, Web, Storage, Small Business ( Cougar), Mahahalagang Negosyo ( Centro), Itanium; x64 na mga variant ng lahat maliban sa HPC
Windows 7 ( Blackcomb, Vienna) 6.1.7600 Oktubre 22 SP1 (KB976932) (Pebrero 22)
Starter, Home Basic, Home Premium, Professional, Enterprise, Ultimate, Windows 7 N, Windows 7 E; x64 na mga variant ng lahat maliban sa Initial
Windows Server 2008 R2 6.1.7600 Oktubre 22 SP1 (KB976932) (Pebrero 22)
Standard, Enterprise, Datacenter, HPC, Web, Storage, Small Business, Itanium; lahat ng mga bersyon ay 64-bit lamang
Windows 8 6.2.9200 Oktubre 26 Pro (Oktubre 26)
Windows 8, Windows 8 RT, Propesyonal, Propesyonal N, Propesyonal na WMC, Enterprise, Enterprise N; x64 na mga variant ng lahat maliban sa Windows RT
Windows Server 2012 6.2.9200 Oktubre 26 RTM (Agosto 1)
Standard, Datacenter, Storage; lahat ng mga bersyon ay 64-bit lamang

Panloob na arkitektura

Mga bahagi ng kernel

Mga Bahagi ng User Mode

Ang subsystem ng user interface sa Windows NT ay nagpapatupad ng window interface na katulad ng sa mga nakaraang bersyon ng Windows. Dalawang uri ng mga bagay sa subsystem na ito na wala sa 16-bit na bersyon ng Windows at sa Windows 9x ay mga istasyon ng bintana At mga desktop. Ang window station ay tumutugma sa isang session Gumagamit ng Windows NT - halimbawa, kapag kumokonekta sa pamamagitan ng Remote Desktop Service, nilikha ang isang bagong window station. Bawat tumatakbong proseso ay kabilang sa isa sa mga istasyon ng bintana; Ang mga serbisyo maliban sa mga minarkahan bilang magagawang makipag-ugnayan sa desktop ay tumatakbo sa magkahiwalay, hindi nakikitang mga istasyon ng window.

Ang bawat window station ay may sariling clipboard, isang set ng mga global atoms (ginagamit para sa mga pagpapatakbo ng DDE), at isang set ng mga desktop. Ang desktop ay ang konteksto ng lahat mga pandaigdigang operasyon Mga subsystem ng UI gaya ng pag-install ng mga hook at pag-broadcast ng mga mensahe. Ang bawat tumatakbong thread ay kabilang sa isa sa mga desktop - ang isa kung saan matatagpuan ang mga bintanang pinaglilingkuran nito; sa partikular, ang isang thread ay hindi makakalikha ng maramihang mga bintana na kabilang sa iba't ibang mga desktop. Maaaring maging aktibo ang isa sa mga desktop (nakikita ng user at nakatugon sa kanyang mga aksyon), nakatago ang mga natitirang desktop. Ang kakayahang lumikha ng ilang mga desktop para sa isang sesyon ng trabaho at lumipat sa pagitan ng mga ito ay hindi pa naibibigay hanggang ngayon karaniwang paraan Windows user interface, kahit na mayroon mga programa ng ikatlong partido, na nagbibigay ng access sa functionality na ito.

Ang mga window station at desktop ay ang tanging Windows NT user interface subsystem object na maaaring italaga ng mga karapatan sa pag-access. Ang natitirang mga uri ng bagay ay mga bintana At menu- magbigay ganap na pag-access anumang proseso na nasa parehong window station kasama nila. kaya lang Mga serbisyo ng Windows Ang NT bilang default ay tumatakbo sa magkahiwalay na mga istasyon ng window: tumatakbo ang mga ito nang may mataas na mga pribilehiyo, at ang pagpapahintulot sa mga proseso ng user na manipulahin ang mga window ng serbisyo nang walang katapusan ay maaaring humantong sa mga pag-crash at/o mga isyu sa seguridad.

Mga interface ng software

Native API

Nagbibigay ang Windows NT ng ilang hanay ng mga API para sa mga application program. Ang pangunahing isa ay ang tinatawag na "katutubong" API ( NT Native API), ipinatupad sa dynamic link library na ntdll.dll at binubuo ng dalawang bahagi: NT kernel system calls (mga function na may Nt at Zw prefix na naglilipat ng execution sa ntoskrnl.exe kernel function na may parehong mga pangalan) at mga function na ipinatupad sa user mode ( na may prefix na RTl). Ang ilan sa mga function ng pangalawang grupo ay gumagamit ng mga system call sa loob; ang natitira ay ganap na binubuo ng unprivileged code, at maaaring tawagin hindi lamang mula sa user-mode code, kundi pati na rin mula sa mga driver. Bilang karagdagan sa mga function ng Native API, kasama rin sa ntdll ang mga function ng C standard library.

Ang opisyal na dokumentasyon para sa Native API ay kalat-kalat, ngunit ang mga komunidad ng mga mahilig ay nakakuha ng napakaraming impormasyon tungkol sa interface na ito sa pamamagitan ng pagsubok at pagkakamali. Sa partikular, noong Pebrero 2000, ang aklat ni Gary Nebbett na " Gabay sa pangunahing pag-andar Windows NT/2000 API"(ISBN 1-57870-199-6); noong 2002 ito ay isinalin sa Russian (ISBN 5-8459-0238-X). Ang isang mapagkukunan ng impormasyon tungkol sa Native API ay maaaring ang Windows DDK, na naglalarawan ng ilan sa mga kernel function na magagamit sa pamamagitan ng Native API, pati na rin ang pag-aaral. Windows code(reverse engineering) - sa pamamagitan ng disassembly, alinman sa paggamit ng Windows 2000 sources na ginawang available sa pamamagitan ng leak, o paggamit ng Windows 2003 sources na available sa pamamagitan ng Mga programa sa Windows Research Kernel.

Ang mga program na tumatakbo bago ang mga subsystem na nagbibigay ng natitirang mga Windows NT API ay na-load ay limitado sa paggamit ng Native API. Halimbawa, ang autochk program, na sumusuri sa mga disk kapag naglo-load ng OS pagkatapos ng maling pag-shutdown, ay gumagamit lamang ng Native API.

Win32 API

Kadalasan, ginagamit ng mga application program para sa Windows NT ang Win32 API - isang interface na nilikha batay sa Windows OS 3.1 API, na nagbibigay-daan sa iyong muling mag-compile ng mga umiiral nang program para sa 16-bit na bersyon ng Windows na may kaunting pagbabago sa source code. Ang pagiging tugma ng Win32 API at ang 16-bit na Windows API ay napakahusay na ang 32-bit at 16-bit na mga application ay maaaring malayang makipagpalitan ng mga mensahe, gumagana sa mga bintana ng isa't isa, atbp. Bilang karagdagan sa pagsuporta sa mga function ng umiiral na Windows API, ilang mga bagong feature, kabilang ang suporta para sa mga console program, multithreading, at mga bagay sa pag-synchronize tulad ng mga mutex at semaphore. Ang dokumentasyon para sa Win32 API ay kasama sa Microsoft Platform SDK at available sa website.

Ang mga library ng suporta ng Win32 API ay karaniwang pinangalanang kapareho ng mga aklatan ng system Windows 3.x, kasama ang pagdaragdag ng suffix 32: ito ang mga library kernel32, advapi32, gdi32, user32, comctl32, comdlg32, shell32 at marami pang iba. Maaaring ipatupad mismo ng mga function ng Win32 API ang kinakailangang functionality sa user mode, o tawagan ang mga function ng Native API na inilarawan sa itaas, o i-access ang csrss subsystem sa pamamagitan ng mekanismo ng LPC ( Ingles), o gumawa ng system call sa win32k library, na nagpapatupad ng kinakailangan para sa Win32 Suporta sa API sa kernel mode. Ang apat na opsyon na nakalista ay maaari ding pagsamahin sa anumang kumbinasyon: halimbawa, ang Win32 API WriteFile function ay tumatawag sa Native API NtWriteFile function para sulatan disk file, at tinatawag ang naaangkop na csrss function upang i-output sa console.

Ang suporta sa Win32 API ay kasama sa pamilya ng Windows 9x OS; bilang karagdagan, maaari itong idagdag sa Windows 3.1x sa pamamagitan ng pag-install ng Win32s package. Upang gawing mas madali ang pag-port ng mga umiiral nang Windows application na gumagamit ng MBCS encodings upang kumatawan sa mga string, lahat ng Win32 API function na tumatanggap ng mga string bilang mga parameter ay ginawa sa dalawang bersyon: mga function na may suffix A ( ANSI) tumatanggap ng mga string ng MBCS, at mga function na may suffix na W ( malawak) tanggapin ang mga string na naka-encode ng UTF-16. Sa Win32s at Windows 9x, ang mga A-function lamang ang sinusuportahan, samantalang sa Windows NT, kung saan ang lahat ng mga string sa loob ng OS ay naka-imbak ng eksklusibo sa UTF-16, ang bawat A-function ay nagko-convert lamang ng mga string parameter nito sa Unicode at tinatawag ang W na bersyon ng parehong function. Tinutukoy din ng mga ibinigay na H-file ng library ang mga pangalan ng function na walang suffix, at ang paggamit ng A- o W-version ng mga function ay tinutukoy ng mga pagpipilian sa compilation, at sa mga module ng Delphi hanggang sa bersyon 2010, halimbawa, ang mga ito ay mahigpit. nakatali sa mga opsyon na may A suffix Mahalagang tandaan na ang karamihan sa mga bagong feature na ipinakilala sa Windows 2000 o mas bago Windows NT operating system ay umiiral lamang sa bersyon ng Unicode, dahil ang gawain ng pagtiyak ng pagiging tugma sa mas lumang mga programa at sa Windows 9x. ay hindi na kasing diin ng dati.

POSIX at OS/2

Sinuportahan ng unang release ng Windows NT 4 ang apat na platform (x86, Alpha, MIPS at PowerPC), ngunit nabawasan ang suporta para sa hindi gaanong karaniwang mga platform habang inilabas ang mga service pack: Inalis ang suporta sa MIPS mula sa SP1, at suporta sa PowerPC mula sa SP3. Sinusuportahan lamang ng mga pinakabagong release ng Windows NT 4 ang x86 at Alpha; kahit na ang suporta sa Alpha ay binalak para sa pagsasama sa Windows 2000, ito ay inalis mula sa RC2 release. Bilang resulta, ang x86 ang naging tanging platform na sinusuportahan sa Windows 2000.

Ang suporta para sa 64-bit na mga processor ay unang ipinatupad sa Windows XP para sa IA-64 - Intel Itanium processor architecture. Batay sa 64-bit na bersyon ng Windows XP, nilikha din ang 64-bit na mga bersyon ng server ng Windows 2000; Nang maglaon, idinagdag ang suporta para sa Itanium processor sa ilang bersyon ng Windows Server 2003. Ang pangalawang 64-bit na arkitektura na suportado sa Windows NT na pamilya ng mga operating system ay nilikha ni Arkitektura ng AMD x86-64, kalaunan ay ipinatupad sa Mga processor ng Intel tinatawag na EM64T. Ang Windows Server 2003 SP1 x64 at Windows XP Professional x64 ay inilabas sa parehong oras, na kumakatawan sa mga bersyon ng server at desktop ng parehong bersyon ng Windows - sa partikular, ang parehong mga update ay nalalapat sa mga edisyong ito. Mula noong 2005, nagpasya ang Microsoft na ihinto ang pagsuporta sa IA-64.; Ang pinakabagong bersyon ng Windows NT na ganap na sumusuporta sa Itanium ay ang Windows NT 5.2 (XP Professional 64-bit Edition at Server 2003). Gayunpaman, para sa mas mahal (at, nang naaayon, mas mahirap i-upgrade) na mga server, ang mga espesyal na bersyon ng Windows Server 2008 at Windows Server 2008 R2 ay inilabas, at ang Windows Server 2012 ay hindi na nakatanggap ng suporta sa IA-64.

Mga Tala

Tingnan din

  • Ang ReactOS ay isang open source operating system na tugma sa mga application at Mga driver ng Windows N.T.