Arhitektura sustava Windows: opis, vrste, struktura

Arhitektura sustava Windows NT - linija operativnih sustava koje proizvodi i prodaje Microsoft - je višerazinski dizajn, koji se sastoji od dvije glavne komponente: korisničkog i kernel moda.

Ovo je operativni sustav s mogućnošću povratnog upozorenja, dizajniran za rad s jednoprocesorskim i simetričnim višeprocesorskim (SMP) računalima. Za obradu I /O zahtjeva, oni koriste skupni prijenos koji koristi IRP pakete i asinkroni I /O. Počevši od sustava Windows XP, Microsoft je počeo pružati 64-bitne verzije OS-a, prije nego što su te platforme postojale samo u 32-bitnim verzijama.

Koja su njegova načela?

Arhitektura sustava Windows funkcionira na sljedeći način. Programi i podsustavi u korisničkom načinu su ograničeni u smislu na koje resurse sustava imaju pristup, dok način rada kernela ima neograničen pristup sistemskoj memoriji i vanjskim uređajima.


Kernel mod Windows NT ima puni pristup hardverskim i sistemskim resursima računala. Kernel ove ljuske je poznat kao hibrid. Arhitektura uključuje jednostavnu jezgru, razinu apstrakcije hardvera (HAL), upravljačke programe i usluge (zajednički nazvane Izvršni) koji postoje u istom načinu rada. Prilagođeni način rada u Windows arhitekturi sastoji se od podsustava koji mogu prenijeti I /O zahtjeve na odgovarajuće upravljačke programe za način rada jezgre koristeći odgovarajući kontroler. Loptica korisničkog moda "Vjetrovi" sastoji se od "Podsustava okoliša", u kojima se izvršavaaplikacije napisane za različite operativne sustave, i "Integralni podsustav", koji obavlja funkcije sustava u ime podsustava okruženja.


