Windows arhitektura: opis, vrste, struktura

Arhitektura operacijskega sistema Windows NT - linije operacijskih sistemov, ki jih proizvaja in trži Microsoft - je večnivojska zasnova, sestavljena iz dveh glavnih komponent: uporabniškega načina in načina jedra.

To je operacijski sistem s povratnim opozorilom, zasnovan za delo z enoprocesorskimi in simetričnimi večprocesorskimi (SMP) računalniki. Za obdelavo I /O zahtevkov uporabljajo paketni prenos, ki uporablja pakete IRP in asinhrono V /I. Začenši z operacijskim sistemom Windows XP, je Microsoft začel zagotavljati 64-bitne različice operacijskega sistema, preden so te platforme obstajale samo v 32-bitnih različicah.

Katera so njena načela?

Arhitektura operacijskega sistema Windows deluje po naslednjih načelih. Aplikacije in podsistemi v uporabniškem načinu so omejeni glede na to, kateri sistemski viri imajo dostop, medtem ko ima način jedra neomejen dostop do sistemskega pomnilnika in zunanjih naprav.


Način jedra Windows NT ima popoln dostop do strojne opreme in sistemskih virov računalnika. Znano je, da je jedro te lupine hibridno. Arhitektura vključuje preprosto jedro, raven abstrakcije strojne opreme (HAL), gonilnike in storitve (skupaj imenovane izvršilne), ki obstajajo v istem načinu. Način po meri v arhitekturi Windows je sestavljen iz podsistemov, ki lahko prenesejo V /I zahteve na ustrezne gonilnike načina jedra z ustreznim krmilnikom. Krogla uporabniškega načina "Vetrovi" je sestavljena iz "podsistemov okolja", v katerem se izvajaaplikacije, napisane za različne operacijske sisteme, in "Integralni podsistem", ki izvaja sistemske funkcije v imenu podsistemov okolja.


