 |
www.es-minix.org Foros de discusión en español, sobre el sistema operativo Minix
|
| View previous topic :: View next topic |
| Author |
Message |
dhrivera Usuario
Joined: 15 Jan 2009 Posts: 6 Location: Tegucigalpa, Honduras
|
Posted: Thu Mar 19, 2009 11:18 pm Post subject: laboratorio #2 |
|
|
---===EJERCICIO 1===---
El archvio que utilizaban ambos excel y word que encontré lleva por
nombre "kernel32.dll", al intentar borrarlo desde el explorer regresó
un mensaje de error "No se puede eliminar kernel 32: Se ha denegado el
acces. Compruebe que el disco no esté lleno ni protegido contra
escritura y que el archivo no esté actualmente en uso".
Al realizar la búsqueda se ven muchas aplicacionas usando el mismo
archivo, como iTunes, explorer, hasta el mismo Process Explorer.
---===EJERCICIO 2===---
En la primera corrida, los archivos abiertos .pf abiertos por el
proceso notepad.exe directamente. En la segunda, estos archivos son
utilizados por svchost.exe y ekrn.exe. Pero el archivo abierto es el
mismo para los 3 procesos: NOTEPAD.EXE-336351A9.pf
---===Ejercicio 3===---
-En los 10 segundos observados, el tamaño de la memoria virtual de cada
proceso se mantuvo casi igual. Exepto el "LEAKYAPP.EXE" que tenía un
tamaño cada vez mayor.
-El Memory Usage Delta se mantuvo oscilando entre los mismos números:
360KB, 364 KB y 400KB para 4 instancias de LEAKYAPP.EXE
-Después de varios minutos de observación (15 aproximadamente), y con
15 instancias de LEAKYAPP.exe, nunca se mostró ningún aviso, pero si
se pudo pobserver como el Commit Charge iba aumentando gradualmente y
en la tab de Rendimiento se miraba más detallado con el límite que
cambiaba con menos frecuencia que el máximo.
---===Ejercicio 4===---
1) Total Faults 946: 889 Soft, 57 soft
2) Total Faults 944: 888 Soft, 57 soft
3) Total Faults 948: 891 Soft, 57 soft
4) Total Faults 950: 893 Soft, 57 soft
5) Total Faults 945: 888 Soft, 57 soft
En 5 corridas, se puede observar que las Soft faults varían ligeramente
pero las hard se mantienen siempre en el mismo número. Esto da a
entender que las lecturas a disco necesarias para la apertura de una
aplicación en particular siempre serán la misma cantidad. |
|
| Back to top |
|
 |
ferminquant Usuario
Joined: 12 Jan 2009 Posts: 8
|
Posted: Sat Mar 21, 2009 9:42 pm Post subject: |
|
|
Lo copie a continuacion mis resultados, sin embargo no se ve tan claro como en el documento de Word, porque las respuestas estan en negrita y ademas hay una imagen que no aparece. Lo subi tambien a la plataforma por si no entiende el de aca. Saludos:
----------------------------------------------------------------------------------
Ejercicio 1
Ejecute Process Explorer
2) Cámbiese a DLL View en View->Lower Pane View
3) Ejecute Word y Excel simultáneamente
4) Examine las listas de DLL cargadas por estos dos programas, y encuentre una
común entre los dos. Puede ordenar por path.
Atl.dll
C://WINDOWS/System32/atl.dll
5) Trate de borrar ese DLL desde Explorer. Anote sus resultados.
No me dejo…
6) En Process Explorer, use search para encontrar que otros procesos tienen este
DLL cargado. Anote sus resultados
- Firefox
- Svchost
- Inetinfo
- Quickset
- Tdmservice
- mDNSResponder
- DKService
- SecureUpgrade
- Explorer
- Isass
- GrooveMoniter
- Alg
- uTorrent
- DrgtoDsc
- TUProgSt
- EXEL
- WINWORD
- Todos los process anteriores lo utilizan
Ejercicio 2
Ejecute Filemon
2) Coloque un filtro para notepad.exe
3) Cree un directorio temporal en algún lugar, por ejemplo C:\TEMPORAL
4) Ejecute desde Start->Run, notepad c:\temporal\prueba.txt
5) Salga de Notepad
6) Ejecute Notepad de nuevo
7) En el archivo filemon.log, encuentre la creación de archivos .PF después de la
primera corrida, luego el uso del archivo .PF en la segunda corrida. Anote sus
resultados y presente conclusiones..
Este es el resultado de hacer lo que indican las instrucciones.
El archivo NOTEPAD.EXE-2F2D61E1.pf fue creado por notepad la primera vez, luego fue utilizado por svchost.exe para abrir notepad
Ejercicio 3
1) Ejecute el programa Leakyapp, disponible en los WinUtils que se bajan del foro.
Haga click en el botón “Start Leaking”.
2) Inicie el Task Manager y haga click en el tab de Processes
3) Agregue las columnas VM Size y Mem Usage si no las tiene desplegadas en la
vista del Task Manager
4) Ordene la columna VM Size de Mayor a Menor. Observe por 10 segundos y
anote sus resultados.
El de todos los procesos queda mas o menos igual, solo el de LEAKYAPP.exe siempre esta incrementando.
5) Note que las columnas Mem Usage y VM Size están creciendo juntas. Esto es
porque el OS está permitiendo que el Working Set del proceso crezca
físicamente junto con el crecimiento virtual. En algún momento, el Working Set
será limitado, pero el tamaño virtual seguirá creciendo. Anote sus resultados
cuando esto ocurra y comente sobre esto.
Le quito RAM a todos los procesos, incluyéndose a el mismo. Y quedo de cómo 2000k de RAM libre a 25,000k libre. Luego sucedió lo mismo pero libro 50M de RAM. La memoria en uso quedo mas o menos igual, pero la VM siguió incrementado indefinidamente. Luego la UsageMem disminuye cada vez mas, y la compu se empieza a poner lenta. Hasta cuesta que las letras que estoy typeando aparezcan. Luego al darle Save al documento de Work en donde esta haciendo este ejercicio, dejo de responder.
6) Mientras Leakyapp está corriendo, ingrese al tab de Performance del Task
Manager, y vea que el uso del page file se muestra gráficamente en PF Usge.
7) Para acelerar el crecimiento de memoria, puede iniciar varias instancias de
LeakyApp.
Regrese al Task Manager, ingrese al tab de Processes y agregue la columna
Mem Usage Delta. Esta columna muestra el crecimiento (o reducción) en
tamaño de cada proceso.
9) A medida que las instancias de LeakyApp corren, crean presión sobre la
memoria del sistema, haciendo que el OS recorte el tamaño físico de otros
procesos para hacer espacio a los LeakyApps. Anote sus resultados en cuanto
al Mem Usage Delta.
El de leakyapp se mantiene en promedio de 360k, mientras que otros como el de firefox de vez en cuando disminuyen, de 120k a 5,000k algunos.
10) Cuando el Commit Charge (en la parte inferior del Task Manager), se acerca al
límite, si su archivo de Paging está configurado para crecer dinámicamente el
sistema le mostrará un aviso indicando que está modificando los archivos de
Paging. Si no, el sistema mostrará un mensaje de error indicando “System out
of Virtual Memory”. Anote sus resultados.
El commit charge, al momento de llegar a su limite, comienza a aumentar en tamaño, por su cuenta sin aviso alguno. El page file usage también va al tope de la grafica. Comenzo en 3900M, a los 5288M la computadora se trabo y dejo de responder como por 2 minutos, luego apareció con 5596M y comencé a cerrar las instancias del programa. Como a los 3 o 5 minutos respondió, y pude comenzar poco a poco cerrar las instancias.
11) Termine todas las instancias de LeakyApp.
Ejercicio 4
1) Abra una ventana de cmd.exe
2) Ejecute desde la línea de comandos el comando pfmon notepad
3) Observe la ejecución que sale en la pantalla. Un soft fault indica un page fault
que fue satisfecho con una página descartada, pero todavía presente en
memoria. Un hard fault involucra una lectura de disco. Anote el
comportamiento de esta instancia de notepad, y luego cierre notepad.
Total Faults 1165 Soft 1096, Hard 69
4) Ejecute notepad otra vez. Anote el comportamiento, analice las diferencias y
escriba sus resultados.
Total faults 1153 Soft 1085 Hard 68
En ambas corridas los números fueron mas o menos iguales, sin embargo los soft faults variaron mas que los hard faults. Lo que significa que el numero de lecturas a disco siempre se mantiene mas o menos igual, pero que los soft faults cambian. |
|
| Back to top |
|
 |
CesarRV2 Usuario
Joined: 13 Jan 2009 Posts: 6
|
Posted: Sun Mar 22, 2009 12:52 am Post subject: Resultados Laboratorio #2 |
|
|
Analizando DLLs
El DLL encontrado en común es el MPR.dll que se encuentra en el directorio C:\Windows\SysWOW64\MPR.dll.
Al tratar de borrar el DLL me salió el mensaje que se necesita permiso para realizar esa acción, nunca me dejo borrarlo.
Al buscarlo en Process Explorer me dio de resultado que los siguientes programas usan el MPR.dll:
• Microsoft Office Word
• Windows Explorer
• Task Scheduler Engine
• Microsoft Office Excel
• Synaptics Touch Pad Enhancements
• Acer eData Security Management Loader
• ESET Gui
• Acer Empowering Technology Framework Launcher
• Sysinternals Process Explorer
Analizando el manejo de Prefetch de Windows
La primera vez que se creó el archivo NOTEPAD.EXE-336351A9.pf fue por notepad.exe y la segunda fue por svchost.exe, esto en la primera corrida de notepad, en la segunda solo se creó por notepad. Al no haber cerrado ni salvado en la segunda me da a entender que al ser llamado por svchost.exe es para cerrar o salvar el notepad, hice la prueba y descubrí que es al cerrar.
Administración de memoria ante un proceso que crece indefinidamente
Se nota que el LEAKYAPP.EXE aumenta el uso de memoria y de memoria virtual sin parar.
Cuando se llego al límite del working set se notas que el mem usage disminuye en cada proceso hasta cierto punto en que se estabiliza y en cambio el vm size sigue aumentando indefinidamente, pero solamente de los procesos del LEAKYAPP.
Se muestra que este crece gradualmente al mismo tiempo que el LEAKYAPP aumenta. Se nota que el Commit Charge aumenta y la memoria física disponible disminuye.
Al agregar las nuevas instancias, la pendiente de la grafica aumenta significativamente (se agregaron 9 instancias mas), la memoria disponible disminuye significativamente también y el commit charge se acerca más rápidamente a su límite.
El mem usage delta varia aleatoriamente en todos los procesos, más drástico en los procesos LEAKYAPP.
El sistema mostro un mensaje de memoria virtual baja, Windows está aumentando el tamaño del pagineo de la memoria virtual.
La memoria virtual de todos los procesos deja de crecer, al igual que el mem usage y el mem usage delta.
En el tab de Performance se ve que la grafica de PF Usage está en el tope y se mantiene así. El commit charge se mantiene sin cambio pero la memoria física y de kernel empieza a oscilar.
Analizando los page faults
Cada acción que realiza uno en notepad genera page faults o lecturas a disco, pero si se repite la acción, estos ocurren en menor frecuencia. Al utilizar notepad se generaron SOFT: 1604, HARD: 87.
I. SOFT: 1346, HARD:72
II. SOFT: 1417, HARD:72
III. SOFT: 1345, HARD:72
IV. SOFT: 1346, HARD:72
Se nota que la cantidad de SOFT varía poco, pero la HARD se mantiene que es la cantidad de lecturas a disco que hay, lo que indica que al iniciar un proceso se realiza la misma cantidad de lecturas a disco siempre. |
|
| Back to top |
|
 |
