Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
-
Upload
jackelinne-zoraida-rivera -
Category
Documents
-
view
222 -
download
0
Transcript of Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
1/22
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
2/22
omo se puede ver, el emuladorWOW64debe realizar el cambio de direcci&n del
sistema de !iceros para garantizar que el c&digo de 32 y 64 bits siga separado"
ero mantener arcivos del 7 separados es solamente el principio" El
emulador WOW64realiza el cambio de direcci&n del sistema de !iceros paravarios componentes clave del sistema operativo de (indo)s"
tro lugar en (indo)s en donde se utiliza el cambio de direcci&n del sistema de
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
3/22
!iceros es en la carpeta de arcivos de programa" asi todas las aplicaciones
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
4/22
“ ”
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
5/22
carpeta propia para la aplicaci&n" En las versiones 064 de (indo)s, las
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
6/22
“ ”
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
7/22
aplicaciones
32 bits est/n instaladas en una carpeta nombrada 8rogram 9iles *0:6-;" .
in embargo, la carpeta de arcivos de programa puede no estar siempre en el
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
8/22
mismo lugar en cada microordenador" or ello, la mayor$a de los desarrolladores
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
9/22
“ ”
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
10/22
que llama
!unciones para obtener el nombre real de esta car eta en el en cues i&n" En
as versiones de 32 bits de (indo)s, la !unci&n .nica vez que se ace re!erencia a la c
arpeta de arcivos de programa? puede también ser re!erenciada en el tiempo
de ejecuci&n" #unque ay varias maneras que una aplicaci&n pueda determinar el no
mbre y la localizaci&n de la carpeta de arcivos de programa, el empleo de las vari
ables de entorno es lo m/s utiliza o" En una versi&n de 32 bits de (indo)s,
la variable de entorno @rogram9iles@ contiene la trayectoria a la carpeta de arcivos de programa" En una versi&n 064 de (indo)s, es
variable de entorno también se utiliza, pero trabaja de una !orma di!eren
te" a regla m/s importante de la plata!orma 064 es que no puedes mezclar
de ninguna manera c&digo de 64 y 32 bits" as variables de entorno se llaman
a menudo dentro de !iceros de comandos por lotes *"A7 o "B#- o por scripts" .ie
do éste el caso, ejecutar scripts puede ser un poco peligroso en un entorno de 6
4 bits" C7ebe (indo)s tratar el script como c&digo de 32 bits o como de 64D a r
espuesta a!ecta no s&lo al contenido de las variables de entorno, sino también que
los programas que llame el propio script" or ejemplo, un script de 64 bi
no puede lanzar un proceso de 32 bits *por lo menos no de la manera normal
-" (indo)s consigue solucionar estos problemas o!reciendo dos intérpretes de co
mandos1 uno de 64 bits y otro de 32" as var
les de entorno se establecen de acuerdo al intérprete de com
andos u ilizado or ejemplo, si se abre una ventana de comandos lanzando
el comandoCMD.EXEen la ventana 8%nicioEjecutar F; *Gun-, (indo)s abrir/
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
11/22
una ventana de comandos de 64 bits" En la mayor$a de los casos, la variable de
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
12/22
8
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
13/22
9iles;" .i se lanza un sc
t, éste podr/ ejecutar aplicacion s y comandos de 64 bits, p ro no de 32 bi
ts"
En el lado contrario, si se lanza“C:WindowsSysWOW64cmd.exe”en la ventana
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
14/22
8%nicioEjecutar F;, la ventana de comandos que se ejecuta es de 32 bits" En ese
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
15/22
8 ;
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
16/22
Como se puede ver, la localización de la carpeta de archivos de programa se
redirige dependiendo de si se est/ !uncionando a 32 & 64 bits" ero ay una
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
17/22
e0cepci&n a esta regla1 si una aplicaci&n tiene la re!erencia a la carpeta de
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
18/22
8 ;
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
19/22
se utilizar/ esta carpeta directamente, sin tener en cuenta el entorno en el que se
est/ trabajando y esto podr$a dar lugar a diversos problemas, al intentar
ejecutar c&digo de 64 bits de alg>n componente cuando la aplicaci&n es de 32
bits" #!ortunadamente esto no es una
ena pr/ctica de programaci&n y esperamos no encontrarlo en nuestras aplicaciones"
ambién en el registro ay una estructura a utilizar cuand
o e est/ trabajando a 64 bits y otra a usar cuando se est/ e
n 32 bits" #s$, dentro de
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
20/22
aplicaci&n o !icero de comandos que cumpla las normas A"COM permite que
alguien con abilidades de programaci&n m$nimas pueda escribir una aplicaci&n o
un script que interact>e con (indo)s" a persona que escribe la aplicaci&n o el
script puede acerlo sin tener que aprender un lenguaje de programaci&n tal como
NN, y sin tener que aprender todos los inter!aces de programaci&n
deWindows*#%s-"
(indo)s se dise'& de manera que todos los objetosCOM disponibles estuvieran
dentro del registro" ara garantizar que el c&digo de 32 bits esté aislado
totalmente del c&digo de 64 bits, los objetosCOM de 32 y 64bits se almacenan en
dos partes distintas del registro"
En lenguaje de Aicroso!t un servidorCOM es un objeto que ace disponible su
!uncionalidad a través de A" as aplicaciones y scripts que acen uso de esa
!uncionalidad se llaman clientes A"
uando se abla de un servidor COM inLprocess se re!iere generalmente a las
bibliotecas *arcivos "7-, porque éstas se ejecutan como parte del mismo
proceso que las aplicaciones y scripts que los llamaron" 5n servidor COM outLo!L
process es un objetoCOM *generalmente un !icero ejecutable- que se ejecuta en
un proceso distinto que la aplicaci&n o script que lo llam&"
uando una aplicaci&n intenta registrar un objeto A, el
emulador WOW64pondr/ las entradas correspondientes en la secci&n apropiadadel registro, dependiendo de si el objeto COM es un objeto de 64 o de 32 bits"
uando una aplicaci&n o un script que se supone que son de 32 bits intentan
cargar un objetoCOM en el proceso, el emuladorWOW64redirecciona el registro
para estar seguro que la aplicaci&n o script lee la porci&n del registro que re!iere a
objetosCOM de 32 bits" .i el registro no contiene una re!erencia a una versi&n de
32 bits del objetoCOM solicitado,WOW64dir/ a la aplicaci&n que no e0iste el
objeto, aunque e0ista una versi&n 64 bits disponible" a misma cosa sucede si una
aplicaci&n de 64 bits solicita un objeto A"Windowscomprobar/ la parte delregistro correspondiente a 64 bits para saber si ay una re!erencia al objeto y no
ar/ caso de cualquier objetoCOM de 32 bits"
Servidores COM Out-of-process
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
21/22
a manera queWOW64vuelve a dirigir peticiones de servidoresCOM inLprocess
es bastante directa" ero las cosas !uncionan di!erentemente para los
servidores COM outLo!Lprocess" a redirecci&n del registro todav$a ace !alta, pero
esto es solamente una parte del proceso"
as llamadas a un servidorCOM outLo!Lprocess son la e0cepci&n a la regla de
mantener separados el c&digo de 32 bits y el de 64"
#islar el c&digo de 32 bits es normalmente un requisito porque no puedes mezclar
c&digo de 64 bits y de 32 dentro de un proceso" ero cuando son
servidores COM outLo!Lprocess, el objetoCOM est/ !uncionando en un proceso
totalmente distinto del del c&digo que lo llam&" Esto signi!ica que la aplicaci&n
puede !uncionar con c&digo de 32 y llamar a un objeto COM de 64 bits, o
viceversa"
Ia que la aplicaci&n y el objeto COM est/n !uncionando en procesos distintos, es
!/cil ver que ser$a posible que !uncionaran ambos en el mismo sistema" Cero
c&mo puede la aplicaci&n comunicarse con un objeto COM si uno est/
!uncionando en 32 bits y el otro en 64D #unque la aplicaci&n y el objeto COM no
puedan interactuar directamente uno con otro porque estén !uncionando en
procesos distintos, pueden comunicarse con Gemote rocedure alls *Gs-"
os ordenadores que !uncionan en una versi&n 064 de Windowsutilizan la
redirecci&n del registro para conseguir el !uncionamiento de aplicaciones de 32 y
64 bits" Esta redirecci&n del registro evita que las aplicaciones sobreLescriban la
con!iguraci&n de las de 64 bits, pero permite todav$a que las aplicaciones y los
arcivos 7 que utilicen arborescencias escritas a mano contin>en !uncionando"
as claves del registro relacionadas con las aplicaciones est/n instaladas
generalmente en la clave
-
8/17/2019 Como Windows Ejecuta Aplicaciones de 32 Bits en 64 Bits
22/22
bits y, de !orma transparente, vuelve a dirigir estas llamadas al lugar apropiado
dentro del registro de (indo)s"
a entrada nicomecanismo usado" or ello, las versiones 064 deWindowsutilizan también otra
técnica conocida como re!le0i&n del registro"
Esta técnica copias claves espec$!icas y valores del registro entre las dos vistas
del registro *una de 32 bits y otra de 64 bits- para mantenerlas sincronizadas" El
re!lector es inteligente y copia datos del COM activo para los servidores locales
entre las vistas del registro, pero no los datos inLprocess, porque el mezclar datos
inLprocess de 32 con 64 bits no se permite en un Windowsde 64 bits"