Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Wine (software)
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Basic architecture === The programming interface of Microsoft Windows consists largely of [[dynamic-link library|dynamic-link libraries]] (DLLs). These contain a huge number of wrapper sub-routines for the system calls of the kernel, the NTOS kernel-mode program (ntoskrnl.exe). A typical Windows program calls some Windows DLLs, which in turn calls user-mode gdi/user32 libraries, which in turn uses the kernel32.dll (win32 subsystem) responsible for dealing with the kernel through system calls. The system-call layer is considered private to Microsoft programmers as documentation is not publicly available, and published interfaces all rely on subsystems running on top of the kernel. Besides these, there are a number of programming interfaces implemented as services that run as separate processes. Applications communicate with user-mode services through RPCs.<ref name="archi">{{cite web |title=Wine Developer's Guide/Architecture Overview |url=https://wiki.winehq.org/Wine_Developer%27s_Guide/Architecture_Overview#Wine_Overview |website=WineHQ |access-date=22 April 2019 |archive-date=22 April 2019 |archive-url=https://web.archive.org/web/20190422232117/https://wiki.winehq.org/Wine_Developer%27s_Guide/Architecture_Overview#Wine_Overview |url-status=live }}</ref> Wine implements the Windows [[application binary interface]] (ABI) entirely in [[user space]], rather than as a [[Loadable kernel module|kernel module]]. Wine mostly mirrors the hierarchy, with services normally provided by the kernel in Windows<ref>See the "[[Windows service]]" article</ref> instead provided by a [[daemon (computing)|daemon]] known as the wineserver, whose task is to implement basic Windows functionality, as well as integration with the [[X Window System]], and translation of [[Signal (IPC)|signals]] into native Windows exceptions. Although wineserver implements some aspects of the [[Architecture of Windows NT|Windows kernel]], it is not possible to use native Windows drivers with it, due to Wine's underlying architecture.<ref name="archi"/>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Wine (software)
(section)
Add topic