Windows NT arkitektur

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 1. juni 2016; checks kræver 14 redigeringer .

Arkitekturen i Windows NT er iboende i familien af ​​operativsystemer (OS) baseret på Windows NT-kernen . Disse operativsystemer er: Windows NT 3.1 , Windows NT 3.5 , Windows NT 3.51 , Windows NT 4.0 , Windows 2000 , Windows XP , Windows Server 2003 , Windows Vista , Windows Server 2008 , Windows 7 , Windows 8 , Windows 10 og Windows 11 .

Alle af dem er forebyggende multitasking -operativsystemer , designet til at fungere med både uniprocessor og symmetriske multiprocessor-computere . Til at behandle I/O-anmodninger bruges batch-styret I/O, som bruger I/O-anmodningspakker (IRP'er) og asynkron I/O.

Arkitekturen i Windows NT er modulær og består af to hovedlag - brugertilstandskomponenter og kernetilstandskomponenter. Programmer og undersystemer, der kører i brugertilstand, har begrænsninger for adgang til systemressourcer. Kernel-tilstand har ubegrænset adgang til systemhukommelse og eksterne enheder. Kernen i et NT-system kaldes en hybridkerne eller en makrokerne. Arkitekturen inkluderer selve kernen, hardwareabstraktionslaget (HAL), drivere og en række tjenester (Executives), der fungerer i kernetilstand (kernetilstandsdrivere) eller i brugertilstand (brugertilstandsdrivere) [1] [2 ] .

Windows NT-brugertilstand består af undersystemer, der sender I/O-anmodninger til den relevante kernetilstandsdriver gennem I/O-manageren. Der er to undersystemer på brugerniveau: miljøundersystemet (kører applikationer skrevet til forskellige operativsystemer) og det integrerede undersystem (styrer særlige systemfunktioner på vegne af miljøundersystemet). Kernel mode har fuld adgang til computerens hardware og systemressourcer.

Brugertilstand

Brugertilstand består af undersystemer, der sender I/O-anmodninger til den relevante kernetilstandsdriver via en I/O-manager. Brugerniveauet består af to delsystemer - miljødelsystemet (Miljø) og det integrerede delsystem (Integral).

Miljøundersystemet er designet til at køre applikationer skrevet til forskellige typer operativsystemer. Ingen af ​​miljøundersystemerne har direkte adgang til computerhardwaren. Hukommelsesressourcer tilgås via Virtual Memory Manager, som kører i kernetilstand. Applikationer kører også med en lavere prioritet end processer i kernetilstand.

Miljøundersystemet består af følgende undersystemer - Win32-undersystemet, OS/2 -undersystemet og POSIX - undersystemet . Win32 - miljøundersystemet kører 32-bit Windows-applikationer. Den indeholder konsol- og tekstvindueunderstøttelse, fejlhåndtering for alle andre miljøundersystemer. Understøtter VDM (Virtual DOS Machine), som giver dig mulighed for at køre 16-bit DOS og Windows (Win16) applikationer. VDM'en kører i sit eget adresserum og emulerer et MS-DOS-system, der kører på en computer med en Intel 80486-processor. Win16-programmer kører i Win16 VDM-tilstand. Hvert program kører i den samme proces ved at bruge det samme adresserum, men hvert program bruger sin egen tråd. Windows NT tillader dog Win16-programmer at køre i separate Win16 VDM-processer, hvilket muliggør forebyggende multitasking. Win32-miljøets undersystemproces, csrss.exe, inkluderer også funktionaliteten af ​​en vindueshåndtering, det vil sige, den behandler indgående hændelser, såsom tastatur- og museklik, og sender dem til de relevante applikationer til behandling. Hver applikation laver sit eget vinduestegning som svar på disse meddelelser.

OS/2-miljøundersystemet understøtter ikke-grafiske 16-bit-applikationer af OS/2-operativsystemet og emulerer OS/2 2.1.x.

POSIX-miljøundersystemet understøtter applikationer skrevet i henhold til POSIX.1-standarden.

Et integreret delsystem overvåger visse funktioner i operativsystemet på vegne af miljøundersystemet. Består af et sikkerhedsundersystem, en arbejdsstationstjeneste og en servertjeneste. Sikkerhedstjenesten håndterer adgangstokens , tillader eller nægter adgang til brugerkontoen, behandler godkendelsesanmodninger og starter brugerlogonprocessen. Workstation-tjenesten giver computeradgang til netværket - det er en API til en netværksomdirigerer (software, der emulerer adgang til et eksternt filsystem som et lokalt). Servertjenesten giver en computer mulighed for at levere netværkstjenester.

Kernel mode

Windows NT-kernetilstand har fuld adgang til computerens hardware- og systemressourcer. Kører i et beskyttet hukommelsesområde. Styrer hukommelse og interaktion med hardware. Forhindrer applikationer og tjenester i brugertilstand i at få adgang til kritiske hukommelsesområder. For at udføre sådanne operationer skal en proces i brugertilstand bede kernetilstanden om at udføre den på dens vegne.

x86-arkitekturen understøtter 4 privilegieniveauer, fra 0 til 3, men kun niveau 0 og 3 bruges. Brugertilstand bruger niveau 3, og kernetilstand bruger 0. Dette blev gjort for at tillade portabilitet til RISC -platformen , som kun bruger to privilegieniveauer. Kernel mode består af executive services, som er forskellige moduler, der udfører bestemte opgaver, kernedrivere, selve kernen og hardwareabstraktionslaget HAL.

Executive subsystem

Arbejder med I/O, objektmanager, processtyring og sikkerhed. Uformelt opdelt i flere undersystemer - cache manager, konfigurationsmanager, input/output manager, lokal procedurekald, memory manager, sikkerhedsmonitor. Systemtjenester, det vil sige systemkald, implementeres på dette niveau, med undtagelse af nogle få opkald, der kalder direkte til kernen for at opnå større ydeevne. I denne sammenhæng refererer udtrykket "tjeneste" til underrutiner, der kaldes, eller et sæt af kaldede underrutiner. De adskiller sig fra brugertilstandstjenester, som er lidt analoge med dæmoner på UNIX-lignende systemer.

Objekthåndtering

Dette er det executive undersystem, som alle andre moduler i det executive undersystem kalder på, især systemkald, når de skal have adgang til Windows NT-ressourcer. Objektmanageren bruges til at reducere duplikering af objekter, hvilket kan føre til fejl i systemet. For objektadministratoren er hver systemressource et objekt - uanset om det er en fysisk ressource såsom en perifer enhed, et filsystem eller en logisk ressource - en fil osv. Hvert objekt har sin egen struktur eller objekttype.

Oprettelsen af ​​et objekt er opdelt i to faser - oprettelse og indsættelse. Opret - Et tomt objekt oprettes, og de nødvendige ressourcer reserveres, såsom et navn i et navneområde. Hvis oprettelsen af ​​et tomt objekt lykkedes, udfylder det undersystem, der er ansvarligt for at oprette objektet. Hvis initialiseringen lykkes, får undersystemet objektadministratoren til at indsætte objektet - det vil sige gøre det tilgængeligt ved dets navn eller håndtag.

Noter

  1. ATI Catalyst Graphics-drivere på Windows Vista | Videokort - 3DNews - Daily Digital Digest . Hentet 20. august 2009. Arkiveret fra originalen 4. maj 2009.
  2. w:User-Mode Driver Framework