Когда мы запускаем исполняемый файл, машинный код вызывается один за другим в CPU, но как ОС передает каждую инструкцию в CPU?

Что за внутренности?

4 ответа4

4

Загрузчик загружает двоичные файлы с диска в память, перемещая операции перехода и загрузки по мере необходимости. Оттуда процессор просто загружает код из памяти и выполняет его.

2

ОС устанавливает регистр указателя инструкций (IP) ЦПУ на начало кода для выполнения (который находится в ОЗУ). Процессор начинает выполнять инструкции в последовательности.

0

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

У Петцольда есть книга под названием "Код", очень хорошо, прочитай.

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .