NT Stödapplikationer

Win NT är ett NOS som har byggts upp av olika komponenter som är programmerade var för sig. Sen så meckar man i hop det hela till ett paket. Varje systemfunktion har sin egen styrfunktion eller modul. Inga modeller delar på moduler, alla arbetar var för sig. Detta gör så att man kan "lättare" gå in och påverka en funktion i NOS. Det är för den del betyder att hela NOS behövs att programmeras om.

Bilden visar grovt vad som är Usermode respektive Kernelmode.

Usermode och Kernelmode


Usermode

Usertillämpningar och NTs undersystem kör i usermode, detta är det enda läge där en användare kan kommunicera med OPS. Allt som utförs i usermode måste gå via Executive Services för att få åtkomst till minnesarea eller ren hårdvara.

Usermode innehåller två st huvuddelar.

Kernel mode

Kernel är den allra heligaste i hela systemet, det är ett processorläge som ger komponenterna i detta läge en högre prioritet över userprocesser, den största delen av kärnan lagras i RAM minnet och kan inte flyttas till Swapfilen av Virtual Memory Manager VMM. Kernelläget skyddar all hardware och alla systemnivå komponenter från användarprogrammen, detta betyder att hårdvara inte kan nås från en applikation om det inte får passera Executive Services. Blanda inte ihop Microkärnan med Operativsystemet "Kernelmode". Ett program för NT så körs programmet i Usemode's. Subsystem Win32Sub, sen skickas det över till Kernelmode.

De tre delarna i Kernel är:

Executive Services är ett gränsnitt mellan kernel och miljön i undersystemen i usermode, den har 6 delar. Kernel är själva kärnan i operativet, den främsta uppgiften är att styra upp trådarna, samtidigt som den försöker att styra upp processortiden till med optimala.


Hardware Abstract Layer

Här ligger alla hårdvaruspecifika komponenter och dess konfigurering lagrad, följer inte din hårdvara NTs regler sätter denna modul stopp. Det kommer inte att fungera mao, därför använder man sig av Hardware Compablity List, det är som filter som separerar hård- och mjukvara, filtrerar informationen till drivers allt som skrivs för att komma förbi detta är en säkerhetsrisk.
hal.dll = Filen finns i Winnt32 katalogen.

Usermode har alltså Kernelmode har alltså
   
Ingen hårdvaruaccess Hårdvaruaccess
Begr minnsesvolym Allt minne
Kan swappas Kan inte swappas
Lägre prio Högre prio

Executive Services jobbar mot

I/O manager
Object manger
Virtuellt minne
Process manager
Device Drivers
Säkerhets referens monitor
Graphic device drivers
Win32 Windows Manager & GDI "Graphic Device Drivers"


Kernel jobbar mot

Hardware
HAL
Sist i kedjan så kommer den rena Hårdvaran eller Hardware, grafikdrivrutinen tex.: skrivs direkt mot hårdvaran då får man en snabbare access.
Windows Memory Model
Pagefile eller Swapfile


Minnesadressering