lpiura Usuario
Joined: 16 Jan 2009 Posts: 7
|
Posted: Sun Mar 22, 2009 8:45 am Post subject: |
|
|
Laboratorio.
Analizando DLLs.
4) Presentan en común la siguiente dll:
Advapi32.dll
5) Si se borra el dll se cierra el programa al que pertenece.
6) Al darle search al dll antes mencionado se encuentra que otros procesos también lo tienen entre los que se encuentran:
sqlserver.exe
services.exe
csrss.exe
Analizando el manejo de Prefetch de Windows.
Por cada ejecución de notepad se crean una serie de procesos que son mostrados en el task manager entre los cuales se encuentran procesos realizados por el task manager, por el Explorer, por el ejecutable del programa notepad y por el prefecth de Windows. En la segunda corrida ya no se levantan los procesos del prefetch de Windows debido a que el programa ya se encuentra en el prefetch que le da mas velocidad a lo que es el arranque del sistema operativo.
Administración de memoria ante un proceso que crece indefinidamente.
4) El tamaño de memoria del proceso LEAKYAP.EXE se comienza a incrementar y continúa incrementándose.
5) En ese momento la memoria regresa a un tamaño memoria.
9) La columna de la diferencia del uso de memoria se mantiene en valores muy parecidos entre todas las instancias de LEAKYAPP.
Luego de unos cuantos segundos de abrir las instancias de LEAKYAPP el uso de memoria de muchos procesos comienza a disminuir y el delta presenta una diferencia negativa.
10) El número del máximo comienza a umentar a medida que el commit charge va aumentando. Cuando se llega al límite su rango aumenta. la chaché se ve disminuida. La gráfica de PF va aumentando.
Analizando los page fault.
soft: 1158, hard:64
soft: 1156, hard:64
soft: 1150, hard:64
soft: 1158, hard:64
soft: 1156, hard:64
soft: 1153, hard:64
Los soft faults varían en un rango pequeño mientras que las lecturas a disco (hard faults) se mantienen constantes en todas las ejecuciones. |
|
| Back to top |
|
 |
Gaitan Usuario
Joined: 15 Jan 2009 Posts: 7
|
Posted: Sun Mar 22, 2009 10:33 am Post subject: |
|
|
LUIS ALFREDO GAITAN 10711097
I PARTE
Analizando DLLs con Process Explorer de Sysinternals
Ejecute Word y Excel simultáneamente, observe que tienen varios dll comunes como ser:
• gdi32.dll
• riched20.dll
• kernel32.dll
• ckvo0.dll
Borre dos de ellos (kernel32.dll, riched20.dll ) y me tiro un mensaje que decía lo siguiente
No se puede eliminar riched20.dll: Se ha denegado el acceso
Compruebe que el disco no esta llena ni protegida contra escritura y que el archivo no este actualmente en uso y estos DLL estaba siendo usado por los mismos.
II PARTE
Analizando el manejo de Prefetch de Windows
Al correr la primera vez encontré diez Prefetch y en la segunda corrida cuatro Prefetch, en la segunda corrida, habían Paginas usado en la primera corrida, y como estaban cargadas entonces por eso se redujo la cantidad de Prefetch El length reportado era mayor en la primera corrida que en la segunda.
III PARTE
Administración de memoria ante un proceso que crece indefinidamente
Al principio crecían a mismo tiempo asi como el Mem Usage era mayor que el Vm Size por encima de los 85 M el Vm Size era superado Observe crecer ambos hasta 145 Mb luego el Mem Usage del Leaky disminuyo, se le cedió la memoria al nuevo proceso, el Vm Size continúo igual. Al abrir varias ventanas graficas de uso de PF empezó aumentar de manera acelerada y se lleno rápidamente. Aquí se observa que la reducción de espacio para las otras instancias, empieza hacer espacio para los leakys. Al final del limite el OS tiro el mensaje de no tenias mas memoria virtual. Y Comenzaron a salir ventanas de error y un mensaje como se menciona de que esta fuera del alcance de memoria virtual.
IV PARTE
Analizando los page faults
Se puede observar que en el segundo PFMON no tiene una gran cantidad de page faults, solo unas pocas mas que el primero.
1-PFMON: Total Faults 785 KM205 UM 785
Soft 729
Hard 70
Code 264
Data 535
2-PFMON: Total Faults 856 KM 235 UM 856 Soft 771
Hard 63
Code 286
Data 540 |
|
| Back to top |
|
 |
tkmpalencia Usuario
Joined: 14 Jan 2009 Posts: 8 Location: Tegucigalpa
|
Posted: Sun Mar 22, 2009 4:40 pm Post subject: |
|
|
Analizando DLLs
Al ejecutar Word y Excel simultáneamente y comparar los DLLs cargados por cada uno de estos programas se observa que tienen varios DLLs en común.
Yo elegí el que se llama: winmm.dll (C:/Windows/System32/winmm.dll)
Cuando intenté eliminar este dll no se me permitió borrarlo, mostrándome un mensaje “Necesita permisos para realizar esta acción”.
En process Explorer, al usar search de que procesos tenían este DLL cargado me dio como resultado los siguientes procesos:
-msnmsgr.exe
-agrsmsvc.exe
-WINWORD.EXE
-svchost.exe
-svchost.exe
-svchost.exe
-explorer.exe
-taskeng.exe
-mcagent.exe
-SynTPEnh.exe
-HControl.exe
-CFSvcs.exe
-EXCEL.EXE
-iexplore.exe
-AcroRd32.exe
-DAP.exe
-AdobeUpdater.exe
Analizando el manejo de Prefetch de Windows
7) En el archivo filemon.log, encuentre la creación de archivos .PF después de la primera corrida, luego el uso del archivo .PF en la segunda corrida. Anote sus resultados y presente conclusiones.
El primer listado de archivos .PF que se encuentran son realizados por el proceso notepad.exe y se muestran de la siguiente manera:
Process Request Path
notepad.exe OPEN C:/Windows/Prefetch/NOTEPAD.EXE-D8414F97.pf
notepad.exe OPEN C:/Windows/Prefetch/NOTEPAD.EXE-D8414F97.pf
El segundo listado de archivos .PF son realizados por svchost.exe y se pueden observar de la siguiente manera:
Process Request Path
svchost.exe OPEN C:/Windows/Prefetch/NOTEPAD.EXE-D8414F97.pf
svchost.exe OPEN C:/Windows/Prefetch/NOTEPAD.EXE-D8414F97.pf
svchost.exe CREATE C:/Windows/Prefetch/NOTEPAD.EXE-D8414F97.pf
svchost.exe OPEN C:/Windows/Prefetch/NOTEPAD.EXE-D8414F97.pf
svchost.exe WRITE C:/Windows/Prefetch/NOTEPAD.EXE-D8414F97.pf
svchost.exe CLOSE C:/Windows/Prefetch/NOTEPAD.EXE-D8414F97.pf
Conclusiones: Por los request que se observan de estos procesos, me hace suponer que se crean los archivos .PF en el momento en que se está abriendo el notepad y el segundo listado de archivos .PF cuando se está creando y guardando el archivo prueba.txt.
Administración de memoria ante un proceso que crece indefinidamente
4) Ordene la columna VM Size de Mayor a Menor. Observe por 10 segundos y
anote sus resultados.
El tamaño de VM Size y de Mem Usage van creciendo juntas para el proceso de LeakyApp.exe, hasta que es el proceso que tiene mas VM Size asignada. La mayor parte del tiempo el VM Size es mayor que el Mem Usage por una pequeña cantidad de KB pero hay momentos en que el Mem Usage se hace mayor que el VM Size, alternandose esto cada cierto tiempo. Los demás procesos se mantuvieron casi iguales.
5) Note que las columnas Mem Usage y VM Size están creciendo juntas. Esto es
porque el OS está permitiendo que el Working Set del proceso crezca
físicamente junto con el crecimiento virtual. En algún momento, el Working Set
será limitado, pero el tamaño virtual seguirá creciendo. Anote sus resultados
cuando esto ocurra y comente sobre esto.
Llega un punto en que el Mem Usage de los demás procesos disminuyen hasta cierto punto y el VM Size del leakyapp.exe sigue creciendo.
6) Mientras Leakyapp está corriendo, ingrese al tab de Performance del Task
Manager, y vea que el uso del page file se muestra gráficamente en PF Usge.
Cuando se agregan instancias del leakyapp se ve en la gráfica el crecimiento de la misma.
7) Para acelerar el crecimiento de memoria, puede iniciar varias instancias de
LeakyApp.
Inicié 10 instancias de LeakyApp.
8 ) Regrese al Task Manager, ingrese al tab de Processes y agregue la columna
Mem Usage Delta. Esta columna muestra el crecimiento (o reducción) en
tamaño de cada proceso.
9) A medida que las instancias de LeakyApp corren, crean presión sobre la
memoria del sistema, haciendo que el OS recorte el tamaño físico de otros
procesos para hacer espacio a los LeakyApps. Anote sus resultados en cuanto
al Mem Usage Delta.
En esta columna generalmente el crecimiento en tamaño de los procesos del LeakyApp.exe se mantenía en 400K, 372K, 364K y 360K. Y se puede notar que cada cierto tiempo se reduce el tamaño de cada proceso para distribuirlo entre los procesos de leakyapp.exe.
10) Cuando el Commit Charge (en la parte inferior del Task Manager), se acerca al
límite, si su archivo de Paging está configurado para crecer dinámicamente el
sistema le mostrará un aviso indicando que está modificando los archivos de
Paging. Si no, el sistema mostrará un mensaje de error indicando “System out
of Virtual Memory”. Anote sus resultados.
Se nota que el Commit Charge aumenta y la grafica de PF Usage se mantiene en lo máximo. La computadora se pone lenta.
Llega un momento en que la computadora se queda trabada y me sale un mensaje de que la memoria es insuficiente. Después de cierto tiempo se destraba y voy finalizando poco a poco los procesos de leakyapp.exe y el sistema se va estabilizando poco a poco.
Analizando los page faults
3) Observe la ejecución que sale en la pantalla. Un soft fault indica un page fault
que fue satisfecho con una página descartada, pero todavía presente en
memoria. Un hard fault involucra una lectura de disco. Anote el
comportamiento de esta instancia de notepad, y luego cierre notepad.
En la ejecución que sale en pantalla se observa que aparece la indicación de si ha existido un SOFT o HARD fault y muestra una descripción y la dirección de memoria de la acción que se estaba realizando.
Cuando se cierra el notepad se muestra un resumen de los faults que han existido. En esta primera ejecución resultaron:
Total Faults 988 <KM 629 UM 988 Soft 912, Hard 76, Code 380, Data 680>
4) Ejecute notepad otra vez. Anote el comportamiento, analice las diferencias y
escriba sus resultados.
Resultaron:
Total Faults 996 <KM 582 UM 996 Soft 920, Hard 76, Code 385, Data 611>
Podemos notar que la diferencia de soft y hard faults no es mucha. En varias pruebas que realice el numero de HARD fauts dio el mismo resultado. Y el numero de SOFT faults no era mucha la diferencia. |
|
| Back to top |
|
 |
IRic Usuario
Joined: 11 Jan 2009 Posts: 9
|
Posted: Sun Mar 22, 2009 9:43 pm Post subject: Laboratorio 2 |
|
|
Analizando DLL’s
4.- DLL común entre Word y Excel: oart.dll
5.- Al buscar el DLL e intentar borrarlo con Word y Excel abiertos no me permitió borrarlo, solicita permiso para poder eliminarlo. Al cerrar ambos intente borrar de nuevo dicho DLL lo cual se logro con éxito, pero al querer correr Word y Excel no se puedo, pero al cargarlos el programa de instalación de office corrió y corrigió el error de manera automática.
6.- Después de realizada la búsqueda observe que solo Word y Excel tienen este DLL levantado, así que ejecute el PowerPoint y Outlook, pude observar que solo PowerPoint utiliza dicho DLL.
Analizando el manejo de Prefetch de Windows
Resultado:
El archivo de NOTEPAD.EXE-EB1B961A.pf fue creado en el proceso 59.
Tanto en la segunda y la primera corrida el svchost.exe se encargo de abrir, escribir, cerrar y/o consultar en el archivo NOTEPAD.EXE-EB1B961A.pf
Conclusiones:
1.- Los .pf son creados la primera vez que se ejecuta el programa, en ejecuciones posteriores no es necesario crearlo.
2.- Los .pf son acezados por el svchost.exe.
Administración de memoria ante un proceso que crece indefinidamente
SO Windows Vista.
VM Size = Committed Size
Men Usage = Working Set
4.- En el proceso Leakyapp.exe, el Committed Size iba creciendo (Subiendo Posiciones)
5.- El Leakyapp.exe absorbe la memoria que los otros procesos utilizan pero la memoria virtual de todos esos procesos que han perdido memoria física se mantienen y algunos incrementa y otros pocos bajan.
9.- Viendo el Working Set Delta veo que los procesos Leakyapp.exe abiertos se mantienen casi constantes con 360k, en algunos momentos algunos procesos crecen de manera negativa pero al mismo tiempo otros crecen positivos, osea le quita memoria a unos y se la asigna a otros.
10.- Casi cerca del limite a un 94% el sistema está muy lento y cuesta incluso escribir o cambiar de pantalla, el uso del CPU aumenta sustancialmente también, el numero de PF aumento sin aviso, de 3313M a 6060M, Al llegar al límite simplemente no respondió mas y tuve que reiniciar la maquina luego de 5 minutos de espera.
Analizando los page faults
3.- Al ejecutar el comando: muestra una lista con los soft o hard faults ocurridos durante apertura del notepad. Al cerrar se muestra un resumen:
Total Faults 1223 (KM 654 UM 1223 Soft 1109, Hard 114, Code 440, Data 783)
4.- Segunda Corrida:
Total Faults 1219 (KM 702 UM 1219 Soft 1107, Hard 112, Code 443, Data 776).
La variación en los faults varía muy poco ya que solo se abrió y se cerro, al hacer una prueba, escribí y luego cerré sin salvar vi que los faults habían incrementado considerablemente. |
|
| Back to top |
|
 |
