Windows arhitektura: opis, vrste, struktura

Arhitektura Windows NT-a, linije operativnih sistema koje proizvodi i prodaje Microsoft, je dizajn na više nivoa koji se sastoji od dvije glavne komponente: user mode i kernel mode.

Windows 7 arhitektura

To je dizajniran proaktivni reentrant operativni sistem na posao sa jednoprocesorskim i simetričnim višeprocesorskim (SMP) računarima. Za obradu ulaznih i izlaznih (I/o) zahtjeva koriste paketni prijenos, koji koristi IRP pakete i asinhroni I / O. Počevši od Windows XP-a, Microsoft je počeo pružati 64-bitne verzije OS-a, prije toga su ove platforme postojale samo u 32-bitnim verzijama.

Koji su njegovi principi?

Windows OS arhitektura implementira sljedeće principe. Programi i podsistemi u korisničkom režimu su ograničeni u smislu kojih sistemskih resursa imaju pristup, dok kernel mod ima neograničen pristup sistemskoj memoriji i eksternim uređajima.

Kernel mod u Windows NT ima pun pristup hardverskim i sistemskim resursima računara. Jezgro ove ljuske poznato je kao hibrid. Arhitektura uključuje jednostavno jezgro, sloj hardverske apstrakcije (HAL), drajvere i brojne usluge (koje se zajednički nazivaju Executive) koje sve postoje u istom režimu.

Korisnički režim u Windows arhitekturi sastoji se od podsistema sposobnih za prenos I / o zahteva odgovarajućim drajverima režima kernela pomoću odgovarajućeg dispečera. Sloj Windows korisničkog režima sastoji se od "podsistema okruženja", u kojem se izvršavaju aplikacije napisane za različite operativne sisteme, i "integrisanog podsistema", koji obavlja sistemske funkcije u ime podsistema okruženja.

Windows OS arhitektura

Izvršni interfejsi u Windows arhitekturi sa svim podsistemima korisničkog režima bave se I/o, upravljanjem objektima, sigurnošću i upravljanjem procesima. Kernel se nalazi između sloja hardverske apstrakcije i uređaja za izvršenje, pružajući višeprocesorsku sinhronizaciju, zakazivanje i otpremu niti i prekida, kao i rukovanje prekidima i dispečiranje izuzetaka. Kernel je također odgovoran za inicijalizaciju upravljačkih programa uređaja pri pokretanju.

Drajveri ovog režima postoje na tri nivoa:

  • više;
  • srednji;
  • nisko.

Windows Driver Model (WDM) postoji na srednjem nivou i uglavnom je dizajniran da osigura kompatibilnost binarnog i izvornog koda između Windows 98 i 2000. Drajveri najnižeg nivoa su ili zastarjeli instalateri Windows NT uređaja koji direktno kontrolišu uređaj, ili mogu biti varijante Play (PnP) - hardverske sabirnice.

Korisničko ime

Korisnički režim se sastoji od različitih sistemskih procesa i DLL biblioteka.

arhitektura windows sistema

Interfejs između aplikacija i funkcija kernela operativnog sistema naziva se "podsistem okruženja". Windows arhitektura (7 i druge u NT liniji) može imati više od jednog od njih, od kojih svaka implementira svoj skup API-ja. Ovaj mehanizam je dizajniran da podrži aplikacije napisane za mnoge različite tipove operativnih sistema. Nijedan od podsistema okruženja nema direktan pristup hardveru. Hardverskim funkcijama se pristupa pozivanjem rutina u načinu rada kernela.

Kakvu ulogu imaju podsistemi?

Postoje četiri glavna podsistema okruženja: Win32, OS/2, Windows za Linux i POSIX.

Podsistem Win32 okruženja može pokrenuti 32-bitne Windows aplikacije. Sadrži konzolu, kao i podršku za tekstualni prozor, gašenje i ozbiljno rukovanje greškama za sve ostale podsisteme okruženja. Takođe podržava dos virtuelne mašine (VDM), koje omogućavaju MS-DOS i 16-bitne Win16 aplikacije da rade na Windows NT.

Postoji poseban MS-DOS VDM koji radi u sopstvenom adresnom prostoru i emulira Intel 80486 koji pokreće MS-DOS 5.0. Win16 programi, međutim, rade u Win16 VDM. Svaki od njih se po defaultu izvršava u istom procesu koristeći isti adresni prostor, a Win16 VDM svakom programu daje svoju nit za izvršenje. Međutim, arhitektura Windows NT sistema omogućava korisnicima da je pokreću u posebnom prozoru, što omogućava preventivno obavljanje više zadataka, jer će Windows biti ispred čitavog VDM procesa, koji sadrži samo jednu pokrenutu aplikaciju.

