À partir de ce que je comprends, une machine virtuelle tombe dans deux catégories, soit "système de la machine virtuelle" ou un "processus de la machine virtuelle". C'est un peu flou pour moi, où FAISCEAU de mensonges. Est-il une autre sorte de machine virtuelle, je ne suis pas au courant?
Réponses
Trop de publicités?L'Erlang VM s'exécute comme un processus du système d'exploitation. Par défaut, il fonctionne un OS thread par core pour obtenir une utilisation maximale de la machine. Le nombre de threads et sur lequel des noyaux ils courent peut être réglé lorsque la machine virtuelle est démarrée.
Erlang processus sont mis en œuvre entièrement par l'Erlang VM et n'ont pas de connexion à l'OS de processus ou threads OS. Donc, même si vous exécutez un Erlang système de plus d'un million de processus, il est toujours qu'un seul OS des processus et un thread par core. Donc, dans ce sens, la Erlang VM est un "processus de la machine virtuelle", tandis que la Erlang système lui-même très bien se comporte comme un système d'exploitation et Erlang processus ont des propriétés très similaires à OS de processus, par exemple l'isolement. Il existe en fait une Erlang VM, basé sur la POUTRE, qui s'exécute sur le métal nu et est en fait un OS dans son propre droit, voir Erlang sur Xen.
Btw, il est parfaitement possible d'avoir des systèmes exécutant des millions de processus Erlang et il est effectivement fait dans certains produits, par exemple WhatsApp.
Nous étions certainement penser beaucoup sur les Systèmes d'exploitation lorsque nous avons conçu la base Erlang environnement.
Je suppose que vous avez lu http://en.wikipedia.org/wiki/Virtual_machine - en vertu de cette terminologie, le FAISCEAU est un "processus de la machine virtuelle", tout comme la JVM.