Компиляция в машинный код?
> А откуда процессор берет инструкции как этот код читать?
Скомпилированный код - нолики и единички - хранятся в определенной области памяти.
Процессор запускает счетчик - с нуля к примеру - и читает ячейки памяти с 0 - допустим там хранится 0001 - а у процессора есть справочник команд. И если хранится 0001 - то это значит в следующих двух ячейках памяти хранятся операнды, которые нужно сложить  и отправить в регистр - специальную ячейку памяти. Вот он выполняет действие над этими командами и инкрементирует счетчик у себя - команда и два операнда - значит счетчик увеличился на 3 . Теперь счетчик указывает на ячейку памяти 3 - и он считывает следующую команду. И т.д., и т.п....
Инструкции зашиты в самом процессоре в виде интегральной схемы.
Или что, по-вашему, процессор из себя представляет?
Погуглите слово: opcodes

Программы работают без коллизий, с прерываниями, прибегая к услугам операционной системы, которая, в свою очередь, использует возможности процессора. Современные процессоры поддерживают многозадачность. Хотя многозадачность может быть и на уровне ОС реализована, программно, но очевидно, что аппаратно быстрее.