Win32s
Encyclopedia
Win32s is a 32-bit
32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....

 application runtime environment for the Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 3.1 and 3.11
Windows 3.1x
Windows 3.1x is a series of 16-bit operating systems produced by Microsoft for use on personal computers. The series began with Windows 3.1, which was first sold during March 1992 as a successor to Windows 3.0...

 operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s. It allowed some 32-bit applications to run on the 16-bit
16-bit
-16-bit architecture:The HP BPC, introduced in 1975, was the world's first 16-bit microprocessor. Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816. The Intel 8088 was program-compatible with the Intel 8086, and was 16-bit in that its registers were 16...

 operating system using call thunk
Thunk (compatibility mapping)
Thunk refers to the creation of a 16-bit virtual DOS machine within a 32-bit operating platform so that there is backward compatibility for applications using older code or system calls.-OS/2 & Windows 16-bit address hack:...

s.

Concept and Characteristics

Win32s was intended as a partial implementation of the Win32
Windows API
The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces available in the Microsoft Windows operating systems. It was formerly called the Win32 API; however, the name "Windows API" more accurately reflects its roots in 16-bit Windows and its support on...

 Windows API
Windows API
The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces available in the Microsoft Windows operating systems. It was formerly called the Win32 API; however, the name "Windows API" more accurately reflects its roots in 16-bit Windows and its support on...

 as it existed in early versions of Windows NT
Windows NT
Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement...

.

The "s" in Win32s signifies subset, as Win32s lacked a number of Windows NT functions, including threading, asynchronous I/O
Asynchronous I/O
Asynchronous I/O, or non-blocking I/O, is a form of input/output processing that permits other processing to continue before the transmission has finished....

, newer serial port
Serial port
In computing, a serial port is a serial communication physical interface through which information transfers in or out one bit at a time...

 functions and many GDI
Graphics Device Interface
The Graphics Device Interface is a Microsoft Windows application programming interface and core operating system component responsible for representing graphical objects and transmitting them to output devices such as monitors and printers....

 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 and the Windows 95 calculator.

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
Thunk
Thunk may refer to:* Thunk , a piece of code to perform a delayed computation * Thunk : a feature of some virtual function table implementations...

ing is fundamental to the implementation of Win32s as well as Chicago-kernel operating systems, which are Windows 95
Windows 95
Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Windows products...

, Windows 98
Windows 98
Windows 98 is a graphical operating system by Microsoft. It is the second major release in the Windows 9x line of operating systems. It was released to manufacturing on 15 May 1998 and to retail on 25 June 1998. Windows 98 is the successor to Windows 95. Like its predecessor, it is a hybrid...

, and Windows Me
Windows Me
Windows Millennium Edition, or Windows Me , is a graphical operating system released on September 14, 2000 by Microsoft, and was the last operating system released in the Windows 9x series. Support for Windows Me ended on July 11, 2006....

. 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. The stability and security Windows NT
Windows NT
Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement...

 can offer is partially based on thunking being totally illegal, except thunks from Win16 to Win32—the CPU must remain in protected mode
Protected mode
In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units...

 at all times. Newer versions of Windows transparently provide a virtual machine
Virtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...

 for running Win16 applications.

Win32s-compatible applications could be built using Microsoft's development tools, as well as at least Borland C++
Borland C++
Borland C++ is a C and C++ programming 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....

 4.x. However, several program compilation options 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++
Visual C++
Microsoft Visual C++ is a commercial , integrated development environment product from Microsoft for the C, C++, and C++/CLI programming languages...

 version 4.2 released in late 1996.

Win32s included an implementation of the card game FreeCell
FreeCell
FreeCell is a solitaire-based card game played with a 52-card standard deck. It is fundamentally different from most solitaire games in that nearly all deals can be solved...

 as an example application, a couple of years before the game became famous with its inclusion in Windows 95
Windows 95
Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Windows products...

.

Warcraft II: Tides of Darkness
Warcraft II: Tides of Darkness
Warcraft II: Tides of Darkness is a fantasy-themed real-time strategy game published by Blizzard Entertainment and first released for DOS in 1995 and for Mac OS in 1996...

, 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
Mosaic (web browser)
Mosaic is the web browser credited with popularizing the World Wide Web. It was also a client for earlier protocols such as FTP, NNTP, and gopher. Its clean, easily understood user interface, reliability, Windows port and simple installation all contributed to making it the application that opened...

 web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

 version 2 required Win32s also.

Sources and installation

Win32s can still be found using web search engines; PW1118.EXE is generally the installation file used. Developers should ensure they are installing OLE
Object Linking and Embedding
Object Linking and Embedding is a technology developed by Microsoft that allows embedding and linking to documents and other objects. For developers, it brought OLE Control eXtension , a way to develop and use custom user interface elements...

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.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK