vw85
Artikelen: 0
Berichten: 14
Lid geworden op: wo 29 apr 2009, 13:36

[computer] besturingssystemen paginafout maken

Bij scheduling zijn er aspecten die te maken hebben met paginafouten. Kan iemand mij helpen om een paginafout in windows te maken/begrijpen?
vw85
Artikelen: 0
Berichten: 14
Lid geworden op: wo 29 apr 2009, 13:36

Re: [computer] besturingssystemen paginafout maken

Ik zie deze topic nu in ander forum, misschien beter.

Een log file maken waarin een of meer paginafouten worden opgeslagen is een truc om een inzicht te krijgen in de werking van OS en eventueel een probleem proberen op te lossen.

Ik ga misschien mijn vraag herformuleren en wat toevoegen, een reactie op een van de onderstaande is ook goed natuurlijk.

. stuurregisters CPU zichtbaar maken via debug in een shel/DOS

. taskmanager

. taskmanager

. proces monitor

. semaforen tonen

. troubleshooting met belangrijkste tool uit deze: autoruns, contig, diskview, filemon, handle, MASM (voor assembly programming), pageDefrag, processExplorer, processMonitor, regmon..

Bedankt
meijuh
Artikelen: 0
Berichten: 202
Lid geworden op: ma 20 nov 2006, 21:11

Re: [computer] besturingssystemen paginafout maken

Aangezien je geen concrete vraag stelt, heb ik wel paar mooie vragen voor je:

