Windows on Windows: Difference between revisions

Content deleted Content added
No edit summary
Undid revision 1302175074 by 128.124.108.87 (talk)
Tags: Undo references removed
 
(193 intermediate revisions by more than 100 users not shown)
Line 1:
{{Unreferenced|date=April 2007}}
 
{{Short description |Discontinued subsystem for 32-bit Windows for running 16-bit Windows programs}}
'''Windows on Windows''', commonly referred to as '''WOW''' or '''WoW''', is a name of two abstraction subsystems of [[Microsoft]] [[Microsoft Windows|Windows]] [[operating system]]. WoW is a name of two critical components for [[backward compatibility]] of [[legacy code]] as Windows progresses. The first component called WoW appeared in [[Windows NT]] to support applications using the [[Win16]] [[API]] and was relying on [[NTVDM]].
{{multiple|
{{primary sources|date=October 2018}}
{{refimprove|date=October 2018}}
}}
{{About|the 16-bit subsystem in the 32-bit editions of Windows NT|the 32-bit compatibility layer in the 64-bit editions|WoW64}}
{{Infobox software
[[de:| name = Windows on Windows]]
| screenshot =
| screenshot_size =
| caption =
| other_names = WOW
| developer = [[Microsoft]]
| released = {{Start date and age|1993|07|27}}
| replaces =
| operating system = [[Microsoft Windows]]
| platform = [[IA-32]]
| genre = [[Compatibility layer]]
| 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 discontinued [[compatibility layer]] of [[32-bit computing|32-bit]] versions of the [[Windows NT]] family of [[operating system]]s. Since 1993, with the release of [[Windows NT 3.1]], WoW extends [[Virtual DOS machine#Windows NTVDM|NTVDM]] to provide limited support for running [[legacy system|legacy]] [[16-bit computing|16-bit]] programs written for [[Windows 3.x]] or earlier. There is a similar subsystem, known as [[WoW64]], on [[64-bit computing|64-bit]] Windows versions that runs 32-bit programs.
 
SupportingThis [[Win32]]subsystem applicationswill onbe retired with the [[WindowsProduct XPlifecycle#Phase Professional4: x64Service|end Editionof support]], of [[Windows Server 200310]] x64in October 14, and2025. otherThe x64last versionsversion of Windows requiresto ainclude newthis WoWsubsystem calledis Windows 10, as [[WOW64Windows 11]]. The(and x64[[Windows versionsServer of2008 WindowsR2]] noand longerlater) includeonly run the 16[[x86-bit64]] WoWprocessor subsystemin (as[[long well as the NTVDM)mode]] and can therefore no longercannot run 16-bit Windowssoftware without nor DOSemulation applicationssoftware.
 
==Background==
It also refers to a product called WOWindowsTM Posters, which uses a proprietary printing process called WOWoptics to produce a translucent posters to be hung in your windows and are illuminated at night using common household lighting. They're images bring your house to life with giant cat eyes and skulls etc. They were invented by a printer, Brian Jenkins of New Jersey.
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.1]] 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.
[[Category:Windows components]]
 
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,{{citation 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 [[Execution_(computing)#Runtime|runtime]] limitations). They are called [[thunk]]ing and [[Shim (computing)|shimming]].
 
===Thunking===
{{Windows-stub}}
{{Main article|Thunk#Interoperability}}
The WOW subsystem of the operating system {{Clarify|text=thunks legacy 16-bit APIs to their newer 32-bit equivalents|date=July 2020}} in order to provide support for 16-bit [[pointer (computer programming)|pointer]]s, memory models and [[address space]].
 
All 16-bit programs run by default in a single [[virtual DOS machine]] with shared memory space. However, they can be configured to run in their own separate memory space, in which case each 16-bit process has its own dedicated [[virtual machine]]. The separate memory space increases system stability by preventing buggy 16-bit programs from interfering with one another, at the expense of reduced 16-bit [[inter-process communication]] and increased memory utilization.
[[de:Windows on Windows]]
 
The {{mono|WOWEXEC.EXE}} process on a [[Windows NT]] system facilitates Windows-on-Windows.<ref>{{cite web|url=http://support.microsoft.com/kb/105992|title=Windows NT Subsystems and Associated Files|date=October 31, 2006|access-date=February 7, 2017|website=Support|publisher=[[Microsoft]]|url-status=dead|archive-url=https://web.archive.org/web/20070316022744/http://support.microsoft.com/kb/105992|archive-date=March 16, 2007}}</ref><ref>{{cite web|url=http://support.microsoft.com/kb/199671|title=PRB: Relocation of Ntvdm.exe Fails on Multiprocessor Computers|website=Support|publisher=[[Microsoft]]|access-date=February 7, 2017|date=November 21, 2006|url-status=dead|archive-url=https://web.archive.org/web/20090222173939/http://support.microsoft.com/kb/199671|archive-date=February 22, 2009}}</ref> In addition to Windows-on-Windows emulating the [[Windows 95]] and [[Windows 98]] [[kernel (operating system)|kernels]], the {{mono|WIN.COM}} file emulates a [[Windows 3.x]] kernel for [[Virtual DOS machine#Windows NTVDM|NTVDM]], which runs the 16-bit DOS-based Windows applications on Windows NT.
 
===Shimming===
{{Main article|Shim (computing)}}
Application compatibility issues, notably around [[long filename]]s, multiple users and the concept of [[Principle of least privilege|least privilege]], may prevent some applications from working. For example, they may incorrectly assume full write access to the whole [[file system]] whereas [[NTFS]] security is in place.
 
When the Windows 95 line of operating systems was designed, a key requirement was for the file system to keep [[backward compatibility]] with [[8.3 filename]]s to allow legacy applications to continue to work on the platform. Windows 95 and later operating systems therefore support a compatibility mode whereby both a long filename and a short filename are stored in the [[Design_of_the_FAT_file_system#Directory_entry|directory entry]].
 
Furthermore, legacy applications that attempt to access hardware directly cannot do so in [[Protection ring|user mode]]. Legacy applications may also fail if system configuration files from the DOS and Windows 9x era are not present in Windows NT based kernels, hence the reason for zero-length versions of files like {{mono|[[AUTOEXEC.BAT]]}} and {{mono|[[CONFIG.SYS]]}} having to be carried forward on operating systems that do not use them.
 
A considerable number of shims are present in the [[compatibility layer|application compatibility layer]] of later versions of Windows to intercept and modify [[Application programming interface|API]] calls made by legacy applications that were written with a different set of assumptions and operating system best practices in mind.<ref>{{cite web|website=TechNet|publisher=[[Microsoft]]|url=https://technet.microsoft.com/en-us/library/ee461265(v=ws.10).aspx|title=Application Compatibility|access-date=February 7, 2017}}</ref> These fixes are updated from time-to-time as issues are discovered in popular legacy applications that are still in use.<ref>{{cite web|url=http://support.microsoft.com/kb/2272691|title=Application Compatibility Update for Windows 7 and Windows Server 2008 R2: August 2010|website=Support|publisher=[[Microsoft]]|access-date=February 7, 2017|date=August 24, 2010}}</ref>
 
==See also==
* [[Wine (software)]]
* [[Virtual DOS machine#WineVDM|OTVDM]], a third-party project based on code from Wine which runs 16-bit Windows programs on 64-bit versions of Windows.
 
==References==
{{Reflist}}
 
==External links==
* [http://www.microsoft.com/technet/archive/winntas/training/ntarchitectoview/ntarc_5.mspx?mfr=true Windows NT subsystems]
* [http://kb.iu.edu/data/acxn.html What are NTVDM and WOW?]
* {{cite web |url = http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/prork/preb_mon_ewvl.mspx |title= Monitoring 16-bit Windows applications |series= TechNet |publisher= Microsoft |url-status= dead |archive-date= December 25, 2007 |archive-url= https://web.archive.org/web/20071225171241/https://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/prork/preb_mon_ewvl.mspx }}
* [https://technet.microsoft.com/en-us/magazine/ff756590.aspx Optimize How Windows 7 Runs 16-Bit and MS-DOS-Based Programs]
 
{{Windows-stub Components}}
 
{{DEFAULTSORT:Windows On Windows}}
[[Category:Discontinued Windows components]]
[[Category:1993 software]]
[[Category:Compatibility layers]]