Давайте подумаємо про процесор на робочому столі. Все, що вона робить, це запускати інструкції на машині, і саме по собі насправді не хвилює "операційні системи" або "програми".
Увімкнувши комп'ютер, процесор вказує на першу інструкцію, і він починає виконувати.
На робочому столі він починає виконувати "операційну систему". Але немає причини, щоб у вас не було можливості процесора виконувати будь-який вибраний вами набір інструкцій. (Це може бути не дуже корисно, оскільки ви все одно хочете виводити результати на екран, а функціональність знаходиться в ОС.) У той же час, якщо ваші інструкції на машині складалися з правильних опкодів, щоб процесор видав правильна послідовність сигналів для малювання малюнка на моніторі, тим краще. Жодна ОС не потрібна.
Настільні комп'ютери роблять стільки матеріалів, що ми, як правило, вимагаємо абстрагування ОС. Але по суті, все, що робить процесор, - це виконувати інструкції.
Те саме для процесора в коксових та кавових машинах. Все, що вона робить, - це виконувати інструкції.
Що ж, написання інструкцій на машинах потроху є стомлюючим. Отже, як і на настільних комп'ютерах, ми зазвичай пишемо код на C, який потім компілюється в машинний код. Цей машинний код завантажується на вбудований процесор і він працює.
Вбудовані системи роблять так мало, що їм не потрібні повноцінні ОС. Мікроконтролер може мати 8 чи 16 контактів на мікросхемі - порівняно з десятками контактів у вашій звичайній розетці процесора.
Тож робочий процес - це записати якийсь код (скажімо, на С), скласти його на настільній машині. Цей компілятор генерує машинний код для вбудованого чіпа. Потім цей код завантажується на мікропроцесор (і для цього вам потрібне спеціальне обладнання). Потім ви вмикаєте чіп і він починає виконувати інструкції. Просто!