vymz Usuario
Joined: 11 Jan 2009 Posts: 8
|
Posted: Sun Mar 22, 2009 9:57 pm Post subject: Laboratotio 2 |
|
|
Analizando DLLs
4)Examine las listas de DLL cargadas por estos dos programas, y encuentre una
común entre los dos. Puede ordenar por path.
adsldpc.dll C:\WINDOWS\system32\adsldpc.dll
5)Trate de borrar ese DLL desde Explorer. Anote sus resultados.
Se borra el DLL. Y cierra la ventana de Word o de Excel, según sea del cual lo haya borrado.
6)En Process Explorer, use search para encontrar que otros procesos tienen este DLL cargado. Anote sus resultados.
svchost.exe
quickset.exe
PCSuite.exe
mDNSResponder.exe
fsssvc.exe
ramaint.exe
LogMeIn.exe
iexplore.exe
WINWORD.EXE
Analizando el manejo de Prefetch de Windows
7)En el archivo filemon.log, encuentre la creación de archivos .PF después de la primera corrida, luego el uso del archivo .PF en la segunda corrida. Anote sus resultados y presente conclusiones.
En la primera corrida el archivo NOTEPAD.EXE-2F2D61E1.pf fue creado por el notepad. Y en la segunda corrida fue utilizado svchost.exe para abrir el notepad.
Administración de memoria ante un proceso que crece indefinidamente
4) Ordene la columna VM Size de Mayor a Menor. Observe por 10 segundos y
anote sus resultados.
El tamaño de memoria virtual de los procesos no cambia excepto el de LEAKYAPP.EXE que incrementa continuamente.
5) Note que las columnas Mem Usage y VM Size están creciendo juntas. Esto es porque el OS está permitiendo que el Working Set del proceso crezca físicamente junto con el crecimiento virtual. En algún momento, el Working Set será limitado, pero el tamaño virtual seguirá creciendo. Anote sus resultados cuando esto ocurra y comente sobre esto.
El tamaño de la memoria virtual de LEAKYAPP.EXE sigue creciendo y se llega a un punto donde el Uso de memoria de los otros procesos disminuye hasta cierto punto.
9) A medida que las instancias de LeakyApp corren, crean presión sobre la memoria del sistema, haciendo que el OS recorte el tamaño físico de otros procesos para hacer espacio a los LeakyApps. Anote sus resultados en cuanto al Mem Usage Delta.
El crecimiento del tamaño de los procesos de LEAKYAPP.EXE es entre 360k y 400k
10) Cuando el Commit Charge (en la parte inferior del Task Manager), se acerca al límite, si su archivo de Paging está configurado para crecer dinámicamente el sistema le mostrará un aviso indicando que está modificando los archivos de Paging. Si no, el sistema mostrará un mensaje de error indicando “System out of Virtual Memory”. Anote sus resultados.
Cuando el Commit Charge llega a su límite comienza a aumentar de tamaño, al igual que la grafica de PF Usage. La computadora se empieza a poner lenta y se traba; y por cierto tiempo deja de funcionar. Después de cierto tiempo se empieza a destrabar y a funcionar y se empieza a poder finalizar los procesos de LEAKYAPP.EXE
Analizando los page faults
3) Observe la ejecución que sale en la pantalla. Un soft fault indica un page fault que fue satisfecho con una página descartada, pero todavía presente en memoria. Un hard fault involucra una lectura de disco. Anote el comportamiento de esta instancia de notepad, y luego cierre notepad.
Total Faults 1016 <KM 203 UM 1016 Soft 955, Hard 61, Code 355, Data 661
4) Ejecute notepad otra vez. Anote el comportamiento, analice las diferencias y
escriba sus resultados.
Total Faults 1011 <KM 206 UM 1011 Soft 954, Hard 57, Code 354, Data 657
La diferencia entre ambas no es mucha, pero en la segunda ejecución del notepad el soft y el hard son menores que en la primera vez. |
|
| Back to top |
|
 |
frajazu Usuario
Joined: 06 Feb 2008 Posts: 6
|
Posted: Sun Mar 22, 2009 10:02 pm Post subject: Francisco Javier Zuniga 10311087 |
|
|
10311087 Francisco Javier Zuniga
Ejercicio 1
Analizando DLLs
1) Ejecute Process Explorer
2) Cámbiese a DLL View en View->Lower Pane View
3) Ejecute Word y Excel simultáneamente
4) Examine las listas de DLL cargadas por estos dos programas, y encuentre una común entre los dos. Puede ordenar por path.
R:
Comctl32.ddl
5) Trate de borrar ese DLL desde Explorer. Anote sus resultados.
R:
No permite borrar el archivo.
6) En Process Explorer, use search para encontrar que otros procesos tienen este DLL cargado. Anote sus resultados.
R:
Excel
Alg
CLI
Explorer
Spoolsv
acroRd32
firefox
jusched
svchost
……
Ejercicio 2
Analizando el manejo de Prefetch de Windows
1) Ejecute Filemon
2) Coloque un filtro para notepad.exe
3) Cree un directorio temporal en algún lugar, por ejemplo C:\TEMPORAL
4) Ejecute desde Start->Run, notepad c:\temporal\prueba.txt
5) Salga de Notepad
6) Ejecute Notepad de nuevo
7) En el archivo filemon.log, encuentre la creación de archivos .PF después de la
primera corrida, luego el uso del archivo .PF en la segunda corrida. Anote sus
resultados y presente conclusiones.
R:
Por cada ejecución de notepad se crean una serie de procesos que son mostrados en el task manager entre los cuales se encuentran procesos realizados por el task manager, por el Explorer, por el ejecutable del programa notepad y por el prefecth de Windows. En la segunda corrida ya no se levantan los procesos del prefetch de Windows debido a que el programa ya se encuentra en el prefetch que le da mas velocidad a lo que es el arranque del sistema operativo.
Ejercicio 3
Administración de memoria ante un proceso que crece indefinidamente
1) Ejecute el programa Leakyapp, disponible en los WinUtils que se bajan del foro.
Haga click en el botón “Start Leaking”.
2) Inicie el Task Manager y haga click en el tab de Processes
3) Agregue las columnas VM Size y Mem Usage si no las tiene desplegadas en la
vista del Task Manager
4) Ordene la columna VM Size de Mayor a Menor. Observe por 10 segundos y
anote sus resultados.
R:
Leakyapp empieza a ocupar mas VM Size
5) Note que las columnas Mem Usage y VM Size están creciendo juntas. Esto es
porque el OS está permitiendo que el Working Set del proceso crezca
físicamente junto con el crecimiento virtual. En algún momento, el Working Set
será limitado, pero el tamaño virtual seguirá creciendo. Anote sus resultados
cuando esto ocurra y comente sobre esto.
R:
El tamaño de la memoria VM regresa a al tamaño de la memoria usage
6) Mientras Leakyapp está corriendo, ingrese al tab de Performance del Task
Manager, y vea que el uso del page file se muestra gráficamente en PF Usge.
7) Para acelerar el crecimiento de memoria, puede iniciar varias instancias de
LeakyApp.
8 ) Regrese al Task Manager, ingrese al tab de Processes y agregue la columna
Mem Usage Delta. Esta columna muestra el crecimiento (o reducción) en
tamaño de cada proceso.
9) A medida que las instancias de LeakyApp corren, crean presión sobre la
memoria del sistema, haciendo que el OS recorte el tamaño físico de otros
procesos para hacer espacio a los LeakyApps. Anote sus resultados en cuanto
al Mem Usage Delta.
R:
El delta de los otros procesos se empieza a poner negativo y el leakyapps se mantiene
10) Cuando el Commit Charge (en la parte inferior del Task Manager), se acerca al
límite, si su archivo de Paging está configurado para crecer dinámicamente el
sistema le mostrará un aviso indicando que está modificando los archivos de
Paging. Si no, el sistema mostrará un mensaje de error indicando “System out
of Virtual Memory”. Anote sus resultados.
R:
El número del máximo comienza a umentar a medida que el commit charge va aumentando. Cuando se llega al límite su rango aumenta. la chaché se ve disminuida. La gráfica de PF va aumentando.
11) Termine todas las instancias de LeakyApp.
Ejercicio 4
Analizando los page faults
R:
SOFT: 1346, HARD:72 SOFT: 1417, HARD:72
SOFT: 1345, HARD:72 SOFT: 1346, HARD:72 |
|
| Back to top |
|
 |
emil Usuario
Joined: 12 Jan 2009 Posts: 8 Location: Tegucigalpa, Honduras
|
Posted: Sun Mar 22, 2009 10:29 pm Post subject: |
|
|
Analizando DLLs
1) Ejecute Process Explorer
2) Cámbiese a DLL View en View->Lower Pane View
3) Ejecute Word y Excel simultáneamente
4) Examine las listas de DLL cargadas por estos dos programas, y encuentre una común entre los dos. Puede ordenar por path.
wsock32.dll
C://Windows/System32/wsock32.dll
5) Trate de borrar ese DLL desde Explorer. Anote sus resultados.
Muestra un mensaje indicando que necesito permisos para borrar el archivo
6) En Process Explorer, use search para encontrar que otros procesos tienen este DLL cargado. Anote sus resultados
Los procesos que se obtuvieron en la búsqueda fueron:
- firefox.exe
- wmdc.exe
- RoxWatchTray9.exe
- sprtcmd.exe
- EXCEL.EXE
- WINWORD.EXE
Analizando el manejo de Prefetch de Windows
1) Ejecute Filemon
2) Coloque un filtro para notepad.exe
3) Cree un directorio temporal en algún lugar, por ejemplo C:\TEMPORAL
4) Ejecute desde Start->Run, notepad c:\temporal\prueba.txt
5) Salga de Notepad
6) Ejecute Notepad de nuevo
7) En el archivo filemon.log, encuentre la creación de archivos .PF después de la primera corrida, luego el uso del archivo .PF en la segunda corrida. Anote sus resultados y presente conclusiones.
-Al utilizar Windows Vista, el Sistema Operativo indicaba un error al intentar ejecutar Filemon, por lo cual se recurrió a Windows XP.
-En la primera ejecución, los archivos “.pf” fueron abiertos por el proceso notepad.exe. En la segunda ejecución, estos archivos son utilizados por svchost.exe.
Administración de memoria ante un proceso que crece indefinidamente
1) Ejecute el programa Leakyapp, disponible en los WinUtils que se bajan del foro. Haga click en el botón “Start Leaking”.
2) Inicie el Task Manager y haga click en el tab de Processes
3) Agregue las columnas VM Size y Mem Usage si no las tiene desplegadas en la vista del Task Manager.
4) Ordene la columna VM Size de Mayor a Menor. Observe por 10 segundos y
anote sus resultados.
Para el proceso LeakyApp.exe, el tamaño de memoria virtual y de memoria usada, muestran un incremento constante hasta llegar a ser el proceso con mayor memoria asignada.
Para los demás procesos Los demás procesos se mantuvieron casi iguales.
5) Note que las columnas Mem Usage y VM Size están creciendo juntas. Esto es porque el OS está permitiendo que el Working Set del proceso crezca físicamente junto con el crecimiento virtual. En algún momento, el Working Set será limitado, pero el tamaño virtual seguirá creciendo. Anote sus resultados cuando esto ocurra y comente sobre esto.
Se llega a un punto en que la memoria usada de los demás procesos disminuye pero el tamaño de la memoria virtual de leakyapp.exe sigue creciendo.
6) Mientras Leakyapp está corriendo, ingrese al tab de Performance del Task
Manager, y vea que el uso del page file se muestra gráficamente en PF Usge.
Cuando se agregan instancias del leakyapp se ve en la gráfica el crecimiento de la misma.
7) Para acelerar el crecimiento de memoria, puede iniciar varias instancias de
LeakyApp.
Inicié 10 instancias de LeakyApp.
8 ) Regrese al Task Manager, ingrese al tab de Processes y agregue la columna
Mem Usage Delta. Esta columna muestra el crecimiento (o reducción) en
tamaño de cada proceso.
9) A medida que las instancias de LeakyApp corren, crean presión sobre la
memoria del sistema, haciendo que el OS recorte el tamaño físico de otros
procesos para hacer espacio a los LeakyApps. Anote sus resultados en cuanto
al Mem Usage Delta.
Cada cierta cantidad de tiempo se reduce el tamaño de los procesos para así distribuir espacio a LakyApp.exe.
En esta columna, el crecimiento del tamaño de los procesos del LeakyApp.exe se mantiene entre 360K y 400K.
10) Cuando el Commit Charge (en la parte inferior del Task Manager), se acerca al
límite, si su archivo de Paging está configurado para crecer dinámicamente el
sistema le mostrará un aviso indicando que está modificando los archivos de
Paging. Si no, el sistema mostrará un mensaje de error indicando “System out
of Virtual Memory”. Anote sus resultados.
Se nota que el Commit Charge aumenta y la grafica de PF Usage se encuentra al máximo.
La computadora comienza a ponerse cada vez más lenta hasta el punto en que muestra un mensaje indicando que la memoria es insuficiente.
Analizando los page faults
1) Abra una ventana de cmd.exe
2) Ejecute desde la línea de comandos el comando pfmon notepad.
3) Observe la ejecución que sale en la pantalla. Un soft fault indica un page fault que fue satisfecho con una página descartada, pero todavía presente en memoria. Un hard fault involucra una lectura de disco. Anote el comportamiento de esta instancia de notepad, y luego cierre notepad.
Total Faults 1013 -> (Soft 937, Hard 76)
4) Ejecute notepad otra vez. Anote el comportamiento, analice las diferencias y
escriba sus resultados.
Resultaron:
Total Faults 998 -> (Soft 923, Hard 75)
Podemos notar que la diferencia de soft y hard faults no es mucha. En varias pruebas que realice el número de HARD fauts dio el mismo resultado. Y el numero de SOFT faults no era mucha la diferencia. |
|
| Back to top |
|
 |
