Cygwin: Coexiste pacificamente com a operação normal do Windows?

3

Eu gostaria de instalar o cygwin, principalmente para executar o gcc e a cadeia de ferramentas associada, mas antes de fazer isso, gostaria de ter um heads-up sobre como instalar o Cygwin altera a operação do Windows (ou console do Windows) que precisam ser antecipados.

Talvez não haja interação de problema algum. No entanto, como o Cygwin (ou componentes opcionais) fornece funcionalidade que substitui as funções de sistema operacional e ambiente do Linux, não sei o que ele precisa fazer para fornecê-las.

É evidente que alguns programas do Cygwin são apenas executáveis para serem chamados quando necessário. Mais de um ponto de interrogação são:

  • Console e shell, por exemplo: bash: O Cygwin fornece seu próprio terminal separado? Ou fornecer um executável de linha de comando executado no console do Windows? Ou ele modifica a operação de base do shell de comando do Windows de alguma forma?

  • O Cygwin instala serviços que são executados o tempo todo, mesmo quando o usuário não está realizando atividades relacionadas ao Cygwin? Ou apenas dlls (e executáveis) que os programas invocam apenas quando necessário?

Quaisquer outros pontos a observar nesse sentido? Obrigado!

    
por gwideman 15.03.2014 / 10:00

1 resposta

6

O Cygwin funciona fornecendo uma biblioteca, cygwin1.dll , que atua como a camada de tradução entre as APIs POSIX e Linux e os recursos correspondentes do Windows. Dessa forma, não é necessário modificar o sistema operacional. (Os programas Cygwin, é claro, precisam ser compilados como programas nativos Win32 .exe, simplesmente vinculados a diferentes bibliotecas.)

Programas baseados em terminal podem ser executados nos dois sentidos: podem ser executados no console do Windows (onde o cygwin1.dll converte automaticamente seqüências do tipo VT100 impressas em funções da API do console do Windows) ou podem ser executados em terminal semelhante ao VT100 emuladores como MinTTY, URxvt ou PuTTYcyg. (Cygwin geralmente vem com o primeiro por padrão).

Normalmente, os serviços não são necessários para a operação normal, a menos que você instale programas que são projetados como serviços (por exemplo, o daemon do servidor OpenSSH).

[Apenas para comparação: Interix, também conhecido como Services for Unix, trabalha em uma camada inferior, fornecendo um subsistema "posix" que executa ao lado do subsistema Win32 normal, diretamente em cima das APIs "Nativas" ou "NT" de baixo nível.

Mesmo assim, nem o kernel nem outros componentes do sistema operacional precisam ser modificados, nem os drivers personalizados devem estar instalados, já que os dois métodos apenas adicionam uma camada de tradução no espaço do usuário.]

    
por 15.03.2014 / 13:27

Tags