Михаил Тюрин
гость
гость
гость
Третий выпуск посвящён процессам и потокам как месту исполнения кода. Потоки дешевле переключаются и не дают блокирующему вызову остановить приложение. Процесс на соединение, потоки и event loop по-разному обменивают простоту на память, планирование и пропускную способность.
Виртуализация отвязывает программу от железа. Участники различают process virtual machines, системные VM с guest OS и контейнеры с общим ядром. Чем больше слоёв между кодом и процессором, тем важнее понимать scheduling, лимиты ресурсов и реальную изоляцию.
Клиент может рисовать интерфейс или выполнять часть логики; браузер показывает пользу изоляции процессов. Серверы сравнивают по iterative и concurrent обработке, stateless и stateful моделям. Stateless упрощает замену узлов, stateful сохраняет контекст, но требует управления им.
Code migration переносит вычисление к данным. Remote evaluation отправляет код серверу, code on demand — клиенту, а mobile agent несёт и состояние исполнения. Ограничения задают привязанные ресурсы, безопасность, совместимость среды и выбор между мобильностью кода и переносом процесса.