32 votes

Windows CE contre Linux embarqué

Maintenant, je suis sûr que nous sommes tous bien conscients des les mérites de Linux vs Windows Desktop. Cependant j'ai entendu beaucoup moins sur le mondial de développement pour l'embarqué. Je suis principalement intéressé par les solutions pour l'industrie et suis donc indifférent à propos de l'IPhone ou Android et de plus en plus intéressés par ces deux Systèmes d'exploitation.

Quels sont les compromis entre les deux plates-formes dans le monde embarqué? Si vous considérez la construction d'une zone pour un projet spécifique avec du matériel personnalisé, une partie personnalisée de l'OS et des applications personnalisées qui choisiriez-vous et pourquoi?

Je suppose que Windows CE victoires sur les outils et Linux gagne sur les deux coûts et éventuellement de la performance. Mais ce n'est qu'totale de la spéculation. Quelqu'un aurait-il des faits ou de l'expérience des deux?

46voto

ctacke Points 53946

J'ai travaillé plusieurs années dans une entreprise qui fournit à la fois de CE et Linux pour l'ensemble de leur matériel, donc je suis assez familier avec les deux côtés de cette équation.

  • Outils: Windows CE les outils sont certainement meilleurs que ceux fournis par Linux, mais linux outils sont certainement de mieux en mieux.
  • Performance: Windows CE est en temps réel. Linux n'est pas. Le noyau linux n'est pas conçu pour déterminisme à tous. Il y a des extensions que vous pouvez ajouter pour obtenir le tri-de temps réel, mais CE bat-il.
  • Coût: C'est une zone de grand malentendu. Mon expérience est que CE est le coût inférieur de la boîte ($1k pour Platform Builder et aussi bas que 3 $par appareil pour une expédition à l'exécution. "Quoi?" vous demandez-vous? "Linux est gratuit." Eh bien, pas vraiment beaucoup, surtout dans le sous-arena. Oui, il existe des distributions comme Debian. Mais il y a beaucoup de morceaux que vous pourriez avoir besoin qui ne sont pas en libre catégorie. Cadres de l'INTERFACE utilisateur comme QT, Java runtime et codecs multimédias juste comme un début. Aussi, la plupart des distributions Linux avec un point de vue commercial adossé à des système de soutien (par exemple, MontaVista) sont loin d'être gratuit.
  • Source Disponibilité: Linux promoteurs pouvez, comme pour dire que CE est un mauvais choix à cause de l'absence de code source. Tout ce que je peux dire, c'est qu'en plus d'une décennie de travail avec du CE, dont la moitié consacré à noyau et le travail de pilote pour des conseils personnalisés, je n'ai jamais eu besoin de source qui n'a pas été livré avec du CE (qu'ils embarquent une grande majorité de celui-ci) une fois. J'aime bien avoir la source de trop, mais Microsoft fournit un soutien, de sorte que dans de rares cas, vous pourriez penser que vous avez besoin de cette source, vous pouvez les obtenir pour résoudre le problème (la seule fois où nous avons besoin de source, Microsoft a fourni un correctif, et gratuit pour les - qui est leur modèle, en vertu de CE.

Est-ce à dire que CE gagne à tous les coups? Pas de. Je ne dirais pas ça du tout. Si vous êtes un Linux boutique et vous avez beaucoup d'expérience de Linux et des actifs du code, vous seriez stupide de courir et d'aller de l'EC. Cependant, si vous venez à partir de zéro CE a généralement un faible coût total de possession. Les développeurs avec Win32/C# de l'expérience sont les plus présentes et par conséquent moins cher. Vous aurez également beaucoup plus "dans la boîte" avec CE que la plupart des autres distributions, qui signifie rapide du marché, si vous ne l'avez pas déjà ces choses faites maison déjà.

26voto

le dorfier Points 27267

Je vais parler pour le Linux de côté, au moins pour la catégorie de logiciel, je suis familier avec (ce qui est RF de collecte de données de l'équipement). Ou industrielle apps vs applications grand public.

Windows CE (et ses outils associés) IMH assez récente, E) est fortement biaisé à la création d'une "Expérience de Windows" sur un petit écran. L'entrée de l'utilisateur mode met l'accent sur la souris de type actions. Les ouvertures de session, de l'application de la sélection, etc. tous essayer d'être aussi semblable à Windows standard que possible.

Si un utilisateur est la conduite d'un chariot élévateur, ou de remplir un panier de cueillette, ou de déménager le matériel d'un endroit à l'autre, il y a un problème.

Et c'est une cible en mouvement, en particulier sur les .NET. Le Compact .NET est sérieusement handicapé, et des bibliothèques importantes (tels que les réseaux, traitement des données et de l'INTERFACE utilisateur) sont incomplètes et les versions trop souvent railler la version précédente. . CE semble être le parent pauvre dans la famille Windows (peut-être parce que il n'y a pas beaucoup de concurrence active vente du matériel pour les intégrateurs.)

Une belle stable les lignes et les colonnes de la console Linux est assez utile contexte pour beaucoup (dans mon expérience, la plupart) de haute-utiliser des applications sur une dinky écran.

Pas beaucoup de bien pour les jeux sur votre téléphone portable ou Zune, cependant.

NOTE:

Je pense que ctacke probablement parle avec précision pour le matériel intégrateur de côté. Je suis de plus en plus aligné avec les joueurs plus bas du pipe - logiciel des intégrateurs et des utilisateurs.

13voto

kgiannakakis Points 62727

J'ai travaillé dans des projets qui participent personnalisation du logiciel d'OEM conseil et je ne dis pas que Linux est moins cher. Lors de l'achat d'une carte, vous devez également acheter le kit de développement SDK. Vous aurez toujours à payer, même pour la version Linux. Certains fabricants offrent à la fois de CE Windows et Linux solutions pour leurs conseils et il n'y a pas une différence de prix. Pour Windows CE, vous devez également l'Platform Builder et de payer pour les licences, mais il est plus facile d'aller sans soutien.

Une autre question importante est de savoir si vous êtes à la création d'une Interface Utilisateur ou une tête de l'appareil. Pour les appareils qui nécessitent un écran LCD et de l'interaction humaine est beaucoup plus facile d'aller avec Windows CE. En revanche, si vous construisez une tête de l'appareil, Linux peut être une option sondeur - surtout si les protocoles réseau sont impliqués. Je crois que Linux implémentations sont plus fiables et plus faciles à modifier.

7voto

user108570 Points 81

J'ai développé le réseau des pilotes qui fonctionnent à la fois sur RT Linux (pour être plus précis, Linux noyau préemptif avec la RT patch) et Windows CE. Mon expérience a été que windows CE est plus stable en termes de réponse en temps réel. Cadre timings ont également montré que windows CE a moins de gigue.

Sur RT Linux, nous avons eu toutes sortes de problèmes. Par exemple, lorsque l'utilisateur déplace la souris; nos cadres ont été retardés. Devinez quoi, certaines variantes de x-windows désactiver les interruptions. Vous pouvez également vous sentir que vous êtes sûr sur l'écran de la console uniquement. Si vous avez VGA framebuffers activé, vous êtes voué à nouveau. Nous avons eu un seul problème avec windows CE dans les termes de la gigue de nouveau. Le problème s'est produit lorsque le contrôleur USB est un mauvais réglage de mode dans le BIOS et windows CE a l'aide de beaucoup de temps pour l'interrogation.

Pour être honnête, windows CE avait plus de soutien. Sur Linux, vous êtes sur votre propre. Vous devez lire chaque liste de diffusion afin de comprendre quels sont les problèmes que vous pouvez hve.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X