Pour prendre un exemple ultra simple, disons que je cherche la signification d'un code d'erreur 47, et que le code, propre, inclus <sys/errno.h>.
Sur un BSD, il suffit de faire "grep 47 /usr/include/sys/errno.h" et tu as ta réponse. (en l'occurence "#define EAFNOSUPPORT 47 /* Address family not supported by protocol family */")
Sous linux, tu vas voir /usr/include/sys/errno.h (normal), mais celui-ci te renvoit (fait un include) vers /usr/include/errno.h, qui te renvoit vers bits/errno.h. Celui-ci définit quelques codes d'erreurs et te renvoit vers linux/errno.h pour le reste, lequel n'est qu'un include de asm/errno.h... lequel renvoit vers des asm-*/errno.h différents suivant les architectures...
La dernière fois, j'avais compté 7 redirections avant d'obtenir la bonne information.
Ok, ici c'est pour l'exemple, mais ce "bordel" a quelque chose de systématique lorsque tu essayes de rentrer un peu dans le code.
Et encore, je ne parle pas ici des patchs kernels spécifiques à chaque distribution.
Quand à la stabilité, il est vrai que nous n'avons pas qu'une utilisation "Desktop" des machines, mais j'ai l'impression qu'il y a a peu près autant de différence entre un FreeBSD et un Linux 2.6 qu'entre un Linux et un Windows (sur du matériel supposé être correctement supporté, s'entend). Maintenant c'est vrai que c'est très subjectif ;)
[^] # Re: Liberté de choix
Posté par sobek . En réponse au journal Tanenbaum et les microkernels. Évalué à 10.
Sur un BSD, il suffit de faire "grep 47 /usr/include/sys/errno.h" et tu as ta réponse. (en l'occurence "#define EAFNOSUPPORT 47 /* Address family not supported by protocol family */")
Sous linux, tu vas voir /usr/include/sys/errno.h (normal), mais celui-ci te renvoit (fait un include) vers /usr/include/errno.h, qui te renvoit vers bits/errno.h. Celui-ci définit quelques codes d'erreurs et te renvoit vers linux/errno.h pour le reste, lequel n'est qu'un include de asm/errno.h... lequel renvoit vers des asm-*/errno.h différents suivant les architectures...
La dernière fois, j'avais compté 7 redirections avant d'obtenir la bonne information.
Ok, ici c'est pour l'exemple, mais ce "bordel" a quelque chose de systématique lorsque tu essayes de rentrer un peu dans le code.
Et encore, je ne parle pas ici des patchs kernels spécifiques à chaque distribution.
Quand à la stabilité, il est vrai que nous n'avons pas qu'une utilisation "Desktop" des machines, mais j'ai l'impression qu'il y a a peu près autant de différence entre un FreeBSD et un Linux 2.6 qu'entre un Linux et un Windows (sur du matériel supposé être correctement supporté, s'entend). Maintenant c'est vrai que c'est très subjectif ;)