2016-01-12 1 views
0

Cela peut sembler plus d'une question théorique, mais je vois le terme métal nu autour de beaucoup de choses quand on parle de performance.Définition du métal nu

Je vois parfois des gens dire comment x a un accès au métal nu (pas nécessairement sur ce site). J'ai regardé un peu et j'ai trouvé quelques endroits qui le décrivaient comme une machine sans système d'exploitation. Je voudrais également supposer qu'il a quelque chose à voir avec l'autre matériel (etc. CPU/GPU)

  • Est-ce le même métal nu que les gens se réfèrent à la programmation et les langues?

  • Lorsque les gens parlent d'accès nu pour plus de performance, y a-t-il un inconvénient?

+0

«Down to the Silicone» serait plus précis, mais c'est une figure de style, pas un fait physique. – EJP

Répondre

2

métal nu est une expression métaphorique de quelque chose qui se passe au niveau très bas. Vous pouvez imaginer que les ordinateurs modernes sont architecturés avec une hiérarchie imbriquée de couches d'abstraction. Au niveau le plus bas de cette hiérarchie, nous avons des composants électroniques, des transistors, des électrons si vous voulez. Les niveaux moyens fournissent des services de communication et de présentation. Le niveau supérieur va au-delà des applications uniques et couvre les systèmes informatiques distribués.

Pour accéder aux niveaux bas directement peut être une façon de faire quelque chose très efficacement en termes de performance. Cependant, cela n'est en pratique vrai que pour des contextes très limités. Le prix à payer est un coût de développement élevé, un manque de flexibilité/de portabilité, un temps de développement long, un plus grand risque de défaillance et des pannes.

Il faut beaucoup de connaissances et d'expérience pour implémenter quelque chose avec de meilleures performances par rapport à ce que les bibliothèques établies et les frameworks réalisent.

Travailler sur des niveaux d'abstraction plus élevés permet une meilleure efficacité de développement, parfois au détriment des performances. Mais le développement à des niveaux d'abstraction de plus en plus élevés est ce que la plupart des développeurs ont tendance à faire pour obtenir des avantages économiques.