Windows 10 arhitektura

Proces podsistema okruženja Win32 (csrss.exe) takođe uključuje funkcije upravljanja prozorima, koje se ponekad nazivaju "upravitelj prozora". Obrađuje ulazne događaje (na primjer, sa tastature i miša), a zatim šalje poruke aplikacijama koje trebaju primiti ovaj ulaz. Svaka je aplikacija odgovorna za izgled ili ažuriranje vlastitih prozora i menija kao odgovor na ove poruke.

Podsistem OS / 2 okruženja podržava OS / 2 16-bitne aplikacije znakova 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 novija verzija samo za x86 računare.

Za pokretanje OS / 2 grafičkih programa 1.x podsistem dodatka Windows NT za Upravitelja prezentacije mora biti instaliran. Posljednja verzija NT-a sa OS/2 podsistemom bila je Windows 2000, a zatim je uklonjena, počevši od Windows XP arhitekture.

Podsistem okruženja POSIX podržava aplikacije koje su strogo napisane ili za POSIX.1, ili za odgovarajuće ISO/ IEC standardi. Zamijenjen je Interixom, koji je dio Windows usluga za UNIX.

Sigurnosni podsistem radi sa sigurnosnim tokenima, odobrava ili uskraćuje pristup korisničkim nalozima na osnovu dozvola resursa, obrađuje zahtjeve za prijavu i inicira autentifikaciju prijave, te određuje koje sistemske resurse treba provjeriti Windows NT.

arhitektura operativnog sistema windows

Kernel Mod

Režim kernela u Windows NT arhitekturi ima potpuni pristup hardverskim i sistemskim resursima računara i pokreće kod u zaštićenom memorijskom području. Kontroliše pristup rasporedu, prioritizaciji niti, upravljanju memorijom i interakciji hardvera. Kernel mode ne dozvoljava uslugama i aplikacijama u korisničkom načinu pristupa kritičnim područjima operativnog sistema kojima ne bi trebali imati pristup, njegovi procesi moraju zatražiti kernel mod za obavljanje takvih operacija u njihovo ime.

Iako Windows x86 arhitektura podržava četiri različita nivoa privilegija (od 0 do 3), samo dva ekstremna. Programi korisničkog načina rada rade sa CPL 3, a kernel sa CPL 0. Ova dva nivoa se često nazivaju" prsten 3 "i" prsten 0 " respektivno. Ova odluka o dizajnu donesena je kako bi se osigurala prenosivost koda na RISC platforme koje podržavaju samo dva nivoa privilegija, iako to krši kompatibilnost sa OS/2 aplikacijama koje sadrže i/o segmente privilegija pokušavajući direktno pristupiti hardveru.

koriste se, režim kernela sastoji se od izvršnih usluga, koji se sastoje od mnogih modula koji obavljaju određene zadatke: upravljački programi kernela, sam kernel i nivo hardverske apstrakcije (HAL).

Administracija

