X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Message-ID: <4A0BC787.8070403@etr-usa.com> Date: Thu, 14 May 2009 01:25:59 -0600 From: Warren Young User-Agent: Thunderbird 2.0.0.21 (Windows/20090302) MIME-Version: 1.0 To: Cygwin-L Subject: Re: What is Cygwin DLL & emulation Layer ? References: <6662cc9a0905132351l14485cd0hc1cf257cb6e92e03 AT mail DOT gmail DOT com> In-Reply-To: <6662cc9a0905132351l14485cd0hc1cf257cb6e92e03@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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/