Elyaer Usuario
Joined: 15 Jan 2009 Posts: 9
|
Posted: Sun Mar 22, 2009 10:31 pm Post subject: |
|
|
Analizando DLLs
1) Ejecute Process Explorer
2) Cámbiese a DLL View en View->Lower Pane View
3) Ejecute Word y Excel simultáneamente
4) Examine las listas de DLL cargadas por estos dos programas, y encuentre una
común entre los dos. Puede ordenar por path.
Para la prueba escogi MSORES.DLL se encuentra aqui:
E:\Program Files\Common Files\Microsoft Shared\OFFICE12\MSORES.DLL
5) Trate de borrar ese DLL desde Explorer. Anote sus resultados.
Salio una pequeña pantalla que dice:
Error deleting file or folder
Cannot Delete MSORES: Acces is Denied
Make sure the disk is not full or write protected and that the file is not currently in use.
6) En Process Explorer, use search para encontrar que otros procesos tienen este
DLL cargado. Anote sus resultados.
Al usar el search este muestra que EXCEL.EXE y WINWORD.EXE estan usando el DLL buscado.
Analizando el manejo de Prefetch de Windows
Para esta parte, necesita el Filemon de Sysinternals, disponible en el Skydrive de la clase.
1) Ejecute Filemon
2) Coloque un filtro para notepad.exe
3) Cree un directorio temporal en algún lugar, por ejemplo C:\TEMPORAL
4) Ejecute desde Start->Run, notepad c:\temporal\prueba.txt
5) Salga de Notepad
6) Ejecute Notepad de nuevo
7) En el archivo filemon.log, encuentre la creación de archivos .PF después de la
primera corrida, luego el uso del archivo .PF en la segunda corrida. Anote sus
resultados y presente conclusiones.
Primera corrida:
Intento Abrir prueba.txt en C:\temporal\prueba.txt
29040 7:30:48 PM notepad.exe:2808 OPEN E:\WINDOWS\Prefetch\NOTEPAD.EXE-2F2D61E1.pf SUCCESS Options: Open Access: All
29041 7:30:48 PM notepad.exe:2808 READ E: SUCCESS Offset: 8192 Length: 4096
29042 7:30:48 PM notepad.exe:2808 READ E: SUCCESS Offset: 195780608 Length: 4096
29043 7:30:48 PM notepad.exe:2808 READ E: SUCCESS Offset: 28504064 Length: 4096
29044 7:30:48 PM notepad.exe:2808 QUERY INFORMATION E:\WINDOWS\Prefetch\NOTEPAD.EXE-2F2D61E1.pf SUCCESS Length: 18552
29045 7:30:48 PM notepad.exe:2808 READ E:\WINDOWS\Prefetch\NOTEPAD.EXE-2F2D61E1.pf SUCCESS Offset: 0 Length: 18552
Segun los requests:
1. OPEN
2. QUERY INFORMATION
3. READ
Como no lo encontro entonces lo creo y lo guardo
29337 7:30:59 PM svchost.exe:1016 OPEN E:\WINDOWS\Prefetch\NOTEPAD.EXE-2F2D61E1.pf SUCCESS Options: Open Access: All
29338 7:30:59 PM svchost.exe:1016 QUERY INFORMATION E:\WINDOWS\Prefetch\NOTEPAD.EXE-2F2D61E1.pf SUCCESS Length: 18552
29339 7:30:59 PM svchost.exe:1016 QUERY INFORMATION E:\WINDOWS\Prefetch\NOTEPAD.EXE-2F2D61E1.pf SUCCESS Length: 18552
29340 7:30:59 PM svchost.exe:1016 CLOSE E:\WINDOWS\Prefetch\NOTEPAD.EXE-2F2D61E1.pf SUCCESS
29345 7:30:59 PM svchost.exe:1016 CREATE E:\WINDOWS\Prefetch\NOTEPAD.EXE-2F2D61E1.pf SUCCESS Options: OverwriteIf Access: All
29346 7:30:59 PM svchost.exe:1016 WRITE E:\WINDOWS\Prefetch\NOTEPAD.EXE-2F2D61E1.pf SUCCESS Offset: 0 Length: 17024
29347 7:30:59 PM svchost.exe:1016 CLOSE E:\WINDOWS\Prefetch\NOTEPAD.EXE-2F2D61E1.pf SUCCESS
segun los requests:
1. OPEN
2. QUERY INFORMATION
3. QUERY INFORMATION
4. CLOSE
5. CREATE
6. WRITE
7. CLOSE
Segunda Corrida:
Simplemente abre notepad sin intentar guardar nada es un documento en blanco
29428 7:31:10 PM notepad.exe:3324 OPEN E:\WINDOWS\Prefetch\NOTEPAD.EXE-2F2D61E1.pf SUCCESS Options: Open Access: All
29429 7:31:10 PM notepad.exe:3324 QUERY INFORMATION E:\WINDOWS\Prefetch\NOTEPAD.EXE-2F2D61E1.pf SUCCESS Length: 17024
29430 7:31:10 PM notepad.exe:3324 READ E:\WINDOWS\Prefetch\NOTEPAD.EXE-2F2D61E1.pf SUCCESS Offset: 0 Length: 17024
Segun los requests:
1. OPEN
2. QUERY INFORMATION
3. READ
CONCLUSION:
Investigue un poco acerca de los archivos .PF y encontre esto:
Prefetch (also called Scenario) File
Prefetch files are essentially a resource list. Any time a program is executed, Windows XP will attempt to find a pre-existing prefetch file, and if it's available, it will use it to make the application load up faster. The file will also be updated after it is accessed, so that the more an application is used, the bigger the drop in loading time (to a point). If the application doesn't already have an associated prefetch file, Windows XP will create one. Those files are stored in the \%windir%\prefetch directory. One important note is that the process depends on the Task Scheduler service. If the Task Scheduler service isn't running, the prefetch mechanism isn't used and the files won't be read or updated.
En la practica esto fue lo que vimos cuando se quizo abrir prueba.txt quizo buscar el pf de ese archivo como no existe significa entonces que el archivo no existe, entonces el sistema operativo crea el txt y luego el pf, al momento de salvar el archivo el sistema operativo viene y actualiza el pf. Para cada cosa que hagamos que maneje archivos fisicos se creara un archivo pf que su funcion es la de acelerar el proceso de carga de dicho archivo.
Administración de memoria ante un proceso que crece indefinidamente
Para esta parte, necesita el programa Leakyapp.exe, disponible en el Skydrive del
laboratorio.
1) Ejecute el programa Leakyapp, disponible en los WinUtils que se bajan del foro.
Haga click en el botón “Start Leaking”.
2) Inicie el Task Manager y haga click en el tab de Processes
3) Agregue las columnas VM Size y Mem Usage si no las tiene desplegadas en la
vista del Task Manager
4) Ordene la columna VM Size de Mayor a Menor. Observe por 10 segundos y
anote sus resultados.
La aplicacion LEAKYAPP.exe poco a poco va incrementando su tamaño y esto se refleja en la MEM USAGE y VM SIZE porque aumentan al mismo tiempo.
5) Note que las columnas Mem Usage y VM Size están creciendo juntas. Esto es
porque el OS está permitiendo que el Working Set del proceso crezca
físicamente junto con el crecimiento virtual. En algún momento, el Working Set
será limitado, pero el tamaño virtual seguirá creciendo. Anote sus resultados
cuando esto ocurra y comente sobre esto.
Lo que sucedio fue que el MEM Usage llego como hasta 90,000 y luego se bajo a 70,000 luego a 60,000 y esta en un ciclo aumenta un poco luego se decrementa y sigue asi mientras que el VM Size sigue aumentando
6) Mientras Leakyapp está corriendo, ingrese al tab de Performance del Task
Manager, y vea que el uso del page file se muestra gráficamente en PF Usge.
7) Para acelerar el crecimiento de memoria, puede iniciar varias instancias de
LeakyApp.
Regrese al Task Manager, ingrese al tab de Processes y agregue la columna
Mem Usage Delta. Esta columna muestra el crecimiento (o reducción) en
tamaño de cada proceso.
El valor que mas se repite es 360 kb de aumento y de reduccion 4,000 kb que no se dan tan seguido pasan como 20 segundos para que se vea una reduccion.
9) A medida que las instancias de LeakyApp corren, crean presión sobre la
memoria del sistema, haciendo que el OS recorte el tamaño físico de otros
procesos para hacer espacio a los LeakyApps. Anote sus resultados en cuanto
al Mem Usage Delta.
Pues el valor de aumento se mantuvo repititiendo siempre 360 kb en promedio pero las reducciones son mas seguidas y de valores distintos de 100 kb hasta 2,000 kb
10) Cuando el Commit Charge (en la parte inferior del Task Manager), se acerca al
límite, si su archivo de Paging está configurado para crecer dinámicamente el
sistema le mostrará un aviso indicando que está modificando los archivos de
Paging. Si no, el sistema mostrará un mensaje de error indicando “System out
of Virtual Memory”. Anote sus resultados.
El sistema no me mostros ningun aviso de que esta modificando los archivos de paging, porque no vi ningun display ni mensaje pero si se que se aumento porque generalmente esta de 1100 y ahora esta en 1580.
11) Termine todas las instancias de LeakyApp.
Analizando los page faults
Para esta parte, necesita bajar los XP Support Tools (busque en Google esa frase)
directamente desde Microsoft e instalar pfmon.exe.
1) Abra una ventana de cmd.exe
2) Ejecute desde la línea de comandos el comando pfmon notepad
3) Observe la ejecución que sale en la pantalla. Un soft fault indica un page fault
que fue satisfecho con una página descartada, pero todavía presente en
memoria. Un hard fault involucra una lectura de disco. Anote el
comportamiento de esta instancia de notepad, y luego cierre notepad.
SOFT: controlfp : control87+0x00000039
SOFT: lock+0x1270 : lock+0x0000126F
SOFT: clock+0x4a : clock+0x00000049
SOFT: yn+0x12b : yn+0x0000012B
SOFT: yn+0x153 : 77c637c4
SOFT: _unDNameEx+0x790 : _unDNameEx+0x00000790
SOFT: UserClientDllInitialize : UserClientDllInitialize
SOFT: UserClientDllInitialize+0x76d : UserClientDllInitialize+0x0000076C
SOFT: wcscpy+0xb : 7e412e64
SOFT: UserClientDllInitialize+0x182 : 00350652
SOFT: GdiDllInitialize : DdEntry19+0x0000156A
SOFT: ScaleWindowExtEx+0x180 : ScaleWindowExtEx+0x00000180
SOFT: TextOutW+0x90 : TextOutW+0x00000090
SOFT: GdiValidateHandle+0xbf : GdiValidateHandle+0x000000BE
SOFT: ClientThreadSetup+0x134 : ClientThreadSetup+0x00000134
SOFT: GdiProcessSetup+0xef : 00530094
SOFT: GdiValidateHandle+0x75 : 0043010a
SOFT: CreateBitmap+0x6d : 0043d32a
SOFT: SelectObject+0xc9 : 0043c39a
SOFT: IsChild+0x32f : IsChild+0x0000032E
SOFT: Ordinal422+0x11d : Ordinal422+0x0000011C
SOFT: Ordinal475+0x642 : Ordinal475+0x00000641
SOFT: GetMUILanguage+0x11f : GetMUILanguage+0x0000011F
SOFT: 7745b858 : 7745b858
SOFT: RtlpApplyLengthFunction : RtlpApplyLengthFunction
SOFT: ValidateLocale+0xa1cc : ValidateLocale+0x0000A1CC
SOFT: RtlReAllocateHeap+0x758 : 000a4004
SOFT: RtlAllocateHeap+0x232 : 00380000
SOFT: RtlAllocateHeap+0x232 : 00380000
SOFT: RtlAllocateHeap+0x232 : 00380000
SOFT: RtlCreateActivationContext+0x1fa : 00390000
SOFT: DllInstall+0xae4 : DllInstall+0x00000AE4
SOFT: GetDeviceCaps+0x37 : 00442dfa
SOFT: RegisterClassExW+0x81 : RegisterClassExW+0x00000081
SOFT: TrackMouseEvent+0x11 : TrackMouseEvent+0x00000011
SOFT: DllInstall+0xd6e : DllInstall+0x00000D70
SOFT: Ordinal384+0x381d8 : Ordinal384+0x000381D8
SOFT: Ordinal384+0x36bf7 : Ordinal384+0x00036BF6
SOFT: RegCloseKey+0x121 : Ordinal249+0x000029A0
SOFT: CreateToolbar+0x18fc : CreateToolbar+0x000018FC
SOFT: RtlHashUnicodeString+0x199 : 0039185c
SOFT: Ordinal389+0xb15d : Ordinal389+0x0000B15D
SOFT: Ordinal389+0x5aa8 : Ordinal389+0x00005AA7
SOFT: DrawStatusTextA+0x12b3 : DrawStatusTextA+0x000012B2
SOFT: DrawStatusTextA+0x12f8 : DrawStatusTextA+0x000012FA
SOFT: Ordinal384+0x27bc1 : Ordinal384+0x00027BC0
SOFT: Ordinal384+0x23c17 : Ordinal384+0x00023C16
SOFT: Ordinal384+0x1f548 : Ordinal384+0x0001F548
SOFT: Ordinal384+0x1b2b0 : Ordinal384+0x0001B2B0
SOFT: CreateUpDownControl+0xf2f : CreateUpDownControl+0x00000F2F
SOFT: Ordinal384+0x1912c : Ordinal384+0x0001912C
SOFT: Ordinal384+0x1914e : Ordinal384+0x00019150
SOFT: Ordinal384+0x17ce3 : Ordinal384+0x00017CE2
SOFT: Ordinal384+0x152c : Ordinal384+0x0000152C
SOFT: Ordinal384+0xe98c : Ordinal384+0x0000E98C
SOFT: Ordinal389+0x1707 : Ordinal389+0x00001707
SOFT: Ordinal389+0x12c : Ordinal389+0x0000012B
SOFT: Ordinal384+0xdb19 : Ordinal384+0x0000DB18
SOFT: Ordinal384+0xacaf : Ordinal384+0x0000ACAE
SOFT: Ordinal384+0x8d74 : Ordinal384+0x00008D74
SOFT: Ordinal384+0x5bac : Ordinal384+0x00005BAC
SOFT: Ordinal384+0x4087 : Ordinal384+0x00004086
SOFT: Ordinal384+0x4156 : Ordinal384+0x00004156
SOFT: DrawShadowText+0x1549 : DrawShadowText+0x00001549
SOFT: Ordinal733+0x366f : Ordinal733+0x0000366F
SOFT: Ordinal733+0x367d : 7cbd092c
HARD: Ordinal733+0x367d : 7cbd092c
SOFT: Ordinal733+0xec8 : Ordinal733+0x00000EC7
SOFT: Ordinal733+0xf3e : 7cbd4788
HARD: Ordinal733+0xf43 : 7cbd4208
SOFT: Ordinal733+0x1347 : Ordinal733+0x00001347
SOFT: Ordinal733+0x233 : Ordinal733+0x00000233
SOFT: msize : msize
HARD: LdrAlternateResourcesEnabled+0x2543 : LdrAlternateResourcesEnabled+0x00002
543
SOFT: LdrAlternateResourcesEnabled+0x5431 : LdrAlternateResourcesEnabled+0x00005
431
SOFT: Ordinal733+0x2416 : Ordinal733+0x00002415
SOFT: Ordinal733+0x2cde : Ordinal517+0x0000525C
SOFT: Ordinal733+0x2cea : 7cbd3e50
SOFT: Ordinal733+0x2cfc : 7cbd1008
HARD: Ordinal733+0x2cfc : 7cbd1008
SOFT: Ordinal733+0x2eea : 7cbd2000
HARD: Ordinal733+0x2eea : 7cbd2000
HARD: Ordinal733+0x30b6 : 7cbd3034
SOFT: RtlInitUnicodeString+0x1b : Ordinal517+0x0001257C
SOFT: RtlAllocateHeap+0x232 : 01020000
SOFT: RtlTimeToTimeFields+0x400 : 0123800c
SOFT: RtlTimeToTimeFields+0x400 : 0123c73c
SOFT: RtlTimeToTimeFields+0x400 : 01249864
SOFT: DbgSetDebugFilterState+0x10 : DbgSetDebugFilterState+0x0000000F
SOFT: DbgSetDebugFilterState+0x58 : 7c97f944
SOFT: LdrAlternateResourcesEnabled : RtlDeleteAce+0x0000E93D
SOFT: RtlGetLengthWithoutLastFullDosOrNtPathElement+0x231 : 012523d0
SOFT: RtlCreateActivationContext+0x1fa : 00380000
SOFT: RtlInitString+0x1b : Ordinal517+0x0000F14C
SOFT: OpenPrinterW+0x414 : OpenPrinterW+0x00000413
SOFT: RtlCreateHeap+0x212 : 003a0044
SOFT: RtlReAllocateHeap+0x758 : 003a1004
SOFT: RtlFillMemoryUlong+0x10 : 003a2000
SOFT: wcslen : wcslen
SOFT: wcsicmp : wcsdup+0x00000038
SOFT: __unguarded_readlc_active_add_func+0x327 : __unguarded_readlc_active_add_f
unc+0x00000327
SOFT: mmDrvInstall+0x474 : mmDrvInstall+0x00000474
SOFT: PlaySoundW+0xfa : PlaySoundW+0x000000F9
SOFT: wcsncmp+0x2bc : 00840000
SOFT: lstrcmpW+0xc6 : 00230194
SOFT: LdrAlternateResourcesEnabled+0x56c7 : LdrAlternateResourcesEnabled+0x00005
6C7
SOFT: CoTaskMemAlloc+0x59 : CoTaskMemAlloc+0x00000058
SOFT: CoFreeUnusedLibrariesEx+0xf82 : CoFreeUnusedLibrariesEx+0x00000F81
SOFT: CoFreeUnusedLibrariesEx+0x9d0 : CoFreeUnusedLibrariesEx+0x000009CF
SOFT: RtlReAllocateHeap+0x758 : 000a5004
SOFT: AbortSystemShutdownW+0x4a47 : AbortSystemShutdownW+0x00004A47
SOFT: RegOpenKeyExA+0x77 : 774ed324
SOFT: getenv : getenv
SOFT: mbsnbicoll : mbsnbicmp+0x00000175
SOFT: 77be2f89 : 77be2f88
SOFT: RtlReAllocateHeap+0x758 : 000a6004
SOFT: RtlEqualUnicodeString+0x10 : 7f6f3034
SOFT: IsValidLocale+0x369 : IsValidLocale+0x00000369
SOFT: SetConsoleInputExeNameW+0x84 : SetConsoleInputExeNameW+0x00000083
SOFT: RtlReAllocateHeap+0x758 : 000a7004
SOFT: RtlReAllocateHeap+0x758 : 000a8004
SOFT: LoadCursorW+0x71 : 77bf3098
SOFT: initterm+0xb : 76a62334
HARD: Ordinal127+0x2288 : 76a62980
SOFT: operator new : system+0x000008FD
SOFT: wcslen+0x16 : Ordinal127+0x00001839
SOFT: wcslen+0x16 : Ordinal149+0x0000056F
SOFT: LoadCursorW+0x71 : 76a6c220
SOFT: RtlReAllocateHeap+0x758 : 00034004
SOFT: GetThemeTextMetrics+0xce5 : GetThemeTextMetrics+0x00000CE5
SOFT: GetThemeTextMetrics+0xd89 : GetThemeTextMetrics+0x00000D8D
SOFT: GetDeviceCaps+0x37 : 0043719a
SOFT: wcsncpy : wcsncmp+0x0000003B
SOFT: _set_app_type : _set_app_type
SOFT: 01007412 : 0100ab9c
SOFT: 01007426 : 01009ab8
HARD: 01007134 : 01009604
SOFT: 01002936 : 01002936
SOFT: ReplyMessage+0x1f : ReplyMessage+0x0000001F
SOFT: CharNextW+0x44 : CharNextW+0x00000044
SOFT: IsThemeActive+0x12bb : IsThemeActive+0x000012BB
SOFT: IsThemeActive+0x154d : IsThemeActive+0x0000154D
SOFT: Ordinal61+0x2d0f : Ordinal61+0x00002D0E
SOFT: DrawThemeBackgroundEx+0x163e : DrawThemeBackgroundEx+0x0000163D
SOFT: GetThemeBackgroundRegion+0xb58 : GetThemeBackgroundRegion+0x00000B57
SOFT: GetThemeColor+0xc2 : GetThemeColor+0x000000C1
SOFT: CreateFontIndirectW : CreateFontIndirectW
SOFT: GetBitmapBits+0x1c : GetBitmapBits+0x0000001C
SOFT: DrawThemeText+0xbd7 : DrawThemeText+0x00000BD6
SOFT: IsBadReadPtr+0x39 : 008c0000
SOFT: DrawThemeBackgroundEx+0x1d28 : DrawThemeBackgroundEx+0x00001D27
SOFT: GetThemeBackgroundRegion+0xa1d : 008f2434
SOFT: GetThemeBackgroundRegion+0x986 : 008f44ac
SOFT: GetThemeBackgroundRegion+0x986 : 008f5078
SOFT: GetThemeBackgroundRegion+0x986 : 008f638c
SOFT: GetThemeBackgroundRegion+0x986 : 008f70bc
SOFT: GetThemeBackgroundRegion+0x986 : 008f8548
SOFT: GetThemeBackgroundRegion+0x986 : 008f9060
SOFT: GetThemeBackgroundRegion+0x986 : 008fa110
SOFT: GetThemeBackgroundRegion+0x986 : 008fb210
SOFT: GetThemeBackgroundRegion+0x986 : 008fc310
SOFT: GetThemeBackgroundRegion+0x986 : 008fd6b4
SOFT: GetThemeBackgroundRegion+0x986 : 008fe508
SOFT: GetThemeBackgroundRegion+0x986 : 008ff020
SOFT: GetThemeBackgroundRegion+0x986 : 009000c4
SOFT: GetThemeBackgroundRegion+0x986 : 009010bc
SOFT: GetThemeBackgroundRegion+0x986 : 00902304
SOFT: GetThemeBackgroundRegion+0x986 : 009031a8
SOFT: Ordinal25+0x2f3 : Ordinal25+0x000002F3
SOFT: IsThemeBackgroundPartiallyTransparent : IsThemeBackgroundPartiallyTranspar
ent
SOFT: GetThemeBackgroundRegion+0xa1d : 008e6de0
SOFT: GetThemeBackgroundRegion+0x986 : 008e79c4
SOFT: GetThemeBackgroundRegion+0x986 : 008e810c
SOFT: Ordinal25+0x298 : 008e9028
SOFT: 01004565 : 01004564
SOFT: LoadCursorW+0x71 : 01012fd8
SOFT: LoadCursorW+0xa2 : 01013000
SOFT: LocalSize : LocalSize
SOFT: LoadAcceleratorsW : LoadAcceleratorsW
SOFT: CreateAcceleratorTableW+0xf : CreateAcceleratorTableW+0x0000000F
SOFT: CreateAcceleratorTableW+0xf : 01011dc8
SOFT: LoadIconW : LoadIconW
SOFT: EnumDisplayDevicesA+0x774 : EnumDisplayDevicesA+0x00000773
SOFT: DestroyMenu+0x45 : DestroyMenu+0x00000045
SOFT: DestroyMenu+0x58 : 00351568
SOFT: LookupIconIdFromDirectoryEx+0x310 : 010104e8
SOFT: CreateDIBitmap+0x42 : 0043ef3a
SOFT: SaveDC : SaveDC
SOFT: CreateDIBitmap+0x42 : 0044496a
SOFT: CreateBitmap+0x6d : 0043beea
SOFT: SelectObject+0xc9 : 0043aa3a
SOFT: DdEntry19+0xe7a : DdEntry19+0x00000E7A
SOFT: GetRandomRgn+0x38 : GetRandomRgn+0x00000038
SOFT: LoadImageW+0x5a : LoadImageW+0x0000005A
SOFT: CreateBitmap+0x6d : 00438efa
SOFT: RtlHashUnicodeString+0x199 : 00091868
SOFT: CreateEventA+0x27 : CreateEventA+0x00000027
SOFT: ConvertDefaultLocale+0xb3 : ConvertDefaultLocale+0x000000B3
SOFT: 01003c92 : 01003c92
SOFT: RegCreateKeyW : LsaLookupPrivilegeValue+0x000000D7
SOFT: RtlReAllocateHeap+0x758 : 000a9004
SOFT: RtlAllocateHeap+0x232 : 003b0000
SOFT: RtlTimeToTimeFields+0x400 : 1000d00c
SOFT: OpenThread+0xbd : OpenThread+0x000000BC
SOFT: GlobalFlags+0x1c4 : GlobalFlags+0x000001C4
SOFT: RtlCreateActivationContext+0x1fa : 003b0000
SOFT: LdrQueryImageFileExecutionOptions+0x61f : 100080f0
SOFT: RtlDeleteAce+0xabb8 : RtlDeleteAce+0x0000ABB7
HARD: RtlCompareUnicodeString+0x30a : 100080f0
SOFT: RtlCompareUnicodeString+0x30a : 10008000
SOFT: LdrQueryImageFileExecutionOptions+0x535 : 1000aa50
HARD: RtlDoesFileExists_U+0x50 : 1000aa50
SOFT: 10001649 : 10001648
SOFT: 10002c36 : 10002c36
SOFT: RtlCreateHeap+0x212 : 00910044
SOFT: RtlReAllocateHeap+0x758 : 00911004
SOFT: RtlFillMemoryUlong+0x10 : 00912000
SOFT: 1000280a : 1000b750
SOFT: 10003735 : 10003734
SOFT: 10004d89 : 10004d88
SOFT: 10005a00 : 10005a00
SOFT: 10006120 : 10006120
SOFT: 10007180 : 10007180
SOFT: RtlReAllocateHeap+0x758 : 00913004
SOFT: 1000100b : 1000c018
SOFT: GetScrollInfo+0x2a1 : 00577164
SOFT: GetOpenClipboardWindow+0x4b : GetOpenClipboardWindow+0x0000004B
SOFT: GetDC+0xb9 : 005a3ef8
SOFT: ScrollDC+0x47 : 005bf880
SOFT: GetWindowThreadProcessId+0x73 : 00291ce8
SOFT: GetClassLongW : SetWindowPos+0x000000F5
SOFT: DeleteMenu+0x11d : 00540712
SOFT: DeleteObject+0x38 : 0043590a
SOFT: IsWindow+0x173 : 0059be34
SOFT: GetWindowInfo : GetWindowInfo
SOFT: 7e41855f : 002900fa
SOFT: SetWindowPlacement : SetWindowPlacement
SOFT: DragAcceptFiles : SHGetFileInfoW+0x000001B5
SOFT: Ordinal44+0x777 : Ordinal44+0x00000777
SOFT: Ordinal384+0x7f1f : Ordinal384+0x00007F1E
SOFT: LocalUnlock+0x137 : LocalUnlock+0x00000137
SOFT: Ordinal389+0xeb4f : Ordinal389+0x0000EB4F
SOFT: Ordinal249+0x3f68 : 7745da84
SOFT: GetThemeBackgroundRegion+0xa1d : 008d5a84
SOFT: Ordinal384+0x4234b : Ordinal384+0x0004234A
SOFT: SetPropW+0x3d : 005a147e
SOFT: RtlReAllocateHeap+0x758 : 00035004
SOFT: Ordinal384+0x3f3e1 : Ordinal384+0x0003F3E0
SOFT: Ordinal384+0x37a4b : Ordinal384+0x00037A4A
SOFT: Ordinal384+0x6a88 : Ordinal384+0x00006A88
SOFT: GetTextExtentPoint32A+0xce : GetTextExtentPoint32A+0x000000CE
SOFT: CreateDCW+0x38 : CreateDCW+0x00000038
SOFT: GetSystemPaletteUse+0x1c9 : GetSystemPaletteUse+0x000001C8
SOFT: Ordinal384+0x412d5 : Ordinal384+0x000412D4
SOFT: Ordinal384+0x40729 : Ordinal384+0x00040728
SOFT: Ordinal384+0x3a530 : Ordinal384+0x0003A530
SOFT: GetThemeBackgroundRegion+0xa1d : 008de24c
SOFT: GetThemeBackgroundRegion+0x986 : 008df6a0
SOFT: GetThemeBackgroundRegion+0x986 : 008e01a0
SOFT: GetThemeBackgroundRegion+0x986 : 008e1124
SOFT: DrawThemeEdge+0xc6e : DrawThemeEdge+0x00000C6D
SOFT: Ordinal384+0x3ee95 : Ordinal384+0x0003EE94
SOFT: CreateStatusWindowW : CreateStatusWindowW
SOFT: RtlReAllocateHeap+0x758 : 000aa004
SOFT: GetDC+0x1c1 : 0059c004
SOFT: SetPropW+0x3d : 005b7426
SOFT: MoveToEx+0x1cb : 00532ad8
SOFT: PropertySheetA+0x58 : PropertySheetA+0x00000057
SOFT: snwprintf : snwprintf
SOFT: wscanf+0xf0e : wscanf+0x00000F0E
SOFT: wscanf+0xf8e : ctype+0x00001F40
SOFT: fputs+0x7c : fputs+0x0000007B
SOFT: fputs+0x12d : fputs+0x0000012D
SOFT: mbtowc : mbtowc
SOFT: 7e41855f : 00292d2e
SOFT: SetDCBrushColor+0xf0 : SetDCBrushColor+0x000000F0
SOFT: GetCharABCWidthsA : GetTextExtentExPointI+0x0000016E
SOFT: 5b2a27af : 008f3610
SOFT: ftol : ftol
SOFT: ScrollWindowEx+0x8d : ScrollWindowEx+0x0000008D
SOFT: Ordinal384+0x95c0 : Ordinal384+0x000095C0
SOFT: Ordinal358 : Ordinal358
SOFT: DrawThemeEdge+0x166a : DrawThemeEdge+0x00001669
SOFT: Ordinal61+0x2353 : Ordinal61+0x00002352
SOFT: GetBkMode : CloseEnhMetaFile+0x00000606
SOFT: DdeConnectList+0xf6c : DdeConnectList+0x00000F6C
SOFT: DrawThemeEdge+0x208a : DrawThemeEdge+0x00002089
SOFT: Ordinal61+0xe43 : Ordinal61+0x00000E42
HARD: Ordinal61+0x5d2a : Ordinal61+0x00005D2A
SOFT: Ordinal61+0x5ca6 : Ordinal61+0x00005CA6
Total Faults: 819
Hard: 61
soft: 758
4) Ejecute notepad otra vez. Anote el comportamiento, analice las diferencias y
escriba sus resultados.
SOFT: IsValidLocale+0x369 : IsValidLocale+0x00000369
SOFT: SetConsoleInputExeNameW+0x84 : SetConsoleInputExeNameW+0x00000083
SOFT: RtlReAllocateHeap+0x758 : 000a7004
SOFT: RtlReAllocateHeap+0x758 : 000a8004
SOFT: LoadCursorW+0x71 : 77bf3098
SOFT: initterm+0xb : 76a62334
HARD: Ordinal127+0x2288 : 76a62980
SOFT: operator new : system+0x000008FD
SOFT: wcslen+0x16 : Ordinal127+0x00001839
SOFT: wcslen+0x16 : Ordinal149+0x0000056F
SOFT: LoadCursorW+0x71 : 76a6c220
SOFT: RtlReAllocateHeap+0x758 : 00034004
SOFT: GetThemeTextMetrics+0xce5 : GetThemeTextMetrics+0x00000CE5
SOFT: GetThemeTextMetrics+0xd89 : GetThemeTextMetrics+0x00000D8D
SOFT: wcsncpy : wcsncmp+0x0000003B
SOFT: _set_app_type : _set_app_type
SOFT: 01007412 : 0100ab9c
SOFT: 01007426 : 01009ab8
HARD: 01007134 : 01009604
SOFT: 01002936 : 01002936
SOFT: ReplyMessage+0x1f : ReplyMessage+0x0000001F
SOFT: CharNextW+0x44 : CharNextW+0x00000044
SOFT: IsThemeActive+0x12bb : IsThemeActive+0x000012BB
SOFT: IsThemeActive+0x154d : IsThemeActive+0x0000154D
SOFT: Ordinal61+0x2d0f : Ordinal61+0x00002D0E
SOFT: DrawThemeBackgroundEx+0x163e : DrawThemeBackgroundEx+0x0000163D
SOFT: GetThemeBackgroundRegion+0xb58 : GetThemeBackgroundRegion+0x00000B57
SOFT: GetThemeColor+0xc2 : GetThemeColor+0x000000C1
SOFT: CreateFontIndirectW : CreateFontIndirectW
SOFT: GetBitmapBits+0x1c : GetBitmapBits+0x0000001C
SOFT: DrawThemeText+0xbd7 : DrawThemeText+0x00000BD6
SOFT: IsBadReadPtr+0x39 : 008c0000
SOFT: DrawThemeBackgroundEx+0x1d28 : DrawThemeBackgroundEx+0x00001D27
SOFT: GetThemeBackgroundRegion+0xa1d : 008f2434
SOFT: GetThemeBackgroundRegion+0x986 : 008f44ac
SOFT: GetThemeBackgroundRegion+0x986 : 008f5078
SOFT: GetThemeBackgroundRegion+0x986 : 008f638c
SOFT: GetThemeBackgroundRegion+0x986 : 008f70bc
SOFT: GetThemeBackgroundRegion+0x986 : 008f8548
SOFT: GetThemeBackgroundRegion+0x986 : 008f9060
SOFT: GetThemeBackgroundRegion+0x986 : 008fa110
SOFT: GetThemeBackgroundRegion+0x986 : 008fb210
SOFT: GetThemeBackgroundRegion+0x986 : 008fc310
SOFT: GetThemeBackgroundRegion+0x986 : 008fd6b4
SOFT: GetThemeBackgroundRegion+0x986 : 008fe508
SOFT: GetThemeBackgroundRegion+0x986 : 008ff020
SOFT: GetThemeBackgroundRegion+0x986 : 009000c4
SOFT: GetThemeBackgroundRegion+0x986 : 009010bc
SOFT: GetThemeBackgroundRegion+0x986 : 00902304
SOFT: GetThemeBackgroundRegion+0x986 : 009031a8
SOFT: Ordinal25+0x2f3 : Ordinal25+0x000002F3
SOFT: IsThemeBackgroundPartiallyTransparent : IsThemeBackgroundPartiallyTranspar
ent
SOFT: GetThemeBackgroundRegion+0xa1d : 008e6de0
SOFT: GetThemeBackgroundRegion+0x986 : 008e79c4
SOFT: GetThemeBackgroundRegion+0x986 : 008e810c
SOFT: Ordinal25+0x298 : 008e9028
SOFT: 01004565 : 01004564
SOFT: LoadCursorW+0x71 : 01012fd8
SOFT: LoadCursorW+0xa2 : 01013000
SOFT: LocalSize : LocalSize
SOFT: LoadAcceleratorsW : LoadAcceleratorsW
SOFT: CreateAcceleratorTableW+0xf : CreateAcceleratorTableW+0x0000000F
SOFT: CreateAcceleratorTableW+0xf : 01011dc8
SOFT: LoadIconW : LoadIconW
SOFT: EnumDisplayDevicesA+0x774 : EnumDisplayDevicesA+0x00000773
SOFT: DestroyMenu+0x45 : DestroyMenu+0x00000045
SOFT: DestroyMenu+0x58 : 00351568
SOFT: LookupIconIdFromDirectoryEx+0x310 : 010104e8
SOFT: CreateDIBitmap+0x148 : 004387ea
SOFT: SaveDC : SaveDC
SOFT: CreateDIBitmap+0x42 : 00442dfa
SOFT: SelectObject+0xc9 : 0044370a
SOFT: DdEntry19+0xe7a : DdEntry19+0x00000E7A
SOFT: GetRandomRgn+0x38 : GetRandomRgn+0x00000038
SOFT: LoadImageW+0x5a : LoadImageW+0x0000005A
SOFT: CreateBitmap+0x6d : 0043beea
SOFT: SelectObject+0xc9 : 0043f53a
SOFT: RtlHashUnicodeString+0x199 : 00091868
SOFT: CreateEventA+0x27 : CreateEventA+0x00000027
SOFT: ConvertDefaultLocale+0xb3 : ConvertDefaultLocale+0x000000B3
SOFT: 01003c92 : 01003c92
SOFT: RegCreateKeyW : LsaLookupPrivilegeValue+0x000000D7
SOFT: RtlReAllocateHeap+0x758 : 000a9004
SOFT: RtlAllocateHeap+0x232 : 003b0000
SOFT: RtlTimeToTimeFields+0x400 : 1000d00c
SOFT: OpenThread+0xbd : OpenThread+0x000000BC
SOFT: GlobalFlags+0x1c4 : GlobalFlags+0x000001C4
SOFT: RtlCreateActivationContext+0x1fa : 003b0000
SOFT: LdrQueryImageFileExecutionOptions+0x61f : 100080f0
SOFT: RtlDeleteAce+0xabb8 : RtlDeleteAce+0x0000ABB7
HARD: RtlCompareUnicodeString+0x30a : 100080f0
SOFT: RtlCompareUnicodeString+0x30a : 10008000
SOFT: LdrQueryImageFileExecutionOptions+0x535 : 1000aa50
HARD: RtlDoesFileExists_U+0x50 : 1000aa50
SOFT: 10001649 : 10001648
SOFT: 10002c36 : 10002c36
SOFT: RtlCreateHeap+0x212 : 00910044
SOFT: RtlReAllocateHeap+0x758 : 00911004
SOFT: RtlFillMemoryUlong+0x10 : 00912000
SOFT: 1000280a : 1000b750
SOFT: 10003735 : 10003734
SOFT: 10004d89 : 10004d88
SOFT: 10005a00 : 10005a00
SOFT: 10006120 : 10006120
SOFT: 10007180 : 10007180
SOFT: RtlReAllocateHeap+0x758 : 00913004
SOFT: 1000100b : 1000c018
SOFT: GetScrollInfo+0x2a1 : 00577164
SOFT: GetOpenClipboardWindow+0x4b : GetOpenClipboardWindow+0x0000004B
SOFT: GetDC+0xb9 : 0058b7d0
SOFT: ScrollDC+0x47 : 005a0d70
SOFT: GetWindowThreadProcessId+0x73 : 00291f70
SOFT: GetClassLongW : SetWindowPos+0x000000F5
SOFT: DeleteMenu+0x11d : 00540712
SOFT: DeleteObject+0x38 : 0043590a
SOFT: IsWindow+0x173 : 0058981c
SOFT: GetWindowInfo : GetWindowInfo
SOFT: 7e41855f : 002900fa
SOFT: SetWindowPlacement : SetWindowPlacement
SOFT: DragAcceptFiles : SHGetFileInfoW+0x000001B5
SOFT: Ordinal44+0x777 : Ordinal44+0x00000777
SOFT: Ordinal384+0x7f1f : Ordinal384+0x00007F1E
SOFT: LocalUnlock+0x137 : LocalUnlock+0x00000137
SOFT: Ordinal389+0xeb4f : Ordinal389+0x0000EB4F
SOFT: Ordinal249+0x3f68 : 7745da84
SOFT: GetThemeBackgroundRegion+0xa1d : 008d5a84
SOFT: Ordinal384+0x4234b : Ordinal384+0x0004234A
SOFT: SetPropW+0x3d : 005b7306
SOFT: RtlReAllocateHeap+0x758 : 00035004
SOFT: Ordinal384+0x3f3e1 : Ordinal384+0x0003F3E0
SOFT: Ordinal384+0x37a4b : Ordinal384+0x00037A4A
SOFT: Ordinal384+0x6a88 : Ordinal384+0x00006A88
SOFT: GetTextExtentPoint32A+0xce : GetTextExtentPoint32A+0x000000CE
SOFT: CreateDCW+0x38 : CreateDCW+0x00000038
SOFT: GetSystemPaletteUse+0x1c9 : GetSystemPaletteUse+0x000001C8
SOFT: Ordinal384+0x412d5 : Ordinal384+0x000412D4
SOFT: Ordinal384+0x40729 : Ordinal384+0x00040728
SOFT: Ordinal384+0x3a530 : Ordinal384+0x0003A530
SOFT: GetThemeBackgroundRegion+0xa1d : 008de24c
SOFT: GetThemeBackgroundRegion+0x986 : 008df6a0
SOFT: GetThemeBackgroundRegion+0x986 : 008e01a0
SOFT: GetThemeBackgroundRegion+0x986 : 008e1124
SOFT: DrawThemeEdge+0xc6e : DrawThemeEdge+0x00000C6D
SOFT: Ordinal384+0x3ee95 : Ordinal384+0x0003EE94
SOFT: CreateStatusWindowW : CreateStatusWindowW
SOFT: RtlReAllocateHeap+0x758 : 000aa004
SOFT: GetWindowThreadProcessId+0x73 : 00292e28
SOFT: SetPropW+0x3d : 0059bd46
SOFT: SelectObject+0x48 : 0043c2ba
SOFT: SelectObject+0xc9 : 0043719a
SOFT: MoveToEx+0x1cb : 00532ad8
SOFT: PropertySheetA+0x58 : PropertySheetA+0x00000057
SOFT: snwprintf : snwprintf
SOFT: wscanf+0xf0e : wscanf+0x00000F0E
SOFT: wscanf+0xf8e : ctype+0x00001F40
SOFT: fputs+0x7c : fputs+0x0000007B
SOFT: fputs+0x12d : fputs+0x0000012D
SOFT: mbtowc : mbtowc
SOFT: GetSubMenu+0x4f : 005a1320
SOFT: GetSubMenu+0x20 : 005bfce8
SOFT: SetDCBrushColor+0xf0 : SetDCBrushColor+0x000000F0
SOFT: GetCharABCWidthsA : GetTextExtentExPointI+0x0000016E
SOFT: 5b2a27af : 008f3610
SOFT: ftol : ftol
SOFT: ScrollWindowEx+0x8d : ScrollWindowEx+0x0000008D
SOFT: Ordinal384+0x95c0 : Ordinal384+0x000095C0
SOFT: CreateRectRgn+0x82 : 0043902a
SOFT: Ordinal358 : Ordinal358
SOFT: DrawThemeEdge+0x166a : DrawThemeEdge+0x00001669
SOFT: DrawThemeEdge+0x208a : DrawThemeEdge+0x00002089
SOFT: Ordinal61+0xe43 : Ordinal61+0x00000E42
SOFT: Ordinal61+0x5d2a : Ordinal61+0x00005D2A
SOFT: DdeConnectList+0xf6c : DdeConnectList+0x00000F6C
SOFT: Ordinal61+0x2353 : Ordinal61+0x00002352
SOFT: GetBkMode : CloseEnhMetaFile+0x00000606
SOFT: PtInRegion : PtInRegion
SOFT: Ordinal61+0x9443 : Ordinal61+0x00009442
SOFT: RegSetValueExW : RegEnumKeyW+0x00000182
SOFT: WinHelpW : WinHelpW
SOFT: DestroyAcceleratorTable+0x40b : DestroyAcceleratorTable+0x0000040B
SOFT: WinHelpA : SetWindowsHookA+0x000000F3
SOFT: DPA_Sort+0x34 : DPA_Sort+0x00000034
SOFT: SelectObject+0xc9 : 0043ecea
SOFT: flushall : fflush+0x00000054
SOFT: 6f8ae91c : 6f8ae91c
SOFT: GetWindow+0x37 : 005495d2
SOFT: GetWindow+0x37 : 00550eca
SOFT: GetWindow+0x37 : 005868c2
SOFT: GetWindow+0x37 : 0054a252
SOFT: GetWindow+0x37 : 00548c5a
SOFT: GetWindow+0x37 : 00576032
SOFT: GetWindow+0x37 : 0057532a
SOFT: GetWindow+0x37 : 005820ea
SOFT: GetWindow+0x37 : 0059320a
SOFT: GetWindow+0x37 : 005ba722
SOFT: GetWindow+0x37 : 005d0dca
SOFT: GetWindow+0x37 : 0056e602
SOFT: 7e41855f : 002949a2
SOFT: GetWindow+0x37 : 005be3b2
SOFT: 7e41855f : 00293bf2
SOFT: GetWindow+0x37 : 00561032
SOFT: GetWindow+0x37 : 00560e9a
SOFT: GetWindow+0x37 : 005a58e2
SOFT: GetWindow+0x22 : 005ae150
SOFT: GetWindow+0x37 : 0056d13a
SOFT: GetWindow+0x37 : 0056cf72
SOFT: GetWindow+0x37 : 0056ae82
SOFT: GetWindow+0x37 : 0055365a
SOFT: GetWindow+0x37 : 0058019a
SOFT: GetWindow+0x37 : 005cdfea
SOFT: GetWindow+0x37 : 005b152a
SOFT: GetWindow+0x37 : 005b0cd2
SOFT: GetWindow+0x37 : 005af9ba
SOFT: GetWindow+0x37 : 0057f042
SOFT: GetWindow+0x37 : 0057e64a
SOFT: GetWindow+0x37 : 005a3732
SOFT: GetWindow+0x37 : 005a2c02
SOFT: GetWindow+0x37 : 0056b95a
SOFT: GetWindow+0x37 : 0057cb1a
SOFT: GetWindow+0x37 : 0057b812
SOFT: GetWindow+0x37 : 005875fa
SOFT: GetWindow+0x37 : 00584c02
SOFT: GetWindow+0x37 : 0059713a
SOFT: GetWindow+0x37 : 005ad70a
SOFT: GetWindow+0x37 : 005a4aea
SOFT: GetWindow+0x37 : 00592722
SOFT: GetWindow+0x22 : 00581fe8
SOFT: GetWindow+0x37 : 00588952
SOFT: GetWindow+0x37 : 005b914a
SOFT: GetWindow+0x37 : 0059c55a
SOFT: GetWindow+0x37 : 0057a9ba
SOFT: GetWindow+0x37 : 00579d6a
SOFT: GetWindow+0x37 : 00570442
SOFT: GetWindow+0x37 : 005bd9ba
SOFT: GetWindow+0x37 : 0056f7fa
SOFT: GetWindow+0x37 : 005cf442
SOFT: GetWindow+0x37 : 00578b5a
SOFT: GetWindow+0x37 : 005b2cba
SOFT: GetWindow+0x37 : 005838b2
SOFT: GetWindow+0x37 : 005b8932
SOFT: GetWindow+0x37 : 005cb58a
SOFT: GetWindow+0x37 : 005cca12
SOFT: GetWindow+0x37 : 005ce96a
SOFT: GetWindow+0x37 : 0057deb2
SOFT: GetWindow+0x37 : 005c8482
SOFT: GetWindow+0x37 : 00551592
SOFT: GetWindow+0x37 : 005712b2
SOFT: GetWindow+0x37 : 0055d162
SOFT: GetWindow+0x37 : 00573fda
SOFT: GetWindow+0x37 : 00565d52
SOFT: GetWindow+0x37 : 0055cc3a
SOFT: GetWindow+0x37 : 005588a2
SOFT: GetWindow+0x37 : 005431aa
SOFT: GetWindow+0x37 : 0054b242
SOFT: GetWindow+0x37 : 00547f3a
SOFT: GetWindow+0x37 : 005d12d2
SOFT: DeleteObject+0x38 : 0043353a
SOFT: CoFreeUnusedLibrariesEx+0x20d3 : CoFreeUnusedLibrariesEx+0x000020D3
SOFT: SHObjectProperties+0xed : SHObjectProperties+0x000000EC
SOFT: SHCreateQueryCancelAutoPlayMoniker+0x136c : SHCreateQueryCancelAutoPlayMon
iker+0x0000136C
SOFT: SHCreateQueryCancelAutoPlayMoniker+0x136c : 7cbd5da0
SOFT: Ordinal733+0x43eb : Ordinal733+0x000043EB
SOFT: RtlInitString+0x1b : Ordinal517+0x00013BAC
SOFT: BaseInitAppcompatCacheSupport+0x466 : BaseInitAppcompatCacheSupport+0x0000
0465
Caused 6 faults had 13 Soft 2 Hard faulted VA's
Caused 317 faults had 59 Soft 4 Hard faulted VA's
Caused 56 faults had 38 Soft 3 Hard faulted VA's
Caused 0 faults had 6 Soft 2 Hard faulted VA's
Caused 12 faults had 14 Soft 1 Hard faulted VA's
Caused 1 faults had 5 Soft 1 Hard faulted VA's
Caused 1 faults had 5 Soft 1 Hard faulted VA's
Caused 47 faults had 58 Soft 2 Hard faulted VA's
Caused 38 faults had 41 Soft 2 Hard faulted VA's
Caused 33 faults had 22 Soft 2 Hard faulted VA's
Caused 113 faults had 30 Soft 2 Hard faulted VA's
Caused 2 faults had 9 Soft 2 Hard faulted VA's
Caused 21 faults had 37 Soft 8 Hard faulted VA's
Caused 1 faults had 6 Soft 2 Hard faulted VA's
Caused 30 faults had 15 Soft 1 Hard faulted VA's
Caused 23 faults had 29 Soft 3 Hard faulted VA's
Caused 2 faults had 6 Soft 2 Hard faulted VA's
Caused 4 faults had 13 Soft 2 Hard faulted VA's
Caused 0 faults had 7 Soft 2 Hard faulted VA's
Caused 1 faults had 8 Soft 2 Hard faulted VA's
Caused 0 faults had 3 Soft 1 Hard faulted VA's
Caused 1 faults had 10 Soft 3 Hard faulted VA's
Caused 47 faults had 30 Soft 2 Hard faulted VA's
Caused 9 faults had 13 Soft 2 Hard faulted VA's
PFMON: Total Faults 765 (KM 174 UM 765 Soft 711, Hard 54, Code 276, Data 489)
Para tratar de comprender mejor encontre que:
Minor Page Fault (Soft)
If the page is loaded in memory at the time the fault is generated, but its status is not updated as 'present' in hardware, then it is called a minor or soft page fault. This could happen if the memory is shared by different programs and the page is already brought into memory for other programs. Since these faults do not involve disk latency, they are faster and less expensive than major page faults.
Major Page Fault (Hard)
If the page is not loaded in memory at the time the fault is generated, then it is called a major or hard page fault. Major faults are more expensive than minor page faults and add disk latency to the interrupted program's execution. This is the mechanism used by an operating system to increase the amount of program memory available on demand. The operating system delays loading parts of the program from disk until the program attempts to use it and the page fault is generated.
Con esto podemos ver que la mayoria de las operaciones que el sistema operativo realiza lo hace en la memoria principal y esto nos muestra como los diferentes programas comparten las librerias y los archivos y muy pocas veces se van a la memoria secundaria. |
|
| Back to top |
|
 |
