Natif (informatique) - Native (computing)

En informatique , les logiciels natifs ou les formats de données sont ceux qui ont été conçus pour fonctionner sur un système d'exploitation particulier . Dans un sens plus technique, le code natif est un code écrit spécifiquement pour un certain processeur . En revanche, les logiciels multiplateformes peuvent être exécutés sur plusieurs systèmes d'exploitation et / ou architectures informatiques .

Par exemple, une Game Boy reçoit son logiciel via une cartouche , qui contient du code qui s'exécute nativement sur la Game Boy. La seule façon d'exécuter ce code sur un autre processeur est d'utiliser un émulateur , qui simule une véritable Game Boy. Cela se fait généralement au détriment de la vitesse.

Applications

Quelque chose s'exécutant sur un ordinateur en mode natif signifie qu'il s'exécute sans aucune couche externe nécessitant moins de couches logicielles. Par exemple, dans Microsoft Windows, l' API native est une interface de programmation d'application spécifique au noyau Windows NT , qui peut être utilisée pour donner accès à certaines fonctions du noyau, auxquelles il n'est pas possible d'accéder directement via une API Windows plus universelle .

Systèmes d'exploitation

Utilisé pour désigner le niveau de virtualisation le plus bas ou l'absence de virtualisation. Par exemple, le terme «VM native» est utilisé pour garantir une référence au système d'exploitation de niveau le plus bas, celui qui maintient en fait le contrôle direct du matériel lorsque plusieurs niveaux de virtualisation se produisent.

Langage machine

Le code machine , également appelé code natif, est un programme écrit en langage machine. Le code machine est généralement considéré comme le niveau de code le plus bas pour un ordinateur, qui, dans sa forme de niveau le plus bas, est écrit en binaire (0 et 1), mais est souvent écrit en hexadécimal ou octal pour le rendre un peu plus facile à manipuler. Ces jeux d'instructions sont ensuite interprétés par l'ordinateur. Avec cela, il n'y a pas besoin de traduction. le code machine est strictement numérique et n'est généralement pas ce que les programmeurs programment, en raison de cette nature complexe. Le code machine est également aussi proche que possible du processeur , donc en utilisant ce langage, vous programmez spécifiquement pour ce processeur car le code machine pour chaque processeur peut différer. En règle générale, les programmeurs coderont dans des langages de haut niveau tels que C , C ++ , Pascal (ou d'autres langages directement compilés) qui sont traduits en code d'assemblage , qui le traduit ensuite en code machine (ou dans la plupart des cas, le compilateur génère directement du code machine) . Étant donné que chaque CPU est différent, les programmes doivent être recompilés ou réécrits pour fonctionner sur ce CPU.

Données

Appliqués aux données , les formats de données natifs ou les protocoles de communication sont ceux pris en charge par un certain matériel informatique ou logiciel, avec une cohérence maximale et une quantité minimale de composants supplémentaires.

Par exemple, les adaptateurs vidéo EGA et VGA prennent en charge nativement la page de codes 437 . Cela n'empêche pas de prendre en charge d'autres pages de codes , mais cela nécessite soit le téléchargement d' une police, soit l'utilisation de modes graphiques .

Les références