[解決済み] BEAM (the Erlang VM)とはどのような仮想マシンですか?
2022-07-25 10:20:29
質問
私の理解では、仮想マシンは、システム仮想マシンとプロセス仮想マシンの 2 つのカテゴリに分類されます。BEAM がどこに位置するのか、私にはちょっと曖昧です。私が知らない別の種類の仮想マシンがあるのでしょうか?
どのように解決するのですか?
Erlang VMは1つのOSプロセスとして動作します。デフォルトではマシンを最大限活用するために、1コアにつき1つのOSスレッドが実行されます。スレッドの数とどのコアで実行するかはVMの起動時に設定することができます。
Erlangプロセスは以下のように実装されています 完全に はErlang VMによって行われ、OSプロセスやOSスレッドとは何の関係もありません。ですからたとえ100万以上のプロセスからなるErlangシステムを動かしていても、1コアにつき1つのOSプロセスと1つのスレッドにしかならないのです。この意味で、Erlang VMはプロセスバーチャルマシンです。しかしErlangシステム自体はOSのように振る舞い、ErlangプロセスはOSプロセスととてもよく似た性質を持っています。実際にBEAMをベースにしたErlang VMがあり、これはベアメタル上で動作し、それ自体がOSになっています。 Xen上のErlang .
ところで、何百万ものErlangプロセスを実行するシステムを持つことは完全に可能で、実際にいくつかの製品で実行されています。 WhatsApp .
私たちがErlangの基本的な環境を設計したとき、間違いなくOSのことをとても考えていました。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン