jueves, 25 de septiembre de 2008

Lista de observaciones en migración a Windows 64 bits

Ya ví bastante material sobre migraciones a 64bits en Windows (por qué, posibles dificultades, etc.) sin embargo no había encontrado una lista como esta, concisa.

El autor resume en una lista corta las dificultades, imposibilidades y posibles inconvenientes de migrar hacia 64bits en Windows, lo hace desde el punto de vista de un desarrollador y un administrador de sistemas; ambas, especialidades del autor.

La migración a 64 bits en Windows es un "must" a mediano plazo dadas las serias limitaciones de los sistemas de 32 bits en entornos de alta performance.


A continuación se explican dos limitaciones que presentan a nivel de sistema y performance los sistemas Windows de 32bits (comillas == traducido del original):

- "Tradicionalmente, las aplicaciones en Windows solo pueden direccionar un máximo de 2 GB de memoria, no importa si tienes un sistema con 4 GB de memoria, 2 GB es todo lo que puede usar cualquier aplicación".

- "Con IIS (Internet Information Server), el webserver embebido en el SO de MS, ese límite (los 2 GB de memoria máximos), es más bajo inclusive. Como máximo un IIS puede utilizar solo 800 MB de memoria en cualquier sistema de 32 bits. De nuevo, no importa cuanta memoria esté libre en el sistema, 800 MB es el máximo que IIS puede utilizar en un sistema de 32 bits y permanecer estable".



Y un listado corto de la lista de observaciones a tener en cuenta al migrar de 32 a 64 bits:

- Las aplicaciones de 64 bits no pueden acceder librerías ("bibliotecas" es la traducción literal), de 32 bits, ni viceversa (es decir que cualquier app de 32 bits ejecuta en una pseudo-vm WOW con las consideraciones a tener en cuanto a portabilidad o para desarrollar tanto para 32 como 64 bits separadamente).

- Hay al momento, secciones de archivos de sistema separadas para código de 32 y de 64 bits (puede ser algo a considerar en scripting propio y de terceros que accedan a archivos de sistema).

- Hay al momento, secciones del registro separadas para código de 32 bits y de 64 bits (puede complicarse si una app X intenta usar la misma sección del registro para código de 32 y de 64).

- El administrador ODBC por defecto es solo de 64 bits, solo usable desde apps de 64bits (hay otro ODBC de 32 bits disponible, no es trivial para portabilidad directa de apps de 32 bits que usen ODBC sin verificar que usen el ODBC alternativo).

- IIS puede correr como app de 64 O de 32 bits (recordar que al volver a 32 bits, volvemos al límite de 800 MB de memoria máxima direccionable).

- El directorio "C:Program Files" ha sido divido en "C:Program Files", y "C:Program Files (x86)" (facilita el trabajo a futuro desde el punto de vista del sysadmin, puede haber problemas si alguna app legacy intenta accedir solo a "C:Program Files").

- Las apps .NET de 32 bits podrían ejecutarse como código de 64 bits vía JIT (esto es bueno porque se supera el límite de los 2 GB direccionables, sin embargo hay que prestar atención a los problemas legacy, por ejemplo en cuanto a las entradas de registro, acceso a archivos de sistema y el acceso a ODBC).

Original en:
Windows_x64_Watch_List

No hay comentarios: