Перейти к основному содержимому

О разделе

Раздел объясняет путь от исходного кода до работы программы на процессоре — память, стек, вызовы функций, циклы, условия, компиляция и виртуальные машины. Сложные механизмы по возможности даются сначала на русском псевдокоде, затем — схемами, интерактивами и примерами на конкретных языках (как справочник).

Листинги на языках программирования (от ~8 строк) вынесены в каталог code.spirzen.ru и подгружаются через ExternalCodeEmbed. Русский псевдокод, короткие фрагменты (3–7 строк) и диаграммы mermaid остаются в статьях; интерактив — в play.spirzen.ru. Образец интеграции — Каталог примеров кода.

Пока программа лежит на диске, она в энергонезависимой памяти — статический набор инструкций. После запуска ОС копирует образ в ОЗУ и создаёт процесс (как это делают на практике — exe, IDE, терминал, dev-сервер); процессор выполняет машинные инструкции по циклу выборка → декодирование → исполнение (fetch–decode–execute), пока процесс не завершится штатно или с ошибкой. Внутри процесса могут работать потоки — параллельные цепочки инструкций с общей памятью (схема program → process → thread). JIT-компиляция переводит часто используемый байт-код в нативный машинный код уже во время работы (JVM, .NET), сочетая переносимость и скорость.

ШагМатериалЗачем
1Выполнение программного кодаЖизненный цикл объекта и данных
2Процесс выполнения исходного кодаВызов метода, стек, возврат
3Архитектура процессораСтек, куча, регистры, инструкции
4Функции, циклы, условияУправление потоком
5Переменные (типы, scope, namespace), неопределённое поведениеДанные и границы языка
6Process VM и среда выполнения, байт-код — JIT и IRJVM, CLR, V8, PVM; отличие от VirtualBox
Память процессаВиртуальные адреса, сегменты, подкачка страниц
Четыре модели развёртыванияBare metal, ВМ, контейнеры (отдельно от JVM/CLR)
До изучения языков

Блоки "Справочно на …" можно читать как иллюстрацию идей. Базовые алгоритмы и блок-схемы — в базовой информатике

параллелизм на потоках — в асинхронности и параллельных вычислениях.


В подборках

Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:

База программистаКод — о разделе, Проект, структура и фреймворки — о разделе, Алгоритмы — о разделе, Асинхронность — о разделе, Основы интеграционного взаимодействия — о разделе, Архитектура выполнения — о разделе.

Системное программированиеСистемное администрирование — о разделе, Оптимизация размера и производительности приложений, Терминал — о разделе, Системное программирование на C++, Платформы — о разделе, C++ — о разделе.


Содержание