Pourquoi Linux fonctionne-t-il bien sur autant de types de machines différents - ordinateurs de bureau, ordinateurs portables, serveurs, appareils embarqués, téléphones mobiles, etc.? Est-ce principalement parce que le système est ouvert, donc n'importe quelle partie peut être modifiée pour fonctionner dans différents environnements? Ou existe-t-il d'autres propriétés du noyau et / ou du système Linux qui permettent à cet OS de fonctionner plus facilement sur une si large gamme de plates-formes?
22
Réponses:
Bien que l'ouverture en soit certainement une partie, je pense que le facteur clé est l'insistance continue de Linus Torvald pour que tout le travail, du plus grand au plus petit, ait une place dans le noyau Linux principal, tant qu'il est bien fait. S'il avait décidé à un moment donné de tracer une ligne et de dire "d'accord, pour ce matériel de super-ordinateur sophistiqué, nous avons besoin d'une fourchette", alors des variantes complètement séparées de haut de gamme et de petit système auraient pu se développer. Dans l'état actuel des choses, au lieu de cela, les gens ont fait le travail le plus difficile pour que tout se joue bien ensemble.
Et, les kludges qui permettent à un côté des choses au détriment de l'autre ne sont généralement pas autorisés à entrer - encore une fois, forçant les gens à résoudre les problèmes de manière plus difficile mais plus correcte, ce qui s'avère généralement plus facile à avancer. une fois que tout ce qui est requis, le kludge devient une note de bas de page historique.
D'après une interview il y a plusieurs années :
la source
Linux s'adapte à de nombreux types de matériel différents car:
la source
fork
est possible etfork
ne peut pas être fait de manière raisonnablement efficace sur un système de mémoire non virtuelle. Bien que les ports indiqués utilisent probablement des parties du noyau Linux et puissent exécuter certains logiciels Linux, il semble que les API exposées par ces ports soient pour la plupart différentes des noyaux Linux typiques. (Exemple: mappage de mémoire - qui nécessite évidemment de la mémoire virtuelle)Le noyau Linux évolue bien car c'est ce qu'il est. Le noyau central est relativement petit et fait ce qu'il doit faire. Les pilotes de périphériques sont facultatifs et peuvent être exclus du noyau pour les petits systèmes. Au-delà des exigences minimales du noyau, la plupart des fonctionnalités sont implémentées en tant que fonctionnalités facultatives.
Jetez un œil au fichier de configuration installé à côté de la plupart des noyaux. Il répertorie toutes les fonctionnalités qui ont été activées ainsi que les pilotes pris en charge.
Les pilotes sont pris en charge intégrés dans le noyau ou en tant que modules chargeables. Cela permet à un noyau d'être configuré dynamiquement sur le matériel sur lequel il s'exécute. C'est l'approche utilisée par de nombreuses distributions.
En plus d'avoir les outils de compilation, la modification du noyau pour un nouveau matériel est relativement simple. Pour un nouveau processeur, seul le code associé doit être implémenté en tant que modification de la fonctionnalité existante. Les nouveaux appareils nécessitent uniquement un nouveau pilote avec les crochets appropriés. Les nouveaux systèmes de fichiers sont également des modifications relativement triviales.
La base de code a été bien entretenue pour conserver cette flexibilité sans fourche externe. La compilation conditionnelle entraîne un noyau très flexible qui a été maintenu aussi minimal que possible.
la source
Je n'ai pas l'expertise technique détaillée pour sauvegarder cette réponse, mais mon expérience suggère que Linux évolue bien par rapport aux autres systèmes d'exploitation que j'utilise fréquemment (principalement Windows). Alors peut-être que la question est de savoir pourquoi Windows ne évolue pas aussi bien que Linux.
Si reformuler la question de cette façon vous est toujours utile, je suggérerais que les forces du marché incitent Microsoft à ajouter des fonctionnalités et des fonctionnalités adaptées au matériel le plus récent et le plus performant, car ils vendent plus de copies du système d'exploitation principalement lorsque les utilisateurs finaux achètent de nouveaux systèmes . Donc, à tout moment, je trouve que la dernière version de Windows fonctionne mal sur du matériel plus ancien et moins performant.
Pardonnez-moi si cela simplifie trop votre question.
la source