Сначала модель, затем команды · R1
R1. Как устроен сервер
Цель
Собрать ментальную модель компьютера и убрать магию из слов process, port, filesystem, VM и container.
Что освоить
- CPU, RAM, storage и filesystem
- process, binary, library и service
- client / server и network port
- VM против контейнера
- JSON, YAML и кодировки
Материалы основного пути
- Введение в архитектуру ЭВМ
- Начать здесь. процессор, память, storage и ввод-вывод: базовые модули курса
- Linux Journey на русском
- Обязательно. разделы Processes, Devices и Filesystem
- Multipass: create an instance
- Практика. создать instance, измерить ресурсы и связать наблюдения с моделью
Практика
Минимальный профиль: host/WSL client → service на server-01. Полный профиль: клонировать baseline в client-01, сменить identity и связать обе VM приватной сетью. Нарисовать client → IP → port → process.
Проверьте результат
Вы объясняете, где живёт каждый процесс и что слушает порт; схема соответствует выбранному профилю; в полном профиле SSH client-01→server-01 работает по ключу, в минимальном записан переход к второй VM перед R6.
Вопросы, условия приёмки и доказательства
Ответьте и покажите
- Чем процесс отличается от binary и service?
- Как по порту найти слушающий process и путь binary?
Условия приёмки
- Схема совпадает с ip/ss/ps
- Hostname/IP/port не противоречат README
- Объяснена граница VM и container
Учебный отказ: Запустить сервис на неожиданном порту и найти его только по наблюдениям системы.
Артефакт: Схема client → IP → port → process + диагностический transcript
Для каждого узла схема совпадает с выводом ip/ss/ps; сервис найден по порту, а выбранный minimal/full профиль соблюдён.
Хорошее доказательство: Диаграмма + raw transcript ip/ss/ps/readlink с кратким выводом по каждому узлу.
Недостаточно: Пересказ терминов без связи с реально запущенным процессом и сетевым endpoint.
Углубление и справочные материалы
Темы для углубления
- binary format, dynamic linking и syscall
- encoding failures
- сериализация конфигурации и schema drift
Проследить запуск процесса до library/syscall, намеренно сломать кодировку JSON/YAML и документировать диагностику.
Результат: По наблюдаемым данным объясняете memory/process/file descriptor и находите encoding/config failure без перебора команд.
Дополнительные материалы
- MDN: что такое веб-сервер
- Microsoft Learn: контейнеры и VM
Дополнительно. граница isolation между process, container и VM
- MDN: работа с JSON
Справочник. структура JSON, типы значений и parse/serialize
- Learn YAML in Y Minutes
- W3C: character encodings for beginners
- Ubuntu Server: OpenSSH