Izvršilni vmesniki v arhitekturi Windows z vsemi podsistemi uporabniškega načina se ukvarjajo z vnosom /izhodom, upravljanjem objektov, varnostjo in upravljanjem procesov. Jedro se nahaja med nivojem abstrakcije strojne opreme in izvršitveno napravo, ki zagotavlja večprocesorsko sinhronizacijo, razporejanje in razporejanje pretokov in prekinitev, kot tudi obdelavo prekinitev in dispečerskih izjem. Jedro je odgovorno tudi za inicializacijo gonilnikov naprav ob zagonu. Vozniki tega načina obstajajo na treh ravneh:
  • višje;
  • intermediat;
  • nizka.
  • Model gonilnikov Windows (WDM) obstaja na vmesni ravni in je bil zasnovan predvsem za zagotavljanje združljivosti in izhodne binarne kode med operacijskim sistemom Windows 982000. Nižji gonilniki so zastareli namestitveni programi naprav Windows NT, ki neposredno nadzorujejo napravo ali so lahko različni (PnP) - vodilo strojne opreme.

    Uporabniški način

    Uporabniški način je sestavljen iz različnih sistemskih procesov in DLL-jev.
    Vmesnik med programi in funkcijami jedra operacijskega sistema se imenuje "podsistem okolja". Arhitektura operacijskega sistema Windows 7 in drugih v vrstici NT) lahko ima več kot eno, od katerih vsaka izvaja svoj API. Ta mehanizem je bil zasnovan za podporo aplikacij, napisanih za različne tipe operacijskih sistemov. Nobeden od podsistemovokolje nima neposrednega dostopa do opreme. Dostop do funkcij strojne opreme se izvede s klicanjem rutin načina jedra.

    Kakšno vlogo ima podsistem?

    Obstajajo štirje glavni podsistemi okolja: Win32 OS /2 Windows, Linux in POSIX. Podsistem okolja Win32 lahko izvaja 32-bitne programe Windows. Vsebuje konzolo ter podporo za besedilno polje, zaustavitev in obdelavo resnih napak za vse ostale podsisteme okolja. Podpira tudi virtualne stroje DOS (VDM), ki omogočajo 16-bitnim aplikacijam MS-DOS in Win16 na Windows NT. Obstaja poseben VDM MS-DOS, ki deluje v svojem naslovnem prostoru in posnema Intel 80486 pod MS-DOS 5.0. Win16 programi pa delajo v Win16 VDM. Vsak od njih je privzeto izveden v istem procesu z istim naslovnim prostorom, Win16 VDM pa vsakemu programu podeli svoj tok, da ga izvede. Vendar pa arhitektura sistema Windows NT omogoča uporabnikom, da jo poganjajo v ločenem oknu, kar omogoča večopravilnost, da je preventivna, saj bo Windows prekašal celoten proces VDM, ki vsebuje samo eno nameščeno aplikacijo.
    Postopek okolice podsistema Win32 (csrss.exe vključuje tudi funkcije za upravljanje oken, ki se včasih imenujejo tudi "upravljalnik oken". Obravnava vhodne dogodke (na primer s tipkovnico in miško) in nato pošlje sporočila aplikacijam, ki jih je treba vnesti Vsaka aplikacija je odgovorna za prikazovanje ali posodabljanje svojih oken in menijev v odgovor na ta sporočila.
    Podsistem okolja OS /2 podpira OS /2 16-bitne emulatorje OS /2 in emulira OS /2 1.x, ne pa 32-bitne ali grafične aplikacije OS 2, ki se uporabljajo v OS /2 2.x ali kasneje le za računalnike x86. . Če želite zagnati grafično programsko opremo OS /2 1.x, morate namestiti podsistem Windows NT Add-in za Presentation Manager. Najnovejša različica NT, ki ima OS /2 podsistem, je bila Windows 2000, nato pa je bila odstranjena, začenši z arhitekturo Windows XP. Okoljski podsistem POSIX podpira programe, ki so strogo zapisani za POSIX.1 ali ustrezne standarde ISO /IEC. Zamenjal ga je Interix, ki je del storitev Windows za UNIX. Varnostni podsistem izvaja žetone zaščite, zagotavlja ali zavrne dostop do uporabniških računov na podlagi dovoljenj za vire, obdeluje zahteve za prijavo in začne preverjanja veljavnosti ter določa, katere sistemske vire mora preveriti Windows NT.

    Način jedra

    Način jedra v arhitekturi Windows NT ima popoln dostop do računalniške strojne opreme in sistemskih virov ter zažene kodo v varnem pomnilniku. Nadzoruje dostop do razporejanja, prioritete toka, upravljanja pomnilnika in interoperabilnosti. Način jedra ne dovoli uporabniškim storitvam in aplikacijam dostopa do kritičnih področij operacijskega sistema, do katerih ne bi smel imeti dostop, njegovi postopki pa morajo zahtevati način jedra, da v njihovem imenu izvaja takšne operacije.

    Čeprav arhitektura Windows x86 podpira štiri različne ravni privilegijev (od 0 do 3), se uporabljata samo dve skrajni ravni.Programi uporabniškega načina se zaženejo s CPL 3, jedro pa s CPL 0. Ti dve ravni se pogosto označujeta kot "obroč 3" oziroma "obroč 0". Ta oblikovna odločitev je bila sprejeta, da bi zagotovila prenosljivost kode za platforme RISC, ki podpirajo samo dve ravni privilegijev, čeprav to krši OS /2 združljivost s segmenti privilegijev V /I, ki poskušajo neposredno dostopati do strojne opreme. Način jedra je sestavljen iz izvedljivih storitev, ki so sestavljene iz več modulov, ki opravljajo določene naloge: gonilnike jedra, jedro in raven abstrakcij strojne opreme (HAL).

    Administracija

    Windows izvršilne storitve so del načina jedra nizke ravni in ga vsebuje datoteka NTOSKRNL.EXE. To vključuje vnos /izhod, upravljanje objektov, varnost in upravljanje procesov. Razdeljeni so v več podsistemov, med katerimi imajo posebno vlogo upravljalnik predpomnilnika, upravljalnik konfiguracije, I /O Manager, lokalni klic postopka (LPC), upravljalnik pomnilnika, procesna struktura in varnostni monitor (SRM). Komponente, ki so združene skupaj, se lahko imenujejo izvršljive storitve (interno ime Ex). Sistemske storitve (interno ime Nt), to so sistemski klici, se izvajajo tudi na tej ravni, z izjemo zelo malo tistih, ki neposredno dostopajo do ravni jedra za povečano produktivnost.
    Izraz "storitev" se v tem kontekstu običajno nanaša na imenovani podprogram ali na niz imenovanih podprogramov. Razlikuje se od pojma "servisni proces", ki je sestavni del vmesniškega načina, nekoliko podobenpredstavitve v operacijskih sistemih, podobnih Unixu. To je značilnost jedrne arhitekture sistema Windows 10 in vseh prejšnjih distribucij.

    Upravljalec objektov

    Upravljalnik objektov (interno ime Ob) je izvršljiv podsistem, prek katerega morajo vsi drugi podsistemi, zlasti sistemski klici, opraviti dostop do virov Windows NT, ki so v bistvu , je služba za upravljanje infrastrukturnih virov. Upravljalec objektov se uporablja za zmanjšanje podvajanja zmogljivosti upravljanja virov v drugih podsistemih, kar lahko povzroči napake in oteži razvoj sistema Windows NT. Za tega upravljalnika je vsak vir objekt, ne glede na to, ali je fizičen (kot je datotečni sistem ali periferna naprava) ali logičen (na primer datoteka). Vsak objekt ima strukturo ali tip, o katerem bi moral Ob. Ustvarjanje objekta v arhitekturi operacijskega sistema Windows je proces, ki poteka v dveh korakih - ustvarjanje in vstavljanje. Ustvarjanje povzroči dodelitev praznega objekta in rezervacijo vseh virov, ki jih potrebuje upravitelj, kot je (neobvezno) ime v imenskem prostoru. Če je bila uspešna, podsistem, odgovoren za ustvarjanje, zapolni prazen predmet. Nazadnje, če podsistem meni, da je inicializacija uspešna, daje upravitelju objektov navodilo, da vstavi predmet, zaradi česar je dostopen prek njegovega imena ali datoteke piškotka, ki se imenuje ročaj. Od tega trenutka upravljalec upravlja obstoj objekta, podsistem pa ga mora vzdrževati v delovnem stanju, dokler ga ne objaviizbriši Deskriptorji so identifikatorji, ki zaradi nejasne vrednosti predstavljajo sklicevanje na vir jedra. Podobno je odprtje objekta preko njegovega imena podvrženo varnostnim preverjanjem, vendar je dejanje prek obstoječega odprtega deskriptorja omejeno samo na raven dostopa, ki je bila urejena, ko je bil predmet odprt ali ustvarjen.
    Vrste predmetov definirajo postopke in vse podatke, ki so zanj značilni. Tako omogoča operacijskemu sistemu Windows NT, da je objektno usmerjen operacijski sistem, saj lahko predmetne tipe obravnavamo kot polimorfne razrede, ki definirajo objekte. Vendar pa se večina podsistemov z izjemno izjemo v I /O managerju zanaša na privzeto izvedbo za vse postopke. Vsak primerek ustvarjenega objekta shrani svoje ime, parametre, ki se posredujejo funkciji ustvarjanja objekta, varnostne atribute in kazalec na njegov tip.

    Cache Controller

    Ta element operacijskega sistema Windows 7 in drugih različic arhitekture se tesno usklajuje z gonilniki pomnilnika, upravljalnikom in V /I, da se zagotovi skupni predpomnilnik za normalne vhodne /izhodne datoteke. Upravitelj predpomnilnika Windows deluje z datotečnimi bloki (in ne z bloki naprav) za dosledno delo lokalnih in oddaljenih datotek ter zagotavlja določeno stopnjo skladnosti s prikazom podatkov, naloženih v pomnilniku.

    I /O Manager

    Ta komponenta Windows 10 in starejše arhitekture omogoča napravam, da komunicirajo s podsistemi uporabniškega načina. Prevaja ukaze za branje inV IRP napišite uporabnika načina, ki ga posreduje gonilnikom naprav. Sprejema zahteve za vhodne /izhodne datoteke datotečnega sistema in jih pretvarja v klice, specifične za napravo, in lahko vključuje gonilnike nizke ravni, ki neposredno upravljajo opremo za branje ali vnos-izhod. Vključuje tudi upravljalnik predpomnilnika za povečanje zmogljivosti diska s predpomnjenjem zahtev za branje in pisanje na disk v ozadju.

    Poziv k lokalnemu postopku (LPC)

    Ta strukturni del arhitekture sistema Windows 10 (in vse prejšnje distribucije) zagotavlja medprocesna komunikacijska vrata s semantiko povezave. Vrata LPC uporabljajo podsistemi uporabniškega načina za komuniciranje s svojimi odjemalci, podsisteme izvršnega za komuniciranje z podsistemi uporabniškega načina in kot podlago za lokalni prevoz za Microsoft RPC.

    Upravitelj pomnilnika

    Ta element sistema Windows 8.1 in drugih različic nadzoruje navidezni pomnilnik, njegovo zaščito in črpanje iz fizičnega v sekundarni. Tako izvaja univerzalno distribucijo fizičnega spomina. Ustvari tudi razčlenjevalnik PE, ki omogoča, da se izvršljiva datoteka prikaže ali ne prikaže skozi atomski korak. Upravljavec pomnilnika, ki se začne s strežniško različico Windows NT Server 4.0, izvaja tako imenovani prostor za seje, tj. Pasovni pomnilnik načina jedra, ki skuša preklopiti kontekst tako kot spomin po meri. To omogoča, da več primerkov načina jedra Win32 in gonilnikov GDI deluje drug ob drugem,kljub slabostim v prvotni zasnovi. Vsak sejemski prostor si deli več procesov, ki se skupaj imenujejo "seje". Da bi zagotovili določeno stopnjo izolacije med sejami brez vnosa novega tipa objekta, nadzornik varnostne povezave obdeluje povezavo med procesi in sejami kot atribut varnostnega žetona (žeton) in se lahko spremeni le, če obstajajo posebne pravice. Razmeroma preprosta in posebna narava sej je posledica dejstva, da niso bili del prvotnega projekta in bi morali biti razviti z minimalno kršitvijo glavnega omrežja (Citrix Systems) kot predpogoj za njihov terminalski strežniški izdelek za Windows NT, ki se imenuje. WinFrame Ker pa arhitektura sistema Windows Vista, so seje končno postale pomembne za njen vidik. Nič več ni zasnova upravljalnika pomnilnika, ki posredno prek Win32 vstopa v uporabniški način, ampak so bili razširjeni na celovito abstrakcijo, ki je vplivala na večino izvršnih podsistemov. V resnici redna uporaba sistema Windows Vista vedno vodi do okolja z več sejami.

    Struktura procesa

    Ta element arhitekture sistema Windows 7 (in druge različice) nadzoruje ustvarjanje in dokončanje procesov in niti ter uresničuje koncept Joba, skupine procesov, ki jih je mogoče dokončati kot celoto ali pod splošnimi omejitvami (npr. , skupni največji dodeljeni pomnilnik ali CPU čas). Objekti opravil so bili predstavljeni v operacijskem sistemu Windows 2000.

    PnP Manager

    Upravlja in podpira odkrivanje in namestitev naprave med zagonom. On jePrav tako je odgovoren za zaustavitev in zagon naprav na zahtevo - to se lahko zgodi, če vodilo (na primer USB ali IEEE 1394 FireWire) pridobi novo napravo in zahteva podporo za prenos gonilnika. Njegov glavni del se dejansko izvaja v uporabniškem načinu Plug and Play, ki pogosto izvaja kompleksne naloge za namestitev ustreznih gonilnikov, poročanje storitev in aplikacij na pojav novih naprav in prikazovanje grafičnega uporabniškega vmesnika.

    Power Manager

    Deluje z dogodki napajanja (Power Off, Standby, Sleep itd.) In poroča o pokvarjenih gonilnikih z IRP (Power IRP). Njegova vloga je nadzor.

    Monitor varnostnega monitorja (SRM)

    Glavni organ za zagotavljanje varnosti integriranega varnostnega podsistema. Določa, ali je dostop do objekta ali vira mogoče pridobiti z uporabo ACL, ki jih sestavljajo ACE. ACE vsebujejo varnostni identifikator (SID) in seznam operacij, ki jih ACE zagotavlja izbrani skupini, uporabniškemu računu, skupini ali seji za prijavo, dovoljenju (za dovolitev, zavrnitev ali potrditev) za ta vir.

    GDI

    Vmesnik grafične naprave je odgovoren za naloge, kot so risanje linij in krivulj, prikazovanje pisav in obdelovalnih plošč. V seriji Windows NT 3.x je bila komponenta GDI vključena v podsistem odjemalec /strežnik v uporabniškem načinu, vendar je bila prenesena v način jedra v arhitekturi operacijskega sistema Windows NT 4.0, da se izboljša.grafična zmogljivost.

    Kernel

    Jedro v arhitekturi Windows je med HAL in izvršnim ter zagotavlja večprocesorsko sinhronizacijo, razporejanje in razporejanje pretokov in prekinitev, pa tudi prekinitveno ravnanje in odstopanje. Prav tako je odgovoren za inicializacijo gonilnikov naprav ob zagonu, ki so potrebni za zagon operacijskega sistema. To pomeni, da jedro izvaja praktično vse naloge tradicionalnega mikro jedra. Strogo razlikovanje med izvršnim in kernelom je najbolj opazen ostanek prvotnega projekta mikro jedra, zgodovinska projektna dokumentacija pa dosledno imenuje jedrno komponento "mikrovezje". Jedro pogosto sodeluje z upraviteljem procesov. Raven abstrakcije je taka, da se nikoli ne nanaša na upravljavca procesov, ampak le obratno (z izjemo nekaj ne-tipičnih primerov, ki nikoli ne dosežejo funkcionalne odvisnosti).

    Sorodne publikacije