Estoy pensando en incluir las banderas PE IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP
y IMAGE_FILE_NET_RUN_FROM_SWAP
en mi ejecutable.¿Existen riesgos asociados con IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP o IMAGE_FILE_NET_RUN_FROM_SWAP?
La idea es evitar excepciones ocasionales vistas por los clientes que ejecutan el ejecutable desde la red, por ejemplo cuando los volúmenes de red no se vuelven a conectar después del reposo. Hasta ahora, siempre hemos aconsejado a los clientes que ejecuten ejecutables desde volúmenes conectados localmente.
Sin embargo, no sé lo suficiente acerca de la memoria virtual, el cargador, etc., para saber qué riesgos hay asociados con el uso de estos indicadores PE, si los hay.
Por ejemplo, si hago esto, mi ejecutable consumirá más memoria física, especialmente si hay varias instancias del ejecutable ejecutándose al mismo tiempo?
Lamento que no pueda dar más ejemplos de riesgos potenciales, pero esa es la naturaleza de mi pregunta. Tengo la sensación de que podría haber inconvenientes para hacer esto, pero simplemente no sé cuáles podrían ser esos inconvenientes.
Debería hacer un arranque en frío más lento ya que todo el EXE se copia en el archivo de paginación. No tengo idea si Windows es lo suficientemente inteligente como para compartir páginas, lo dudo un poco. Process Explorer te dirá, mira Bytes privados. –
@Hans ¿Se ha copiado el EXE en el archivo de paginación en carga, o las páginas se copian allí si están paginadas? ¿Y cómo interpretar Bytes privados? Soy realmente terriblemente ignorante del funcionamiento de la memoria virtual. –
La operación de entrada de página es el problema, no la salida de página. Entonces, sí, todas las páginas deben copiarse para que puedan ser localizadas más tarde. Bytes privados es la cantidad de VM que no se puede compartir. –