Maison  >  Article  >  Opération et maintenance  >  Quelle est la différence entre Linux et Vxworks

Quelle est la différence entre Linux et Vxworks

WBOY
WBOYoriginal
2022-07-11 16:45:039269parcourir

La différence entre Linux et vxworks : 1. La structure du noyau est différente. Vxworks est un micro-noyau et ne fournit que des services de base, tandis que Linux est un noyau macro. En plus des services de base, le noyau comprend également des systèmes de fichiers, des protocoles réseau, etc.; 2. Mode de fonctionnement La différence est que l'application vxworks est en "mode réel" et qu'il n'y a pas de distinction entre le mode utilisateur et le mode noyau, tandis que Linux utilise le "mode protégé". les threads du noyau s'exécutent en mode noyau.

Quelle est la différence entre Linux et Vxworks

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

Quelle est la différence entre Linux et vxworks

Le système d'exploitation que j'utilise actuellement pour le développement embarqué est VxWorks Quand j'étais à l'université, j'utilisais le plus le système d'exploitation Linux. Cependant, quelle est la différence entre ces deux systèmes d'exploitation ? Quelle est la différence ?Je ne l'ai jamais vraiment résumé soigneusement.Quand d'autres me le demandent, il est inévitable de se sentir un peu gêné.Après tout, j'étudie le développement embarqué, mais je n'ai pas une compréhension approfondie des systèmes de développement embarqués. J'y ai consacré du temps aujourd'hui. Pour résumer, quelle est la différence entre les deux ?

microkernel, le noyau uniquement fournit des Macro kernel, en plus des services de base, le Le noyau adopte une véritable gestion du stockage, ne peut pas empêcher la propagation des erreursLa protection de la mémoire peut empêcher les erreurs de se propager Appels système, plus sûrs Temps réel doux

VxWorks

Linux

Structure du noyau

services de base, tels que : la gestion des tâches,

Mémoire gestion, gestion des interruptions, etc.

kernel comprend également des systèmes de fichiers, des protocoles réseau

, etc. applications Le programme s'exécute en "mode réel"

Il n'y a pas de distinction entre le mode utilisateur et le mode noyau

en utilisant le "mode protégé". Les processus et threads utilisateur s'exécutent en mode utilisateur, et les threads du noyau s'exécutent en mode noyau.

Accès à la mémoire et protection de la mémoire

toutes les tâches s'exécutent dans le même emplacement physique

, les programmes utilisateur exploitent directement l'adresse physique

et ne peuvent pas fournir directement protection de la mémoire,

Le noyau adopte une méthode de gestion du stockage virtuel, l'utilisateur dispose d'un espace d'adressage indépendant et le processus utilisateur ne peut accéder qu'à l'espace virtuel fourni par ce processus

Unité d'exécution

Tâches

Processus, threads

Demander la méthode de service du noyau

appel de fonction, Plus rapide

Temps réel

Temps réel dur

VxWorks est principalement utilisé dans les communications de données au niveau des télécommunications et d'autres produits, tandis que Linux est principalement utilisé dans les produits de contrôle grand public, industriels, etc.

Micro-noyau, macro-noyau

Les composants qui fournissent divers services dans le noyau et les processus qui utilisent de tels services Une relation client/serveur se forme entre eux. Ce type de service ne doit pas nécessairement rester dans le noyau. Il peut également être conçu et implémenté comme un « processus de service ». n'est qu'une communication inter-processus.Si En déplaçant ces services du noyau au niveau du processus, la structure du noyau lui-même peut être considérablement réduite et rationalisée, et chaque processus de service peut être conçu, implémenté et débogué indépendamment.

Le micro-noyau est un mode noyau qui transfère les services vers les processus. Il est principalement utilisé dans les systèmes temps réel et les systèmes embarqués, principalement parce que ces systèmes n'ont généralement pas de disques et que l'ensemble du système doit être placé dans l'EPROM. Il est souvent limité par. l'espace de stockage et les services requis sont relativement simples, comme PSOS, VxWorks, etc.

Le noyau macro est une structure de noyau traditionnelle qui intègre la gestion des processus, la gestion de la mémoire et d'autres fonctions de service dans le noyau. Il est généralement utilisé dans les noyaux à usage général, tels que UNIX, Linux, etc.

Pilote de périphérique Comparaison partielle. et analyse

En raison de la séparation structurelle du système d'exploitation Linux et du chargeur de démarrage Linux, les pilotes de périphérique entre eux ne peuvent pas être utilisés de manière interchangeable. Bien entendu, certains codes liés au matériel dans l'initialisation matérielle de la puce peuvent être échangés. . Le pilote de périphérique du BOOTROM de VxWorks et de la version en cours d'exécution sont les mêmes, car la structure de sa version en cours d'exécution et celle du BOOTROM sont cohérentes et utilisent le même noyau de système d'exploitation. Le pilote de périphérique du système d'exploitation Linux s'exécute dans l'espace noyau et le processus utilisateur s'exécute dans l'espace utilisateur. Dans le système d'exploitation Linux, les méthodes de gestion de la mémoire et de mappage de l'espace noyau et de l'espace utilisateur sont différentes. Les applications et les pilotes de périphériques impliqueront des espaces mémoire différents lors de l'échange de données, ce qui affectera une certaine efficacité. Cependant, ce problème peut être résolu en modifiant le. système. Configuration de l’espace mémoire et autres méthodes à résoudre. Le système d'exploitation VxWorks ne sépare pas l'espace noyau et l'espace utilisateur. Les pilotes de périphériques et les applications s'exécutent tous dans le même espace, et l'échange de données est très pratique, mais la stabilité de cette structure n'est pas aussi bonne que cela. du système Linux. Les systèmes d'exploitation fournissent de nombreuses ressources et modèles de pilotes de périphériques. Cependant, en raison de la nature open source de Linux, le type et le nombre de pilotes de périphériques qu'il fournit dépassent de loin ceux de VxWorks.

Apprentissage recommandé : Tutoriel vidéo Linux

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn