delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/05/14/03:26:34

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 <warren AT etr-usa DOT com>
User-Agent: Thunderbird 2.0.0.21 (Windows/20090302)
MIME-Version: 1.0
To: Cygwin-L <cygwin AT cygwin DOT com>
Subject: Re: What is Cygwin DLL & emulation Layer ?
References: <6662cc9a0905132351l14485cd0hc1cf257cb6e92e03 AT mail DOT gmail DOT com>
In-Reply-To: <6662cc9a0905132351l14485cd0hc1cf257cb6e92e03@mail.gmail.com>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019