Tanenbaum dans son fameux livre 'Operating systems' (paragraphe 1.6) compare rapidement les interfaces 'systeme' de windows et linux(/unix) et montre que celle de linux est beaucoup plus petite et plus cohérente mais pas moins fonctionnelle (au contraire).
Windows propose beaucoup des fonctions aux signatures complexes sans consistance dans les types ni l'ordre des arguments avec des doublons (tous ces problèmes pour des raisons de compatibilité avec les anciennes versions).
Enfin, il y'a un mélange d'appels systèmes et de fonctions en userland dans l'API Win32 et il n'est pas toujours facile de savoir si une fonction fera un appel système ou non ni quel sera son coût, d'autant que ca peut varier d'une version à l'autre (c'est autant un problème qu'une fonctionnalité, l'API Win32 étant justement là pour assurer une interface stable aux développeurs sans geler l'interface noyau).
Pour résumer, personnellement je trouve qu'une collection d'API simples, cloisonnées et clairement documentées est préférable. Exemple typique des avantges du cloisonnement: comment faire un serveur web light avec windows ? Avec linux on peut le faire en 500MB sans problème. Et avec Windows 10 ?
[^] # Re: Pas sûr de tout comprendre
Posté par Colin Pitrat (site web personnel) . En réponse au journal Pourquoi Windows. Évalué à 9.
Tanenbaum dans son fameux livre 'Operating systems' (paragraphe 1.6) compare rapidement les interfaces 'systeme' de windows et linux(/unix) et montre que celle de linux est beaucoup plus petite et plus cohérente mais pas moins fonctionnelle (au contraire).
Windows propose beaucoup des fonctions aux signatures complexes sans consistance dans les types ni l'ordre des arguments avec des doublons (tous ces problèmes pour des raisons de compatibilité avec les anciennes versions).
Enfin, il y'a un mélange d'appels systèmes et de fonctions en userland dans l'API Win32 et il n'est pas toujours facile de savoir si une fonction fera un appel système ou non ni quel sera son coût, d'autant que ca peut varier d'une version à l'autre (c'est autant un problème qu'une fonctionnalité, l'API Win32 étant justement là pour assurer une interface stable aux développeurs sans geler l'interface noyau).
Pour résumer, personnellement je trouve qu'une collection d'API simples, cloisonnées et clairement documentées est préférable. Exemple typique des avantges du cloisonnement: comment faire un serveur web light avec windows ? Avec linux on peut le faire en 500MB sans problème. Et avec Windows 10 ?