Beschouw het volgende pagina-referentiepatroon van een proces (t.a.v. 7 pagina's)

1 2 3 4 2 1 5 6 4 1 2 1 2 7 1 6 5 3 2 5 6 1

Gevraagd wordt bij verschillende strategien te bepalen hoevaak pagina's herladen worden.

Elke eerste keer dat een pagina wordt gerefereerd treedt een paginafout op.

Deze paginafouten worden niet geteld. Pas wanneer een pagina verwijderd is en daarna weer wordt gerefereerd moet de pagina opnieuw worden geladen en tellen we de paginafout.

1. LRU(Least recently used)-vervanging als het process over 5 paginaframes beschikt.

2. FIFO(first in first out)-vervanging als het proces over 5 paginaframes beschikt.

3. Optimale (OPT-)vervanging als het proces over 5 paginaframes beschikt

4. Working-set algoritme met window-grootte 5 (referenties)

5. Working-set algoritme met window-grootte 6 (referenties)

6. Bepaal de minimale working-set-grootte die optreedt bij het working-set algoritme met window 6, als we de aanloopperiode (eerste 6 referenties) buiten beschouwing laten.

Mogelijke antwoorden zijn 1 t/m 7.

De algoritmen kun je gemakkelijk met google vinden.
Gebruikersavatar
Cycloon
Artikelen: 0
Berichten: 4.810
Lid geworden op: ma 24 jan 2005, 20:56

Re: [computer] besturingssystemen paginafout maken

Bij scheduling zijn er aspecten die te maken hebben met paginafouten. Kan iemand mij helpen om een paginafout in windows te maken/begrijpen?
Een paginafout ontstaat wanneer data in het geheugen nodig is die niet in het geheugen zit maar nog op de schijf staat. Windows zal na de paginafout de correcte data ophalen van de schijf en in het geheugen laden. Paginafouten worden aan de lopende band gegenereerd, je genereert ze constant zonder dat je het zelf merkt.

Het kan zich ook afspelen tussen de cache en het ram geheugen.
vw85
Artikelen: 0
Berichten: 14
Lid geworden op: wo 29 apr 2009, 13:36

Re: [computer] besturingssystemen paginafout maken

ik heb al gevonven hoe ik in windows pagina faults in het oog kan houden.

is de bedoeling van deze oefening om aantal paginafouten per bepaalde algorithme te bepalen?

paginafout wordt toch veroorzaakt wanneer een virtuele geheugen niet vertaald kan worden naar fysiek geheugen?
meijuh
Artikelen: 0
Berichten: 202
Lid geworden op: ma 20 nov 2006, 21:11

Re: [computer] besturingssystemen paginafout maken

Ja het is de bedoeling om het aantal paginafouten te bepalen, muv de eerste keer wanneer er sowiezo een pagina fout optreedt.

Nee, wat jij zegt staat inderdaad op de nederlandse wikipedia, maar dit klopt niet, kijk maar eens op de engelse wikipedia onder Reasons for page fault. http://en.wikipedia.org/wiki/Page_fault.

Om bepaalde stof te leren zou ik nooit beginnen aan wikipedia en vooral niet de nederlandse.
vw85
Artikelen: 0
Berichten: 14
Lid geworden op: wo 29 apr 2009, 13:36

Re: [computer] besturingssystemen paginafout maken

wat er in nederlandse wikipedia staat is goed maar niet volledig, stel je hebt een proces bestaande uit meerdere pagina's of segmenten, een pagina wordt geswapt vlak voor het gebruitk kan worden, dit is een soort van trashing die paginafout kan veroorzaken, de proces verwacht de pagina in een bepaalde frame in het gehegen, maar hij vindt hem niet en gaat eventje naar "geblokeerd" state.

in ieder geval, correctie en verduidelijking is altijd welkom, pagina fout kan nog andere aspecten hebben, maar wat je gezegd hebt, is voor mij onduidelijk.

proces P1 bestaande uit deze pagina's: 1 2 3 4 2 1 5 6 4 1 2 1 2 7 1 6 5 3 2 5 6 1
Elke eerste keer dat een pagina wordt gerefereerd treedt een paginafout op.

Deze paginafouten worden niet geteld. Pas wanneer een pagina verwijderd is en daarna weer wordt gerefereerd moet de pagina opnieuw worden geladen en tellen we de paginafout.
ik ga eerst FIFO doen

1 2 3 4 2 1 5 6 4 1 2 1 2 7 1 6 5 3 2 5 6 1 (eerste keer: niet tellen)

2 3 4 2 1 5 6 4 1 2 1 2 7 1 6 5 3 2 5 6 1 (eerste 1 verwijderd)

1 2 3 4 2 1 5 6 4 1 2 1 2 7 1 6 5 3 2 5 6 1 (1 weer gerefereerd: teller =1)

1 2 3 4 2 5 6 4 1 2 1 2 7 1 6 5 3 2 5 6 1 (tweede 1 verwijderd)

1 2 3 4 2 1 5 6 4 1 2 1 2 7 1 6 5 3 2 5 6 1 (1 weer gerefereerd: teller =2)

1 2 3 4 2 1 5 6 4 1 2 2 7 1 6 5 3 2 5 6 1 (derde 1 verwijderd)

1 2 3 4 2 1 5 6 4 1 2 1 2 7 1 6 5 3 2 5 6 1 (1 weer gerefereerd: teller =3)

1 2 3 4 2 1 5 6 4 1 2 1 2 7 6 5 3 2 5 6 1 (vierde 1 verwijderd)

1 2 3 4 2 1 5 6 4 1 2 1 2 7 1 6 5 3 2 5 6 1 (1 weer gerefereerd: teller =4)

zit ik hier op het juiste spoor ? ;)
vw85
Artikelen: 0
Berichten: 14
Lid geworden op: wo 29 apr 2009, 13:36

Re: [computer] besturingssystemen paginafout maken

mijn oplossing om o.a page fault + processing en threading in windows xp op te volgen

ga naar Start> Settings > Control Panel > Administrative Tools en open "Performance"

klik op links op "Performance Logs and Alerts" en verder op "Trace Logs"

Rechts op linker muisknop klikken en dan "New Log settings kiezen", geef het een naam (test bijvoorbeeld) en klik op OK.

en dan volgende keuzes:

Afbeelding

ok, en dan wordt er een .etl file gegenereerd en opgeslagen in "C:\PerfLogs"

dit is een binair bestand

om te kunnen lezen gebruik je best een tool die .etl kan lezen

ik gebruik zelf een klein programmatje ingebouwd in xp "tracerpt.exe"

ga naar command line, kies de juiste pad en converteer .etl bestand op deze manier:

Afbeelding

dit is een voorbeeld van resultaat

PageFault, DemandZeroFault, 0x0FE8, 128860088100937500, 2085, 1935, 0x00E40000, 0x805663EB, 0, 0

Terug naar “Informatica en programmeren”