Luis_Felipe_Borjas Usuario
Joined: 11 Jan 2009 Posts: 8 Location: Tegucigalpa, Honduras
|
Posted: Sun Mar 22, 2009 11:05 pm Post subject: Laboratorio 2: windows memory management |
|
|
Parte 1: Analizando DLLs
------------------------------
• Una DLL común a Excel y Word: comctl32.
• Al tratar de eliminar la DLL aparece un cuadro de diálogo que pregunta: “Are you sure you want to kill EXCEL.exe” (se trató de eliminar desde el pane de Excel).
• Los siguientes procesos también utilizan comctl32: msnmsgr.exe, stsystra.exe... entre otros.
Parte 2: Analizando el manejo de prefetch de Windows
----------------------------------------------------------------
Al correr notepad por primera vez, éste consultó su archivo de prefetch.
Luego, el svchost para notepad modificó el archivo con CREATE, cuando se creó prueba.txt.
Nótese que lo consultó antes de abrir notepad, y lo modificó hasta después de permitir a notepad cargar. Lo que hizo, fue, básicamente, poner al archivo prueba.txt en el mapa de prefetch para notepad.
Al cerrar notepad, y volverlo a abrir un minuto después, éste consultó a su archivo de prefetch.
Se experimentó entonces el mecanismo de prefetch de Windows: al crear un archivo, éste se agrega al mapa de prefetch de la aplicación, y así estará disponible antes para ella antes de que ésta cargue la próxima vez (nótese que notepad.exe se permite ejecutar después de la lectura del prefetch.
852 08:33:54 p.m. notepad.exe:1732 QUERY INFORMATION).
Parte 3: Administración de memoria ante un proceso que crece indefinidamente
---------------------------------------------------------------------------
• Observando diez segundos: LEAKYAPP va usando impertérritamente más y más memoria.
• Reducción del delta: algunos procesos menos usados experimentan reducciones en su espacio, el tamaño de la reducción se muestra entre paréntesis. (En estos momentos, Word está tardando más en responder).
• Cuando la memoria comenzó a ser insuficiente, se empezó a recortar memoria a muchos de los procesos, en un punto, ¡hasta a las leakyapps! Éstas quedaron usando 30 Mb segundos después de que habían llegado a usar 300 Mb.
• El page file usage history muestra que, al llegar al límite de memoria, el pagineo comenzó a crecer aceleradamente.
• Cuando el commit charge se comenzó a acercar al límite por defecto, éste empezó a crecer (de 2Gb a 4 Gb) En este punto, el page file usage history mostró que éste quedó constante.
• Cuando el uso de VM de las leakyapps llegó prácticamente al límite, dejaron de crecer: ya no había memoria virtual
• Cuando traté de abrir otro programa, un cuadro de diálogo apareció con la siguiente leyenda: “insufficient system resources exist to complete the requested service”.
Parte 4: Analizando los page faults
-------------------------------------------
Al correr la primera instancia de notepad, éste causó las siguientes fallas de página:
PFMON: Total Faults 3777 (KM 952 UM 3777 Soft 3399, Hard 378, Code 1114, Data 2663)
La segunda vez, la otra instancia causó las siguientes:
PFMON: Total Faults 4145 (KM 1063 UM 4145 Soft 3747, Hard 398, Code 1256, Data 2889).
En esas dos ocasiones, se escribieron archivos nuevos de notepad. Ahora se mostrará lo que pasa sin escribirlos:
La primera vez:
PFMON: Total Faults 948 (KM 192 UM 948 Soft 891, Hard 57, Code 351, Data 597)
Y la segunda:
PFMON: Total Faults 950 (KM 181 UM 950 Soft 893, Hard 57, Code 353, Data 597)
En la primera situación, la segunda instancia causó más faltas, tanto en Kernel Mode, en User Mode, Soft faults, Hard faults, como de código y datos. En la segunda situación, si bien la segunda instancia tuvo más faults que la primera, es interesante notar que tuvo menos en Kernel Mode y en Data, además, tuvieron el mismo número de hard faults. |
|
| Back to top |
|
 |
