Windows on Windows: Difference between revisions

Content deleted Content added
m Undid revision 1037050551 by 85.153.226.225 (talk). «Windows 95 and Windows 98 kernels» was less awkward than the new «…to…», and there are no major versions between 95 & 98, so there's no reason to make it more awkward.
m Tag templates go _after_ punctuation, per WP:MOS.
Line 18:
| license = [[Proprietary software|Proprietary]] [[commercial software]]
}}
In [[computing]], '''Windows on Windows''' (commonly referred to as '''WOW'''),<ref>{{cite web|url=http://support.microsoft.com/kb/181333|title=WOW Environment Remains in Memory After Quitting 16-Bit Program|website=Support|publisher=[[Microsoft]]|access-date=February 7, 2017|date=February 22, 2007|url-status=dead|archive-url=https://web.archive.org/web/20071023060218/http://support.microsoft.com/kb/181333|archive-date=October 23, 2007}}</ref><ref>{{cite web|url=http://support.microsoft.com/kb/153544|title=Starting 16-Bit WOW Subsystem on Windows NT Server|date=November 1, 2016|access-date=February 7, 2017|website=Support|publisher=[[Microsoft]]|url-status=dead|archive-url=https://web.archive.org/web/20070509051612/http://support.microsoft.com/kb/153544|archive-date=May 9, 2007}}</ref><ref>{{cite web|url=https://support.microsoft.com/kb/220159|title=Disabling the MSDOS and WOWEXEC Subsystems on Terminal Server|date=November 1, 2006|website=Support|publisher=[[Microsoft]]|access-date=February 7, 2017|url-status=live|archive-url=https://web.archive.org/web/20080113000651/http://support.microsoft.com/kb/220159|archive-date=January 13, 2008}}</ref>) is a [[compatibility layer]] of [[32-bit]] versions of the Microsoft [[Windows NT]] family of [[operating system]]s that extends [[Virtual DOS machine#Windows NTVDM|NTVDM]] to provide limited support for running [[legacy code|legacy]] [[16-bit]] programs written for [[Windows 3.x]] or earlier. There is a similar subsystem, known as [[WoW64]], on 64-bit Windows versions that runs 32-bit programs.
 
==Background==
Many 16-bit Windows legacy programs can run without changes on newer [[32-bit]] editions of Windows. The reason designers made this possible was to allow software developers time to remedy their software during the industry transition from [[Windows 3.1x]] to [[Windows 95]] and later, without restricting the ability for the operating system to be upgraded to a current version before ''all'' programs used by a customer had been taken care of.
 
The [[Windows 9x]] series of operating systems, reflecting their roots in [[DOS]], functioned as hybrid 16- and 32-bit systems in the sense that the underlying operating system was not truly 32-bit,{{Citationcitation needed |reason=What is the source of this assertion? The fact that you could boot to DOS? |date=January 2017}}, and therefore could run 16-bit software natively without requiring any special emulation; [[Windows NT]] operating systems differ significantly from Windows 9x in their architecture, and therefore require a more complex solution. Two separate strategies are used in order to let 16-bit programs run on 32-bit versions of Windows (with some runtime limitations). They are called [[thunk]]ing and [[Shim (computing)|shimming]].
 
===Thunking===