Я хочу узнать больше о внутренней работе компьютера, улучшить мое знание о разработке встроенной системы.
На работе я никогда не связываюсь с деталями низкого уровня (такой как, GDT, загрузчик кода от флэш-памяти до RAM, и т.д.) как все, что они уже записаны.
Я в настоящее время не покупал бы никакие другие аппаратные средства. Существует ли эмулятор и очень простая ОС, я могу играть с для освоения со всеми теми низкоуровневыми аспектами встроенного programmimng? Есть ли учебное руководство, которое может обойти меня посредством установки очень простой встроенной среды (устанавливающий сегменты памяти, GDT, добравшись до защищенного режима, и выполниться main()
)
Для наших операционных систем курс мы в настоящее время используем игрушечную ОС под названием картофель . Это довольно базовый и афаик на основе учебных пособий ядра Джеймса Моллы. Возможно, вы посмотрите на него здесь .
Кроме того, я могу порекомендовать Wiki и обсуждение в Osdev.org.
Счастливый взлом! :)
Редактировать: Несколько хорошей информации о архитектуре x86 можно найти в объеме 3 инструкций разработчиков программного обеспечения Intel INTEL . Объем 1 Особенности основной архитектуры и в объеме 2 вы найдете полную ссылку на набор инструкций по сборке x86.
В разработке встроенной системы эмулятор имеет очень конкретное значение; Вы на самом деле говорите о «симуляторе»? Но если вы разрабатываете на X86, и симулятор набора инструкций не нужен и ограничен, когда вместо этого можно вместо этого использовать виртуальную машину.
На самом деле, если вы хотели « очень простая встроенная среда « Вы не выбрали бы X86. Загрузка и настройка этих сложных устройств (и их связанных чип-наборов и памяти) нетривиальна.
Если ваша платформа X86, то самая простая вещь, чтобы использовать виртуальную машину, работающую на реальном X86. Самый гибкий и надежный VM доступна бесплатно из VMware , а другой свободный от Microsoft . Однако виртуальный компьютер Microsoft оптимизирован для работы Windows, получая Linux для работы над ним может быть неприятно, не говоря уже о некоторых нишах RTO.
Вам может быть лучше, используя настоящую встроенную машину. Окружающая среда развития для Arduino, дорогая дорогая, и там вы попадаете на работу прямо в металле: http://www.sparkfun.com/commerce/product_info.php?products_id=9284
AVR Разумное начало в этом пространстве X86 не.
Обычными подозреваемыми для эмуляторов x86 были бы Bochs и QEMU .
Возможно, вы также захотите взглянуть на руководство по разработке ядра Джеймса Моллоя и ресурсы, на которые он ссылается.