Ive начал изучать Erlang и обнаружил, что среда исполнения BEAM увлекательна. Обычно он утверждает, что в Erlang процессы относятся к языку, а не к ОС (что означает время выполнения, то есть BEAM в этом случае). Это легкие "зеленые процессы", которыми знаменит Эрланг. Далее он заявил (на странице 5 этот документ), что BEAM использует один (1) поток ОС для ядра процессора для планирования и другой поток ОС для i/о. Поэтому я задаюсь вопросом: из какого потока нужны циклы процессора для фактического выполнения кода Erlang?
Кроме того, если Im работает на двухъядерной машине, я ожидал бы - на основе того, что Ive читал до сих пор - увидеть три (3) потока, запущенные в процессе BEAM: два планировщика (по одному для каждого ядра) и один i/o thread. Но я вижу 10. Иногда 11. Иногда он начинается с 13 и, как высококачественные усилители, идет до 11.
Я смущен. Любое понимание будет оценено.