Когда мы запускаем исполняемый файл, машинный код вызывается один за другим в CPU, но как ОС передает каждую инструкцию в CPU?
Что за внутренности?
ОС устанавливает регистр указателя инструкций (IP) ЦПУ на начало кода для выполнения (который находится в ОЗУ). Процессор начинает выполнять инструкции в последовательности.
ОС не передает инструкции в ЦПУ, ЦП извлекает инструкции из памяти самостоятельно, основываясь на ПК (счетчик программ) или IP (указатель инструкций), или на любом другом термине, который вы хотите использовать. Сама ОС - это просто набор инструкций, которые подаются в процессор. Процессор не знает ОС ни от какой другой программы. ОС считывает часть машинного кода исполняемого файла (исполняемые файлы, используемые хорошо известными ОС, такими как windows и linux, имеют больше информации в файле, кроме двоичной или исполняемой части), и помещает ее в оперативную память. И, по сути, ОС переходит к инструкции точки входа в исполняемом файле, меняя ПК. Множество разных способов сделать это, ветвление, изменение возвращаемого значения прерывания, специфичные для процессора методы и т.д.
У Петцольда есть книга под названием "Код", очень хорошо, прочитай.
ОС устанавливает указатель команд процессора на адрес памяти, где находится инструкция для программы, и процессор выполняет работу оттуда. Я мог бы получить больше технической информации, но я не знаю, сколько информации вы хотите.