This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: What is Cygwin DLL & emulation Layer ?


Neeraj Sahu wrote:

Why you have designed cygwin as DLL ? What's the advantage ?

The advantage relative to what? Propose another way it could work, and we can compare and contrast the alternatives.


What is Cygwin emulation layer ?

cygwin1.dll. It sits between POSIX type programs and the Windows API, allowing these programs to believe they are running on a POSIX type operating system, so they don't have to know how to use the Windows equivalent APIs.


In addition to the Cygwin DLL, there is also a huge library of POSIX software ported to use the DLL, to provide a complete POSIX operating environment. These things are not Cygwin proper, but they are considered part of a working Cygwin system, in the same way that the Linux kernel is only part of a complete "Linux" operating system.

How Cygwin work internally. Please explain in brief ?

The Cygwin DLL translates POSIX system calls into Windows system calls. Where there is no exact match between the behavior of Windows and the expected behavior on a POSIX operating system, the Cygwin DLL provides the functionality to make up the gap. In some places the "thickness" of the DLL is very thin, while in other places it has to do a lot of work to provide POSIX behavior in terms of the Windows API.


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]