Cygwin: Est-ce que cela coexiste pacifiquement avec le fonctionnement normal de Windows?

3

J'aimerais installer cygwin, principalement pour exécuter gcc et la chaîne d'outils associée, mais avant cela, j'aimerais savoir d'avance comment l'installation de Cygwin modifie le fonctionnement de Windows (ou de la console Windows) qui doivent être anticipé.

Peut-être n'y a-t-il pas d'interaction problématique Cependant, Cygwin (ou des composants optionnels) fournissant des fonctionnalités qui remplacent les fonctions du système d’exploitation Linux et de l’environnement, je ne sais pas ce qu’il faut faire pour les fournir.

Il est clair que certains programmes Cygwin ne sont que des exécutables à utiliser en cas de besoin. Plus d'un point d'interrogation sont:

  • Console et shell, par exemple: bash: Cygwin fournit-il son propre terminal séparé? Ou fournissez un exécutable en ligne de commande qui s'exécute dans la console Windows? Ou cela modifie-t-il le fonctionnement de base du shell de commande Windows?

  • Cygwin installe-t-il des services qui s'exécutent à tout moment, même lorsque l'utilisateur n'exécute aucune activité liée à Cygwin? Ou simplement des dll (et des exécutables) que les programmes invoquent uniquement en cas de besoin?

Y a-t-il d'autres points à surveiller dans cette veine? Merci!

Gwideman
la source

Réponses:

6

Cygwin fonctionne en fournissant une bibliothèque cygwin1.dllqui joue le rôle de couche de traduction entre les API POSIX et Linux et les fonctionnalités Windows correspondantes. De cette façon, il n'est pas nécessaire de modifier le système d'exploitation du tout. (Bien entendu, les programmes Cygwin doivent être compilés en tant que programmes Win32 .exe natifs, simplement liés à des bibliothèques différentes.)

Les programmes basés sur les terminaux peuvent être exécutés dans les deux sens: ils peuvent être exécutés dans la console Windows (où cygwin1.dll traduit automatiquement les séquences de type VT100 imprimées en fonctions API de la console Windows), ou dans des émulateurs de terminal de type VT100, tels que MinTTY. , URxvt, ou PuTTYcyg. (Cygwin vient généralement avec l'ancien par défaut.)

Normalement , les services ne sont pas nécessaires pour le fonctionnement normal, sauf si vous installez des programmes qui sont conçus comme des services (par exemple , le démon serveur OpenSSH).


[A titre de comparaison: Interix, alias Services pour Unix, travaille à une couche inférieure, en fournissant un « posix » sous - système qui fonctionne à côté du sous - système Win32 régulière, directement au - dessus du bas niveau API « natif » ou « NT ».

Néanmoins, ni le noyau ni les autres composants du système d'exploitation ne doivent être modifiés, ni les pilotes personnalisés installés, car les deux méthodes ajoutent simplement une couche de traduction dans l'espace utilisateur.]

Grawity
la source
Merci pour une réponse qui répond à mes préoccupations et fournit plusieurs détails de base pour la corroborer et la mettre en contexte. Bien joué.
Gwideman
Je suis curieux de savoir quels avantages pourrait tirer de l'accès de niveau inférieur d'Interix au système d'exploitation / au matériel par rapport à Cygwin? Ou ont-ils tous deux des capacités pratiquement identiques?
Hashim