Как процессор понимает ОС?
процессор понимает только небольшой набор команд, которые описываются архитектурой процессора. также архитектурой описываются среда исполнения команд, наличие и размерность регистров, способы доступа к памяти и прочим внешним устройствам.
поток команд исполняемых процессором с трудом понимает человек-програмист. лет эдак много назад были програмисты, могущие написать алгоритм в командах проуцессора.
но сейчас этот уровень разумности практически исчез и его знают считанные сотни людей, создающие либо процы либо компиляторы к ним.
для адекватного понимания и редактирования программы пишут на языках, которые специально созданы для "человека" :)
для исполнения в процессоре программы из "человеческого языка" компилируют в исполняемый двоичный код.
компиятор тоже написан на "человеческом языке" и потом скомпилирован в исполняемый файл.
Если к примеру ядро unix написано на Си, а процессор понимает только двоичную систему счисления, то как тогда всё это работает? Работает очень просто- процессор исполняет машинный код.
Машинный код содержит инструкции - указания процессору выполнить определенные операции над данными и сами данные.
Любая программа написанная на любом языке преобразовывается в машинный код.
Язык программирования это удобный для человека язык, а на выходе - всегда машинный код.