Windows Executive services su deo režima kernela niskog nivoa i sadržani su u ntoskrnl-u.EXE datoteka. Ovo se odnosi na I/ O, upravljanje objektima, sigurnost i upravljanje procesima. Podijeljeni su u nekoliko podsistema, među kojima posebnu ulogu imaju menadžer predmemorije, Upravitelj konfiguracije, i/o menadžer, lokalni poziv postupka (LPC), Upravitelj memorije, Monitor za nadzor strukture procesa i nadzor sigurnosti (SRM. Grupisani zajedno komponente se mogu nazvati executive services(Interni ex ime). Sistemske usluge (interni naziv Nt), odnosno sistemski pozivi, takođe su implementirane na ovom nivou, sa izuzetkom vrlo malog broja koji pristupa direktno nivou kernela radi poboljšanja performansi.

arhitekture Windows kernela

Izraz "usluga" u ovom kontekstu obično se odnosi na podprogram koji se poziva ili skup potprograma koji se zove. Ovo se razlikuje od koncepta "uslužnog procesa", koji je komponenta korisničkog načina rada donekle slična demonstraciji u operativnim sistemima sličnim Unixu. Ovo funkcija arhitekture kerneli Windows 10 i sve prethodne distribucije.

Upravitelj Objekata

Upravitelj objekata (interno ime Ob) je izvršni podsistem kroz koji moraju proći svi drugi takvi podsistemi, posebno sistemski pozivi, da bi pristupili Windows NT resursima, što ga, u stvari, čini infrastrukturnom uslugom za upravljanje resursima. Object Manager se koristi za smanjenje dupliranja funkcija upravljanja resursima u drugim izvršnim podsistemima, što može dovesti do grešaka i zakomplicirati razvoj Windows NT.

Za ovog menadžera, svaki resurs je objekat, bez obzira da li je fizički (kao što je sistem datoteka ili periferni uređaj) ili logički (kao što je datoteka). Svaki objekat ima strukturu ili tip za koji bi Ob trebao znati.

Kreiranje objekta u arhitekturi Windows OS je proces koji se odvija u dve faze-kreiranje i umetanje. Stvaranje uzrokuje dodjelu praznog objekta i rezervaciju svih resursa koje dispečer zahtijeva, kao što je (opcionalno) ime u ubaci razmake. Ako je bio uspješan, podsistem odgovoran za stvaranje popunjava prazan objekt. Konačno, ako podsistem smatra inicijalizaciju uspješnom, on upućuje Upravitelja objekata da umetne objekt, što ga čini dostupnim kroz njegovo ime ili kolačić koji se naziva deskriptor. Od ovog trenutka menadžer obrađuje životni vijek objekta, a podsistem ga mora održavati u ispravnom stanju sve dok Ob ne prijavi njegovo uklanjanje.

deskriptori su identifikatori koji predstavljaju referencu na resurs kernela kroz neprozirnu vrijednost. Slično, otvaranje objekta kroz njegovo ime podliježe sigurnosnim provjerama, ali radnja putem postojeće otvorene ručke ograničena je samo nivoom pristupa koji se traži kada je objekt otvoren ili kreiran.

Windows 8 arhitektura 1

Tipovi objekata definišu procedure i sve podatke specifične za njih. Dakle, Ob omogućava Windows NT da bude objektno orijentisani operativni sistem, pošto se tipovi objekata mogu posmatrati kao polimorfni klase definiranje objekata. Većina podsistema, međutim, sa značajnim izuzetkom u i/o menadžeru, oslanja se na podrazumevanu implementaciju za sve procedure.

Svaka instanca objekta koji se kreira trgovine njegovo ime, , parametri koji se prosljeđuju funkciji kreiranja objekta, sigurnosni atributi i pokazivač prema njegovom tipu.

Keš Kontroler

Ovaj element arhitekture Windows 7 i drugih verzija usko koordinira sa upraviteljem memorije, dispečerom i i / o upravljačkim programima za pružanje zajedničke predmemorije za normalan fajl i / O. Windows caching Manager radi sa blokovima datoteka (a ne blokovima uređaja) za dosledan rad lokalnih i udaljenih datoteka i obezbeđuje određeni stepen konzistentnosti sa prikazima podataka učitanih u memoriji.

I / O Menadžer

Ova komponenta arhitekture Windows 10 i starijih verzija omogućava uređajima da komuniciraju sa podsistemima korisničkog načina rada. Prevodi komande za čitanje i pisanje u korisnički način u IRP, koje prosljeđuje upravljačkim programima uređaja. Prihvata I / O zahtjeve sistema datoteka i pretvara ih u pozive specifične za uređaj i može uključivati drajvere niskog nivoa koji direktno manipulišu hardverom za čitanje ili I / O. Takođe uključuje upravitelj predmemorije za poboljšanje performansi diska keširanjem zahtjeva za čitanje i pisanje diska u pozadini.

Poziv lokalne Procedure (LPC)

Ovaj strukturalni dio arhitekture Windows 10 (i svih ranih distribucija) pruža portove za međuprocesnu komunikaciju sa semantikom veze. LPC portove koriste podsistemi korisničkog načina za komunikaciju sa svojim klijentima, Izvršni podsistemi za komunikaciju sa podsistemima korisničkog načina rada i kao osnova za lokalni transport za Microsoft RPC.

Menadžer Memorije

Ovaj element Windows 8 arhitekture.1 i druge verzije upravlja virtualnom memorijom, njenom zaštitom i pejdžingom od fizičkog i sekundarnog. Dakle, implementira univerzalni alokator fizičke memorije. Takođe stvara analizator PE izvršnih datoteka koje omogućavaju da se izvršni fajl prikaže ili ne prikaže u jednom atomskom koraku.

Počevši sa Windows NT serverom 4.0, Terminal Server Edition, memory manager implementira takozvani prostor sesije, raspon memorije u kernel modu koja je podložna prebacivanju konteksta na isti način kao i memorija u korisničkom režimu. Ovo omogućava više instanci podsistema Win32 kernel mode i GDI drajvera da rade rame uz rame, uprkos nedostacima u njihovom originalnom dizajnu. Svaki prostor sesije Dijeli više procesa, zajednički nazvanih "sesija".

Da bi se obezbedio određeni stepen izolacije između sesija bez uvođenja novog tipa objekta, security link monitor tretira komunikaciju između procesa i sesija kao atribut bezbednosnog subjekta (tokena) i može se promeniti samo ako postoje posebne privilegije.

Relativno jednostavna i posebna priroda sesija je zbog činjenice da nisu bili deo originalnog projekta i morali su biti razvijeni uz minimalan prekid glavne linije od strane treće strane (Citrix Systems) kao preduslov za njihov terminalni server proizvod za Windows NT, nazvan WinFrame.

Međutim, počevši od Windows Vista arhitekture, sesije su konačno postale pravi aspekt za to. Više nije memorijska konstrukcija menadžer koji prelazi na korisnički režim indirektno preko Win32, oni su prošireni na sveobuhvatnu apstrakciju utiču na većinu izvršne podsistema. U stvari, redovno korišćenje Windows Vista uvek dovodi do okruženja sa više sesija.

Struktura procesa

Ovaj element Windows 7 OS arhitekture (i druge varijacije) upravlja stvaranje i završetak procesa i niti, a također implementira koncept posla, grupe procesa koji se mogu završiti u cjelini ili staviti pod zajedničkim ograničenjima (na primjer, ukupna Maksimalna dodijeljena memorija ili CPU vrijeme). Objekti posla su uvedeni u Windows 2000.

PNP Menadžer

Upravlja i podržava otkrivanje i instalaciju uređaja tokom pokretanja. Takođe je odgovoran za zaustavljanje i pokretanje uređaja na zahtev - to se može desiti kada sabirnica (na primer, USB ili IEEE 1394 FireWire) dobije novi uređaj i treba preuzeti drajver Da bi ga podržao. Njegov glavni deo je zapravo implementiran u korisničkom režimu, u Plug and Play servisu, koji često obavlja složene zadatke instaliranja odgovarajućih drajvera, obaveštavanja servisa i aplikacija o pojavi novih uređaja i prikazivanja grafičkog korisničkog interfejsa.

Power Manager

Radi sa Power events (isključeno, stanje pripravnosti, režim mirovanja,. itd..) i obavještava pogođene drajvere koristeći posebne IRP-ove (Power IRP). Njegova uloga je kontrolna.

Nadzor sigurnosti (SRM)

Glavno tijelo za osiguranje usklađenosti sa sigurnosnim pravilima integriranog sigurnosnog podsistema. Određuje da li se objektu ili resursu može pristupiti pomoću lista za kontrolu pristupa (ACL), koje se same sastoje od zapisa kontrole pristupa (ACE). Asovi sadrže sigurnosni identifikator (SID) i listu operacija koje ACE pruža odabranoj grupi-korisnički račun, grupu ili sesiju prijave - dozvolu (dozvoli, odbije ili izvrši verifikaciju) za ovaj resurs.

GDI

Interfejs grafičkog uređaja odgovoran je za zadatke kao što su crtanje linija i krivina, crtanje fontova i obrada paleta. U izdanjima Windows NT 3 serije.x GDI komponenta je postavljena u podsistem klijent/server u korisničkom režimu, ali je prebačena u režim kernela u arhitekturi Windows operativni sistem NT 4.0 za poboljšanje grafičkih performansi.

Jezgro

Jezgro u Windows OS arhitekturi nalazi se između HAL-a i Executive-a i omogućava višeprocesorsku sinhronizaciju, zakazivanje i otpremanje niti i prekida, kao i rukovanje prekidima i dispečiranje izuzetaka. Takođe je odgovoran za inicijalizaciju upravljačkih programa uređaja pri pokretanju, što su neophodni za trči operativni sistem. Odnosno, kernel obavlja gotovo sve zadatke tradicionalnog mikrokernela. Stroga razlika između Executive i kernela je najuočljiviji ostatak originalnog projekta mikrokernel, a istorijska projektna dokumentacija dosljedno naziva komponentu kernela "mikrokernelom".

Kernel često komunicira sa menadžerom procesa. Nivo apstrakcije je takav da se nikada ne odnosi na menadžera procesa, već samo obrnuto (sa izuzetkom nekoliko atipičnih slučajeva koji nikada ne dostižu funkcionalnu zavisnost).