Izvršna sučelja u Windows arhitekturi sa svim podsustavima korisničkog načina bave se ulazom /izlazom, upravljanjem objektima, sigurnošću i upravljanjem procesima. Kernel se nalazi između razine apstrakcije hardvera i izvršnog uređaja, pružajući višeprocesorsku sinkronizaciju, raspoređivanje i raspoređivanje protoka i prekida, kao i obrade prekida i otpremanja iznimaka. Kernel je također odgovoran za inicijalizaciju pogonitelja ure aja prilikom pokretanja sustava. Vozači ovog načina postoje na tri razine:
  • viši;
  • intermedijer;
  • nisko.
  • Model upravljačkog programa za sustav Windows (WDM) postoji na srednjoj razini i uglavnom je dizajniran za pružanje kompatibilnosti i izlaznog binarnog koda između sustava Windows 982000. Niži upravljački programi su zastarjeli instalacijski uređaji sustava Windows NT koji izravno upravljaju uređajem ili mogu biti vrste igara (PnP) - hardverska sabirnica.

    Korisnički način rada

    Korisnički način sastoji se od različitih procesnih sustava i DLL-ova.
    Sučelje između programa i funkcija kernela operativnog sustava naziva se "podsustav okoline". Arhitektura sustava Windows 7 i drugih u NT liniji može imati više od jednog, od kojih svaki implementira svoj API skup. Taj je mehanizam osmišljen kako bi podržao aplikacije pisane za različite tipove operacijskih sustava. Nijedan od podsustavaokoliš nema izravan pristup opremi. Pristup hardverskim funkcijama obavlja se pozivom rutina načina kernela.

    Koja je uloga podsustava?

    Postoje četiri glavna podsustava okoliša: Win32 OS /2 Windows, Linux i POSIX. Podsustav okruženja Win32 može pokretati 32-bitne programe Windows. Sadrži konzolu, kao i podršku za tekstualni okvir, gašenje i obradu ozbiljnih pogrešaka za sve ostale podsustave okruženja. On također podržava DOS virtualne strojeve (VDM) koji omogućuju pokretanje 16-bitnih aplikacija MS-DOS i Win16 na Windows NT. Postoji poseban VDM MS-DOS koji radi u vlastitom adresnom prostoru i emulira Intel 80486 pod MS-DOS-om 5.0. Međutim, Win16 programi rade u Win16 VDM. Svaki od njih po defaultu se izvršava u istom procesu koristeći isti adresni prostor, a Win16 VDM svakom programu daje vlastiti tok za izvršavanje. Međutim, arhitektura sustava Windows NT korisnicima omogućuje da je pokrenu u zasebnom prozoru, omogućujući višestrukim zadacima da budu preventivni, budući da će Windows nadmašiti cijeli VDM proces koji sadrži samo jednu pokrenutu aplikaciju.
    Proces podsustava okruženja Win32 (csrss.exe također uključuje značajke upravljanja prozorima, koje se ponekad nazivaju i "upraviteljem prozora". Obrađuje ulazne događaje (na primjer, s tipkovnice i miša), a zatim šalje poruke aplikacijama koje trebaju ući Svaka aplikacija odgovorna je za prikazivanje ili ažuriranje vlastitih prozora i izbornika kao odgovor na te poruke.
    OS /2 podsustav okoline podržava OS /2 16-bitne OS /2 emulatore i emulira OS /2 1.x, ali ne i 32-bitne ili grafičke OS 2 aplikacije koje se koriste u OS /2 2.x ili novijima samo za x86 računala. , Da biste pokrenuli grafički softver OS /2 1.x, mora se instalirati podsustav Windows NT Add-in za Presentation Manager. Najnovija verzija NT-a, s OS /2 podsustavom, bila je Windows 2000, a zatim je uklonjena, počevši s Windows XP arhitekturom. POSIX okruženje podsustava podržava programe koji su strogo pisani za POSIX.1 ili odgovarajuće ISO /IEC standarde. Zamijenjen je Interixom, koji je dio servisa Windows za UNIX. Sigurnosni podsustav pokreće sigurnosne tokene, osigurava ili zabranjuje pristup korisničkim računima na temelju dozvola resursa, obrađuje zahtjeve za prijavu i pokreće provjere valjanosti te određuje koje sistemske resurse treba provjeriti Windows NT.

    Kernel mode

    Kernel mode u Windows NT arhitekturi ima puni pristup računalnom hardveru i sistemskim resursima i pokreće kod u sigurnu memoriju. Kontrolira pristup planiranju, prioritetu struje, upravljanju memorijom i interoperabilnosti. Način rada kernela ne dopušta korisničkim uslugama i aplikacijama pristup kritičnim područjima operacijskog sustava na koje ne bi trebali imati pristup, a njegovi procesi moraju tražiti način rada jezgre kako bi izvršili takve operacije u njihovo ime.

    Iako arhitektura sustava Windows x86 podržava četiri različite razine povlastica (od 0 do 3), koriste se samo dvije krajnje razine.Programi korisničkog načina pokreću se s CPL 3, a jezgra s CPL 0. Ove dvije razine često se nazivaju "prsten 3" odnosno "prsten 0". Ova dizajnerska odluka donesena je kako bi se osigurala prenosivost koda za RISC platforme koje podržavaju samo dvije razine privilegija, iako to krši OS /2 kompatibilnost s segmentima I /O privilegija koje pokušavaju izravno pristupiti hardveru. Način rada kernela sastoji se od izvršnih usluga, koje se sastoje od mnogih modula koji obavljaju određene zadatke: jezgrene upravljačke programe, jezgru i razinu apstrakcija hardvera (HAL).

    Administracija

    Windows Executive Services je dio niske razine kernel moda i nalazi se u datoteci NTOSKRNL.EXE. To uključuje ulaz /izlaz, upravljanje objektima, sigurnost i upravljanje procesima. Oni su podijeljeni u nekoliko podsustava, među kojima posebnu ulogu imaju Upravitelj privremene memorije, Upravitelj konfiguracija, I /O Manager, Lokalni poziv za procedure (LPC), Upravitelj memorije, Struktura procesa i Nadzor monitora (SRM). Komponente grupirane zajedno mogu se nazvati izvršne usluge (interno ime Ex). Sustavske usluge (interno ime Nt), tj. Sistemski pozivi, također se implementiraju na ovoj razini, s iznimkom vrlo malo onih koji izravno pristupaju razini kernela radi povećanja produktivnosti.
    Izraz "usluga" u ovom kontekstu obično se odnosi na pozvan potprogram ili skup zvanih potprograma. Ona se razlikuje od koncepta "servisnog procesa", koji je sastavni dio sučelja, donekle sličandemonstracije u operacijskim sustavima sličnim Unixu. To je značajka jezgrene arhitekture sustava Windows 10 i svih prethodnih distribucija.

    Objektni upravitelj

    Upravitelj objekata (interno ime Ob) je izvršni podsustav kroz koji svi ostali podsustavi, posebno sustavni pozivi, moraju proći kroz pristup Windows NT resursima koji su u biti čini uslugu upravljanja resursima infrastrukture. Upravitelj objekata se koristi za smanjenje dupliciranja sposobnosti upravljanja resursima u drugim izvršnim podsustavima, što može dovesti do grešaka i komplicirati razvoj sustava Windows NT. Za ovog upravitelja svaki je resurs objekt, bez obzira je li to fizički (kao što je datotečni sustav ili periferni uređaj) ili logičan (primjerice, datoteka). Svaki objekt ima strukturu ili tip za koji Ob treba znati. Stvaranje objekta u arhitekturi Windows OS je proces koji se odvija u dvije faze - kreiranje i umetanje. Stvaranje uzrokuje dodjelu praznog objekta i rezerviranje svih resursa koje zahtijeva upravitelj, kao što je (izborno) ime u imenskom prostoru. Ako je bio uspješan, podsustav odgovoran za stvaranje ispunjava prazni objekt. Konačno, ako podsustav smatra da je inicijalizacija uspješna, daje upravitelju objekta upute za umetanje objekta, što ga čini pristupačnim kroz njegovo ime ili datoteku kolačića, koja se naziva ručica. Od tog trenutka, rukovanje upravlja objektom, a podsustav ga mora održavati u ispravnom stanju, sve dok ga Ob \ tuklanjanje. Deskriptori su identifikatori koji predstavljaju referencu na izvor kernela zbog neprozirne vrijednosti. Slično tome, otvaranje objekta kroz njegovo ime podložno je sigurnosnim provjerama, ali je akcija kroz postojeći otvoreni deskriptor ograničena samo na razinu pristupa koji je naručen kada je objekt otvoren ili kreiran.
    Tipovi objekata definiraju postupke i sve podatke koji su za njega specifični. Dakle, Ob dopušta Windows NT da bude objektno orijentirani operativni sustav, budući da se tipovi objekata mogu promatrati kao polimorfne klase koje definiraju objekte. Većina podsustava, međutim, uz značajnu iznimku u I /O upravitelju, oslanjaju se na zadanu implementaciju za sve procedure. Svaka instanca kreiranog objekta sprema svoje ime, parametre koji se prosljeđuju funkciji stvaranja objekta, sigurnosne atribute i pokazivač na njegov tip.

    Cache Controller

    Ovaj element sustava Windows 7 i drugih verzija arhitekture blisko koordinira s upraviteljem memorije, upraviteljem i I /O upravljačkim programima kako bi osigurao zajedničku predmemoriju za normalne I /O bazirane na datoteci. Upravitelj predmemorije sustava Windows radi s blokovima datoteka (a ne blokovima uređaja) za dosljedan rad lokalnih i udaljenih datoteka te pruža stupanj konzistentnosti s prikazom podataka učitanih u memoriju.

    I /O Manager

    Ova komponenta sustava Windows 10 i starije arhitekture omogućuje uređajima da komuniciraju s podsustavima korisničkog načina. Prevodi naredbe za čitanje iUpišite korisnika moda u IRP koji prenosi upravljačkim programima uređaja. Prihvaća ulazne /izlazne zahtjeve datotečnog sustava i pretvara ih u pozive specifične za uređaj i može uključivati ​​upravljačke programe niske razine koji izravno manipuliraju opremom za čitanje ili unos-izlaz. Ona također uključuje upravitelja predmemorije za povećanje performansi diska caching zahtjevima za čitanje i pisanje na disk u pozadini.

    Poziv lokalnog postupka (LPC)

    Ovaj strukturalni dio arhitekture sustava Windows 10 (i sve prethodne distribucije) pruža interprocesne komunikacijske portove s semantikom veze. LPC portovi se koriste od strane podsustava korisničkog načina za komuniciranje sa svojim klijentima, podsistemima Izvršnog za komunikaciju s podsustavima korisničkog načina i kao osnova za lokalni transport za Microsoft RPC.

    Upravitelj memorije

    Ovaj element sustava Windows 8.1 i drugih verzija kontrolira virtualnu memoriju, njezinu zaštitu i pumpanje od fizičkog do sekundarnog. Dakle, on provodi univerzalnu distribuciju fizičke memorije. Također stvara PE parser koji omogućuje izvršnu datoteku da se prikazuje ili ne prikazuje kroz atomski korak. Počevši od verzije Windows NT Server 4.0 Terminal Server Edition, upravitelj memorije implementira takozvani prostor sesije, memorijski pojas jezgrenog načina rada koji teži mijenjanju konteksta poput memorije prilagođenog načina rada. To omogućuje višestrukim primjercima Win32 kernel moda i GDI upravljačkih programa da rade rame uz rame,usprkos nedostacima u njihovom izvornom dizajnu. Svaki prostor sesije dijeli nekoliko procesa, koji se zajedno nazivaju "sesijama". Da bi se osigurao određeni stupanj izolacije između sesija bez unošenja novog tipa objekta, nadzornik sigurnosne veze obrađuje vezu između procesa i sesija kao atribut sigurnosnog tokena (token) i može se promijeniti samo ako postoje posebne povlastice. Relativno jednostavna i posebna priroda sesija posljedica je činjenice da nisu bili dio početnog projekta i da su trebali biti razvijeni uz minimalno kršenje mreže treće strane (Citrix Systems) kao preduvjet za njihov terminalski poslužiteljski proizvod za Windows NT pod nazivom WinFrame. Međutim, od arhitekture sustava Windows Vista, sesije su konačno postale relevantne za njegov aspekt. Više nije dizajn upravitelja memorije, koji indirektno prelazi u korisnički mod kroz Win32, već je proširen na sveobuhvatnu apstrakciju koja utječe na većinu izvršnih podsustava. Zapravo, redovito korištenje sustava Windows Vista uvijek dovodi do okruženja s više sesija.

    Struktura procesa

    Ovaj element arhitekture sustava Windows 7 (i druge varijacije) kontrolira stvaranje i dovršenje procesa i niti i implementira koncept Joba, skupine procesa koji se mogu dovršiti kao cjelina ili staviti pod opća ograničenja (na primjer , ukupno maksimalno dodijeljene memorije ili CPU vremena). Objekti zadataka uvedeni su u sustavu Windows 2000.

    PnP Manager

    Upravlja i podržava otkrivanje i instalaciju uređaja tijekom dizanja. On jeTakođer je odgovoran za zaustavljanje i pokretanje uređaja na zahtjev - to se može dogoditi kada sabirnica (na primjer, USB ili IEEE 1394 FireWire) nabavi novi uređaj i zahtijeva podršku za preuzimanje podrške. Njegov glavni dio je zapravo implementiran u korisničkom modu, Plug and Play, koji često obavlja složene zadatke za instaliranje odgovarajućih upravljačkih programa, usluga izvješćivanja i aplikacija na pojavu novih uređaja i prikazivanje grafičkog korisničkog sučelja.

    Power Manager

    Radi s događajima napajanja (Power Off, Standby, Sleep itd.) I izvješćuje o pokvarenim upravljačkim programima pomoću IRP-a (Power IRP). Njegova uloga je kontroliranje.

    Monitor sigurnosnog monitora (SRM)

    Glavno tijelo za osiguranje sigurnosti integralnog sigurnosnog podsustava. Ona određuje može li se pristup objektu ili resursu dobiti pomoću ACL-ova, koji se sastoje od ACE-ova. ACE-ovi sadrže sigurnosni identifikator (SID) i popis operacija koje ACE pruža odabranoj grupi, korisničkom računu, grupi ili sesiji prijave, dopuštenju (za dopuštanje, odbijanje ili provjeru) za taj resurs.

    GDI

    Sučelje grafičkog uređaja odgovorno je za zadatke kao što su crtanje linija i krivulja, prikazivanje fontova i panela za rukovanje. U seriji Windows NT 3.x, GDI komponenta je uključena u klijent /poslužiteljski podsustav u korisničkom načinu rada, ali je premještena u kernel mod u Windows NT 4.0 arhitekturi operacijskog sustava radi poboljšanja.grafičke performanse.

    Kernel

    Kernel u Windows arhitekturi je između HAL-a i Executive-a te omogućuje višeprocesorsku sinkronizaciju, raspoređivanje i raspoređivanje tokova i prekida, kao i iznimke za upravljanje prekidima i otpremu. Također je odgovoran za pokretanje pogonitelja ure aja pri pokretanju sustava, koji su potrebni za pokretanje operacijskog sustava. To jest, kernel obavlja praktički sve zadatke tradicionalne mikro jezgre. Stroga razlika između Izvršnog i Kernel-a je najistaknutiji ostatak izvornog projekta mikro jezgre, a povijesna projektna dokumentacija dosljedno naziva komponentu kernela "mikro-sklopom". Kernel često komunicira s upraviteljem procesa. Razina apstrakcije je takva da se nikada ne odnosi na upravitelja procesa, već samo na obrnuto (s izuzetkom nekoliko ne-tipičnih slučajeva koji nikada ne dosegnu funkcionalnu ovisnost).

    Povezane publikacije