Деконструкция Go: Runtime или программа, которая запускает вашу программу. Часть 3.1

Wait 5 sec.

В предыдущих частях мы разобрались с тем, во что превращается Go-код, как процессор работает с памятью и каким образом реализуются примитивные атомарные операции.Но всё это порождает закономерный вопрос.Если CPU умеет выполнять только машинные инструкции, а операционная система знает лишь о процессах и системных потоках, то кто вообще знает о существовании горутин?Кто увеличивает их стеки?Кто решает, какую из них сейчас выполнять?Кто собирает мусор?Ответ на всё это один - Go runtime.Но runtime - это не какая-то магическая программа, которая находится между нашим приложением и операционной системой. Это часть самого приложения.Давайте разбираться! Читать далее