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. [1] La versión 1.10 fue lanzada en julio de 1993 [2] 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 . [3]
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, [4] aunque algunos programas estándar Win32 funcionarían correctamente, incluyendo 3D Pinball Space Cadet de Microsoft y algunos de los subprogramas incluidos en Windows 95. [5] 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. [5] Generalmente, para que una aplicación de 32 bits sea compatible con Win32s, no debe usar más de 16 MB de memoria o cualquier característica extendida 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 llamada 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. La estabilidad y seguridad que Windows NT puede ofrecer se basa parcialmente en que el procesamiento es ilegal, excepto los procesadores de Win16 a Win32: la CPU debe permanecer en modo protegido en todo momento. Windows XP y las versiones posteriores de 32 bits de Windows 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 información de reubicación de EXE) y DLL que estaban 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. [6]
El compilador de 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. [7]
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
- ^ https://winworldpc.com/product/win32s/beta
- ^ https://winworldpc.com/product/win32s/11
- ^ "Descripción general de Win32s" . Corporación Microsoft. 12 de abril de 2004 . Consultado el 5 de septiembre de 2007 .
- ^ "Limitaciones generales en Win32s" . Corporación Microsoft. 22 de noviembre de 2005 . Consultado el 5 de septiembre de 2007 .
- ^ a b "La lista de compatibilidad de Win32s" . Consultado el 30 de noviembre de 2008 .
- ^ Diciembre, John; Randall, Neil (1994). World Wide Web desatada . Sams Publishing. ISBN 0-672-30617-4.
- ^ Strehovský, Michal (9 de enero de 2020). "1/7 ¿Alguna vez necesitó ejecutar un fragmento de código C # en Windows 3.11? Yo tampoco, pero lo hice de todos modos" . Twitter . Noticias de hackers .
enlaces externos
- Tutorial de Win32 por Graeme Chandler
- Lista de compatibilidad de Win32s
- Descargar Win32s de Microsoft [ enlace muerto ]
- Archivo de casi todas las versiones de Win32s