Win32s - Win32s

Win32s es una de 32 bits entorno de la aplicación en tiempo de ejecución para el Microsoft Windows 3.1 y 3.11 sistemas operativos . Permitió que algunas aplicaciones de 32 bits se ejecutaran en el sistema operativo de 16 bits utilizando procesadores de llamadas . Una versión beta de Win32s estuvo disponible en octubre de 1992. La versión 1.10 se publicó en julio de 1993 simultáneamente con Windows NT 3.1 .

Concepto y caracteristicas

Win32s se diseñó como una implementación parcial de la API de Windows Win32 tal como existía en las primeras versiones de Windows NT .

La "s" en Win32s significa subconjunto , ya que Win32s carecía de una serie de funciones de Windows NT, incluyendo multi-subprocesos , E / S asincrónicas , funciones de puerto serie más nuevas y muchas extensiones GDI . Esto generalmente lo limitaba a "aplicaciones Win32s" que fueron diseñadas específicamente para la plataforma Win32s, aunque algunos programas estándar Win32 funcionarían correctamente, incluido el 3D Pinball Space Cadet de Microsoft y algunos de los subprogramas incluidos en Windows 95. Las primeras versiones de Internet Explorer (hasta la versión 5) también eran compatibles con Win32s, aunque también existían en formato de 16 bits. Por lo general, para que una aplicación de 32 bits sea compatible con Win32s, no debe usar más de 16 MB de memoria o funciones extendidas como DirectX .

Win32s hereda muchas de las limitaciones del entorno Win16. Las verdaderas aplicaciones Win32 se ejecutan dentro de un espacio de direcciones virtual privado, mientras que Windows 3.x utiliza un espacio de direcciones compartido entre todas las aplicaciones en ejecución. Una aplicación que se ejecuta en Win32s tiene el espacio de direcciones compartido y las características de multitarea cooperativa de Windows 3.1. En consecuencia, para que una aplicación Win32 se ejecute en Win32s, debe contener información de reubicación .

Una técnica denominada thunking es fundamental para la implementación de Win32s, así como de los sistemas operativos del núcleo de Chicago, que son Windows 95 , Windows 98 y Windows ME . Sin embargo, permitir el procesamiento a nivel de usuario complica en gran medida los intentos de proporcionar una administración de memoria estable o protección de la memoria en todo el sistema, así como la seguridad del núcleo o del kernel; esto permite que las aplicaciones mal escritas socaven la estabilidad del sistema en Win32s, así como en Chicago. -sistemas de núcleo. Las versiones de 32 bits de Windows NT proporcionan de forma transparente una máquina virtual para ejecutar aplicaciones Win16, aunque esta característica se eliminó de las versiones de 64 bits de Windows.

Compatibilidad

Las aplicaciones compatibles con Win32s podrían construirse utilizando las herramientas de desarrollo de Microsoft, así como al menos Borland C ++ 4.xy Symantec C ++ (ahora Digital Mars C ++). Sin embargo, varias opciones de compilación de programas (como la información de reubicación de EXE) y las DLL implícitas en Windows NT 3.1 deben incluirse con la aplicación en Win32s. Microsoft dejó de admitir Win32s en Visual C ++ versión 4.2 lanzada a finales de 1996.

Win32s incluyó una implementación del juego de cartas FreeCell como aplicación de ejemplo, un par de años antes de que el juego se hiciera famoso con su inclusión en Windows 95 .

Warcraft II: Tides of Darkness , un juego de DOS, incluía un editor de niveles que requería Win32s para ejecutarse. El editor usó una GUI de Windows para mostrar los mapas grandes porque Windows ya manejaba los modos gráficos de alta resolución. Laversión 2 del navegador web NCSA Mosaic también requería Win32s.

El compilador CoreRT puede compilar aplicaciones C # en código Win32 aceptado por el vinculador de Visual C ++ de 1994. Esta combinación produce ejecutables de Win32 que pueden ejecutarse en Windows 3.1 con Win32s.

Fuentes e instalación

Win32s todavía se puede encontrar usando motores de búsqueda web; PW1118.EXE es generalmente el archivo de instalación utilizado.

$ sha256sum pw1118.exe
5e7162ba950856104b4c6cb39d2fa5c55e73f86b1d65c31341913dba8b6ba455  pw1118.exe

Los desarrolladores deben asegurarse de instalar OLE si requieren un manejo constante del portapapeles. Muchas aplicaciones que necesitan ser conscientes de OLE (es decir, configurar su servidor OLE) deben reinstalarse. Win32s también se incluyó con algunos de los primeros programas de Win32.

Referencias

enlaces externos