На этом открытом уроке мы разберем устройство операционных систем от «А» до «Я» — как ядро управляет железом, как программы общаются с ОС через системные вызовы и как все это реализовано внутри языка Go.
В этом уроке:
В итоге у тебя будет четкое понимание фундаментальных принципов работы ОС: ты узнаешь, что происходит под капотом обычного fmt.Println или открытия файла, и научишься писать более производительный код, понимая ограничения и возможности системы
В этом уроке:
- Архитектура ядра: разница между монолитными и микроядерными системами, а также устройство ядра Linux.
- Процессы и потоки: глубокий разбор абстракций ОС, структуры адресного пространства (Stack, Heap, Text) и контекст-свитчинга.
- Системные вызовы (Syscalls): как происходит переход из User Space в Kernel Space на уровне регистров и прерываний процессора.
- Планировщик Go vs ОС: как рантайм Go экономит ресурсы системы, управляя тысячами горутин на ограниченном количестве потоков (модель GMP).
- Сигналы и прерывания: как ОС общается с вашим приложением и как Go обрабатывает сигналы для Graceful Shutdown или работы GC.
- Низкоуровневые примеры: пишем системные вызовы на ассемблере и разбираем, как Go обращается к ядру напрямую.
В итоге у тебя будет четкое понимание фундаментальных принципов работы ОС: ты узнаешь, что происходит под капотом обычного fmt.Println или открытия файла, и научишься писать более производительный код, понимая ограничения и возможности системы