FernandoEscher Usuario
Joined: 11 Jan 2009 Posts: 10
|
Posted: Sun Mar 22, 2009 11:42 pm Post subject: Resultados del Laboratorio 2 |
|
|
Nombre: Fernando David Irías Escher
Cuenta: 10611039
Pruebas Realizadas en: Windows Vista y Windows XP en Máquina Virtual sobre Ubuntu Linux
Analizando DLLs
Al intentar borrar apphelp.dll del proceso WINWORD, el Process Explorer pregunta que si deseamos cerrar este proceso. Al aceptar, el proceso WINWORD se cierra, pero el proceso EXCEL siempre se mantiene abierto, aún cuando utilizan la misma librería DLL.
Los procesos activos que tiene la librería apphelp.dll son: daemon.exe, GoogleUpdate.exe, hpqtra08.exe, QLBCTRL.exe, HPWAMain.exe, avgtray.exe, procexp.exe, msnmsgr.exe, EXCEL.EXE, chrome.exe, iTunes.exe, WINWORD.EXE.
Analizando el manejo de Prefetch de Windows
Adjunto la imagen de la primera corrida mostrando la creación del archivo Prefetch:
Adjunto la imagen de la segunda corrida mostrando la utilización del archivo prefetch:
Administración de memoria ante un proceso que crece indefinidamente
Listo los eventos que noté que se dieron mientras operaban los LeakyApps:
El crecimiento de la memoria virtual y la memoria utilizada, se mantuvo al mismo ritmo en los primeros momentos en que había bastante memoria física disponible.
En mi máquina, se listaba que había alrededor de 8339MB de memoria paginada.
Puse a correr 25 LeakyApp.
La memoria delta hace cambios bastante abruptos, pero no llega a alcanzar más de 4,000 K.
A medida que el uso de la memoria física llegó al 90%, la memoria virtual comenzó a ganar ventaja sobre la memoria utilizada en cada LeakyApp.
Para estos momentos, la memoria de pagineo continuaba creciendo y parecía estar distante de su límite.
Una vez que ya no hay más memoria física disponible, la memoria usada de los procesos se queda estancada. Varía entre los 100,000 y 150,000. Por algunos momentos, el sistema se esfuerza por mantener la cantidad de memoria física libre al 10%. El disco duro se comienza a estresar.
Estas liberaciones de memoria se comenzaron a dar más frecuentemente cuando la memoria de pagineo llegó a su límite.
El límite de la memoria de pagineo comenzó a crecer.
Los cambios abruptos en la memoria delta cesan. Ahora son cambios un poco más lentos.
Luego de unos instantes, el disco duro estaba extenuado de tanto trabajo y la computadora colapsó hasta quedar inutilizable. Tuve que hacer un reinicio forzado.
Adjunto algunas imagenes del proceso en Windows XP:
Analizando los page faults
Resultado de la primera corrida:
PFMON: Total Faults 704 (KM 300 UM 704 Soft 652, Hard 52, Code 298, Data 406)
Resultado de la segunda corrida:
PFMON: Total Faults 720 (KM 275 UM 720 Soft 675, Hard 45, Code 298, Data 422)
Análisis:
Al parecer, en la segunda corrida fueron menos el total de Page Faults, pero los Hard Page Faults fueron muchos más ya que se necesitaba traer todo el programa del disco. En la segunda corrida, hubieron mas Soft Page Faults, esto se dio porque varias páginas del programa ya se encontraban en memoria, por esto mismo se da una reducción en los Hard Page Faults. |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|