Когда программа скомпилирована, она преобразуется в машинный код, который может быть "понят" машиной. Как этот код машины взаимодействует с операционной системой, чтобы делать что-то вроде ввода ввода с клавиатуры? Мне кажется, что машинный код должен работать на более низком уровне, чем операционная система, и поэтому я не могу понять, как ОС может выступать в качестве посредника между скомпилированным приложением и оборудованием.
PS: Я только начал программирование на С++, и я пытаюсь понять, как работают cin и cout