В чем разница между машинным кодом и кодом операции?


Вопрос в основном связан с PHP, потому что код операции IMHO в основном упоминается в контексте PHP. Согласно этому описанию , вот процесс преобразования кода php в код операции:

Текст Php -> сканирование/синтаксический анализ - > результат = токены - > компиляция > результат = код операции

Здесь несколько вопросов:

1) Является ли код операции просто частью машинного кода, состоит ли машинный код из кодов операций? 2) Мышление в контексте сервера Wamp, что такое модуль PHP ответственный за? Является ли этот модуль просто интерпретатором PHP, который преобразует PHP-код в токены, или это также компилятор, который компилирует токены в код операции, выполняемый на оборудовании (процессоре)?

Author: Seki, 2012-06-14

2 answers

Вопрос в основном связан с PHP, потому что код операции IMHO в основном упоминается в контексте PHP.

На самом деле Java более популярна благодаря своему байт-/коду операции

1) Является ли код операции просто частью машинного кода, состоит ли машинный код из кодов операций?

Да, но эти коды операций зависят от машины. Байт-код javas или phps интересен тем, что он не зависит от компьютера и работает на виртуальной машине, зависящей от платформы.

2) Размышляя в контексте сервера Wamp, за что отвечает PHP-модуль?

Нет модуля, это часть ядра.

Lexer => Tokenizer => Compiler

Является ли этот модуль просто интерпретатором PHP, который преобразует PHP-код в токены, или это также компилятор, который компилирует токены в код операции, выполняемый на оборудовании (процессоре)?

Не совсем так. Полученный байт-код не зависит от компьютера (называется "Zend-код операции") и не может выполняться непосредственно на оборудовании. Последний шаг - это трансформация этот байт-код преобразуется в машинно-зависимые коды операций.

 3
Author: KingCrunch, 2012-06-14 07:45:55
  • Машинный код - код, который готов к выполнению машинным процессором
  • код операции - код, который должен быть выполнен интерпретатором

Код операции выполняется ядром php, это внутренняя функция. Для ускорения php-скриптов существует модуль PHP Accelerator, который кэширует скомпилированный байт-код, чтобы в следующий раз он был выполнен процессором напрямую

 2
Author: Vitaly Dyatlov, 2012-06-14 07:47:47