HOME

TheInfoList



OR:

Win32s is a
32-bit In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in 32- bit units. Compared to smaller bit widths, 32-bit computers can perform large calculati ...
application runtime environment for the
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
3.1 and 3.11
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s. It allowed some 32-bit applications to run on the
16-bit 16-bit microcomputers are microcomputers that use 16-bit microprocessors. A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two ...
operating system using call
thunk In computer programming, a thunk is a subroutine used to inject a calculation into another subroutine. Thunks are primarily used to delay a calculation until its result is needed, or to insert operations at the beginning or end of the other sub ...
s. A beta version of Win32s was available in October 1992. Version 1.10 was released in July 1993 simultaneously with
Windows NT 3.1 Windows NT 3.1 is the first major release of the Windows NT operating system developed by Microsoft, released on July 27, 1993. At the time of Windows NT's release, Microsoft's Windows 3.1 desktop environment had established brand recognit ...
.


Concept and characteristics

Win32s was intended as a partial implementation of the Win32 Windows API as it existed in early versions of
Windows NT Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system. The first version of Win ...
. The "s" in Win32s signifies ''subset'', as Win32s lacked a number of Windows NT functions, including multi-threading,
asynchronous I/O In computer science, asynchronous I/O (also non-sequential I/O) is a form of input/output processing that permits other processing to continue before the transmission has finished. A name used for asynchronous I/O in the Windows API is overlapp ...
, newer
serial port In computing, a serial port is a serial communication interface through which information transfers in or out sequentially one bit at a time. This is in contrast to a parallel port, which communicates multiple bits simultaneously in parallel. ...
functions and many
GDI GDI may refer to: Science and technology * Gasoline direct injection, a type of fuel injection * Graphics Device Interface, a component of Microsoft Windows * Guanosine nucleotide dissociation inhibitor, a protein Organisations * Gabriel Dumont I ...
extensions. This generally limited it to "Win32s applications" which were specifically designed for the Win32s platform, although some standard Win32 programs would work correctly, including Microsoft's ''
3D Pinball Space Cadet ''Full Tilt! Pinball'' is a pinball video game developed by Cinematronics and published by Maxis in 1995. It features pre-rendered 3D graphics and three tables—''Space Cadet'', ''Skullduggery'', and ''Dragon's Keep''. On each table, there are di ...
'' and some of Windows 95's included applets. Early versions of Internet Explorer (up to Version 5) were also Win32s compatible, although these also existed in 16-bit format. Generally, for a 32-bit application to be compatible with Win32s, it had to not use more than 16MB of memory or any extended features such as
DirectX Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct" ...
. Win32s inherits many of the limitations of the Win16 environment. True Win32 applications execute within a private virtual address space, whereas Windows 3.x used an address space shared among all running applications. An application running on Win32s has the shared address space and cooperative multitasking characteristics of Windows 3.1. Consequently, for a Win32 application to run on Win32s, it must contain relocation information. A technique named
thunk In computer programming, a thunk is a subroutine used to inject a calculation into another subroutine. Thunks are primarily used to delay a calculation until its result is needed, or to insert operations at the beginning or end of the other sub ...
ing is fundamental to the implementation of Win32s as well as Chicago-kernel operating systems, which are
Windows 95 Windows 95 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems. The first operating system in the 9x family, it is the successor to Windows 3.1x, and was released to manufacturi ...
,
Windows 98 Windows 98 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. The second operating system in the 9x line, it is the successor to Windows 95, and was released to ...
, and
Windows ME Windows Millennium Edition, or Windows Me (marketed with the pronunciation of the pronoun "me"), is an operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. It is the successor to Windo ...
. However, allowing user-level thunking greatly complicates attempts to provide stable memory management or memory protection on a system-wide basis, as well as core or kernel security—this allows poorly written applications to undermine system stability on Win32s, as well as the Chicago-kernel systems. 32-bit versions of
Windows NT Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system. The first version of Win ...
transparently provide a virtual machine for running Win16 applications, although this feature was removed from 64-bit versions of Windows.


Compatibility

Win32s-compatible applications could be built using Microsoft's development tools, as well as at least
Borland C++ Borland C++ is a C and C++ IDE ( integrated development environment) for MS-DOS and Microsoft Windows. It was the successor to Turbo C++ and included a better debugger, the Turbo Debugger, which was written in protected mode DOS. Libraries Obj ...
4.x and Symantec C++ (now Digital Mars C++). However, several program compilation options (such as EXE relocation information) and DLLs which were implicit in Windows NT 3.1 have to be included with the application in Win32s. Microsoft ceased support for Win32s in
Visual C++ Microsoft Visual C++ (MSVC) is a compiler for the C, C++ and C++/CX programming languages by Microsoft. MSVC is proprietary software; it was originally a standalone product but later became a part of Visual Studio and made available in both tri ...
version 4.2 released in late 1996. Win32s included an implementation of the card game FreeCell as an example application, a couple of years before the game became famous with its inclusion in
Windows 95 Windows 95 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems. The first operating system in the 9x family, it is the successor to Windows 3.1x, and was released to manufacturi ...
. '' Warcraft II: Tides of Darkness'', a DOS game, included a level editor that required Win32s to run. The editor used a Windows GUI for displaying the large maps because high-resolution graphic modes were already handled by Windows. The NCSA
Mosaic A mosaic is a pattern or image made of small regular or irregular pieces of colored stone, glass or ceramic, held in place by plaster/mortar, and covering a surface. Mosaics are often used as floor and wall decoration, and were particularly pop ...
web browser A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used o ...
version 2 also required Win32s. C# applications can be compiled by the
CoreRT The domain name net is a generic top-level domain (gTLD) used in the Domain Name System of the Internet. The name is derived from the word ''network'', indicating it was originally intended for organizations involved in networking technologies ...
compiler into Win32 code that is accepted by the 1994 Visual C++ linker. This combination produces Win32 executables that can run on Windows 3.1 with Win32s.Hacker News


Sources and installation

Win32s can still be found using web search engines; PW1118.EXE is generally the installation file used. $ sha256sum pw1118.exe 5e7162ba950856104b4c6cb39d2fa5c55e73f86b1d65c31341913dba8b6ba455 pw1118.exe Developers should ensure they are installing OLE if they require consistent clipboard handling. Many applications which need to be made OLE aware (i.e. setting up their OLE server) must be reinstalled. Win32s was also included with some early Win32 programs.


References


External links


Win32 Tutorial by Graeme Chandler
* tp://ftp.microsoft.com/softlib/MSLFILES/PW1118.EXE Download Win32s from Microsoft{{dead link, date=September 2018
Archive of almost every version of Win32s
*Andreas C. Hofmann
Win32 subset / Win32s (1993 to 1995)
in: Computing History Dictionary (german) ��11.10.2021 Microsoft application programming interfaces Compatibility layers de:Windows Application Programming Interface#Win32s