En process kan adressera 4 Gigabyte.
Minnet indelas i 4 KB sidor * 1 MB.
Formel ur boken: 4 KB * 1.048576 b = 4 GB.
De flesta sidor är tomma för det finns knappt några applikationer som har så mycket info.
Sidor som är används skickas direkt till ramminnet.
De sidor som inte har används innehåller en pekare som visar till pagingfile på hårddisken. pagefile.sys.
(Om jag kör ett program visar det kolla där på HDD'n så finns där mer info).


Virtuella minneshanteraren processen

Om ett program kräver mer RAM minne än som finns att tillgå så skickar den ner informationen till min HDD som skapar ett virtuellt (RAM Minne).


Subsystem Översikt

Varje applikation har ett subsystem den är som en tolk till varje applikation. POSIX WIN32 OS/2 utöver det har vi Security Subssytem används inte av applikationen den är för inloggningen.

Första steget

 

POSIX
till
Appl
WIN32
till
Appl
OS/2
till
Appl
Logon Process
till
Appl

Sen till Subtolken

POSIX
till
SUB/S
WIN32
till
SUB/S
OS/2
till
SUB/S
Security
till
Subsystem

Sen till Executive Services "Kernelmode" Operativssystem.
Blanda inte ihop microkärnan med Operativsystemet "Kernelmode".


Supporting Win32-based application

Trådar när man kör program.
Tex. en installation."Multi tasking".
Den kan packa upp filer, kopiera samt utföra konfigurering av systemet på samma gång.


Tillförlitlighet

Varje Win32 baserad applikation körs på sin egna 2 GB adress utrymme.
En Win32 baserad applikation tar inte utrymme av en annan Win32 bitars applikation.
Jag kan därför om en Win32 fil rasar, inte får problem i en annan Win32 fil.

NT Stöder / Objekt Link Embedding / ActiveX OpenGL and DirectX OLE/ActiveX Support.
Spelplattform m.m. kräver massor av processorkraft.
OLE /Open GL. Grafiskt gränssnitt kräver massor av processorkraft, använd inte denna som en skärmsläckare.
Industriell standard för 3-D grafik.
Direct/x.
Lågnivåspråk för att kör grejer i realtid.
OLE.
Utbyte av data mellan program.

Supporting MS-Dos baserade apl samt 16 Bits appl

NTVDM / NT's Virtuella MS-Dos Maskin.

NT stöder körning av DOS applikationer via sin NTVDM. Virtual Dos Maskin är en 32-bits tillämpning som simulerar en DOS miljö. NT lurar i praktiken DOS applikationen så DOS tror att jag är den enda applikationen på denna maskin så jag har full kontroll på denna dator. När en NTVDM applikation startas så har den sin egen singeltråds-NTVDM där den uppfattar sig själv som den enda processen i datorn. Nu kan inte alla DOS applikationer köras i NTVDM, de applikationer som gör direkta hårdvaruanrop kan inte köras, kan inte NT hindra hårdvaruanrop och dirigera om dessa till sina Virtuella Device Drivers VDDs så är det kört då.


Det finns 4 st komponenter som är till för att skapa och styra NTVDM


WOW Components

Virtuell 16 Bitars Windows maskin. Kostar ca 3 MB RAM. Detta startar automatiskt vid en uppstart av en 16 bits Win program. Till skillnad från DOS som startar upp en NTVDM för varje applikation som startar i sin egen singeltråd så startar dessa 16 bitars tillämpningar i samma NTVDM "minnesarea"  så dessa kommer att påverka varandra.

Filerna som styr WOW är: När man kör en gammal version av OFFICE paketet som är en WIN 16 version, så kommer det att funka att klippa in ett diagram från Excel till Word, klistra in det som vanligt och du har funktion, skulle du däremot starta upp Excel och Word i separata minnesområden skulle dessa applikationer inte se varandra överhuvudtaget, då skulle inte heller klippa klistra funktionen inte fungera fullt ut.

Starta en Win16 appl i sin egna NTVDM
Startknappen - Run och namnet på applikation: start /separate "e:\ labfiles\apps\spind16.exe funkar i run knappen.
Ställer jag mig i e:\lab files\apps\ start /separate spindl16.exe då fungerade det.
c:\>start "spind16.exe" /d c:/labfil~1/apps/spind16.exe /separate.
Kan även köra i startknappen RUN där finns en klick ruta där man kan välja att köra i eget minnesutrymme.


Task Manager

Fås fram genom att trycka CTRL-ALT-DEL
I denna tjänst kan man se:

Vilka program och processer som körs.
Använda den till att prioritera applikationer och processer.
Använda den till att stänga ner applikationer och processer.
Använda den till att se ett systems utförande.
Se utnyttjandet av processorns kraft.
Se utnyttjandet av RAM minnet.

Task Manager


Assigning Process to Processor

Set Affinity = Om jag vill köra en process i samma processor som tidigare om jag har flera processorer, då tvingar sig programmet in i processorn. Detta kräver att programmet är skrivet för detta. Eller att man styr det dit.

Supporting Applikationer på olika Hårdvaruplattformar

Source kompatibel / Källkods kompatibel till processorn.
Binärkods / kompatibel funkar på stuts.


Source kompatibel / Källkods kompatibel till processorn

Den måste kompileras till den processor som skall använda sig av programvaran.
Binärkods kompatibel funkar på stuts.
Denna typ av applikation behöver ingen kompilering, fungerar direkt.
Distributed Component Object Model

Jag vill kunna använda en annans dators processorkraft hur gör jag?
Använd DCOM tjänsten.
Starta upp dcomcnfg.exe.
Möjlighet att kunna fördela resurskrävande saker till flera maskiner.
Bra och ha när man gör tex. filmen Titanic, då delar man ut den animerade filmen på flera maskiner.
I Word så kan man infoga en 3-D bild som görs på en annan maskin, då kan man lyfta in själva "bilden" i Word men köra redigeringen i en annan dator.
Man startar winnt32\dcomcnfg.exe. Den tjänsten som sköter detta heter RPC Runtime Library sköter fördelningen av det hela.

Managing Application.
Användande av CMD Kommandotolken.
Starta applikationer som inkluderar Win NT Win MS-Dos OS/2 POSIX.
Starta vilken Batch fil som har fil ändelse: bat / cmd.
Köra igång alla NT kommandon.
Administrera nätverksresurser.
Klippa, klistra information mellan fönstren.
Mixa kommandon från olika subsystem.


Priroriteringsnivåer

För att kunna styra multitasking NT priar enligt nedan.
Normalvärde = 8.
Dynamiska applikationer = 0 - 15.
Realtidsapplikationer = 16 - 31.

Starta i olika nivåer det görs genom start kommandot start / low notepad.exe
/relatime (Prio 24)
/high (Prio 13)
/normal (Prio 8)
/low (Prio 4)


Ändra förgrundsapplicationens svarstid

None Boost: Om denna nivå sätts så körs alla program i samma prioritet.
Typ av program: administrativa programvaror.

Middle Boost: Här är bakgrundsprogrammen satta i bas prio medan förgrundsprogrammet körs i mellan nivå.
Typ av program: Spel eller program som kör rättstavning.

Maximum Boost: Bakgrundsprogrammet körs i basnivå medan förgrundsprogrammet körs två snäpp högre.
Typ av program: Kraftiga kalkyler, bildbehandlingsprogram.

Progprest



Tillbaka till NT 4 startsidan.