Нативний машинний код - це вид програмного коду, який безпосередньо виконується процесором комп'ютера. Він специфічний для кожного типу процесора, оскільки залежить від його архітектури. Цей код складається з послідовностей двійкових команд, кожна з яких диктує процесору, які операції виконувати.
Основні характеристики нативного машинного коду
- Нативний машинний код виконується процесором безпосередньо, без додаткових етапів інтерпретації чи компіляції. Це забезпечує високу швидкість виконання, оскільки код оптимізований під конкретний тип процесора.
- Код написаний або скомпільований під конкретну архітектуру процесора (наприклад, x86, ARM). Це означає, що програма, скомпільована для однієї архітектури, не буде працювати на іншій без повторної компіляції.
- Наприклад, байт-код потребує віртуальної машини для виконання (наприклад, Java байт-код на JVM), а нативний машинний код не вимагає додаткового середовища виконання.
Цікавий наочний приклад з англомовної вікіпедії:
Game Boy запускає програмне забезпечення (гру) отриману через картридж, який містить (нативний) код, що виконується. Єдиний спосіб запустити цей код на іншому процесорі (не на оригінальному процесорі Game Boy, який інтерпретує нативний код) - використати емулятор, який імітує справжній Game Boy. Запуск емулятора - додаткове навантаження на операційну систему, що може впливати на швидкість програми.