Архитектура процессора

Материал из FRUCT Maemo wiki (Russian)
Перейти к: навигация, поиск

Архитектура процессора

Содержание


Обзор

Цель данной страницы – ответить на следующие (закономерные) вопросы, которые достаточно часто возникают в сообществе:

  1. Возможно ли сделать так, чтобы <некоторые приложения Windows> запускались на платформе Maemo?
  2. Почему да или почему нет?
  3. Почему имеет значение, какие технологии выбраны для использования и поддержки?

В данной статье предпринята попытка ответь на данные вопросы, объяснив, что такое архитектура компьютерного процессора, и связать их с программным и аппаратным обеспечением Maemo.

Компьютеры: архитектура x86

Большинство компьютеров оснащены процессорами, которые производят компании Intel или AMD. Их называют совместимыми с x86. Pentium и Core2, Athlon и Phenom – все они являются совместимыми на уровне ЦП (Центрального процессора) с набором инструкций x86. Программное обеспечение, работающее на одном из них, будет работать и на другом.

Скомпилированные приложения

Суть заключается в том, что вне зависимости от формы, которую принимают приложения, в конечном счете их необходимо представить ЦП в виде инструкций x86. Самыми эффективными приложениями часто являются те приложения, которые скомпилированы непосредственно в листинг данных инструкций x86. По этой причине наиболее основополагающие части операционной системы и приложения с самыми высокими требованиями обычно распространяются и хранятся в виде двоичных файлов (т.е. в доступном для чтения компьютером виде) указанного скомпилированного состояния.

Мобильные устройства: архитектура ARM

Существует существенно упрощенный набор инструкций под названием ARM. В силу его простоты на многих мобильных устройствах используются базирующиеся на ARM процессоры. (Обратите внимание, что "проще" не обязательно означает "лучше" или "хуже" для конечного пользователя: процессоры ARM обычно меньше и поэтому их легче производить) Это справедливо в отношении устройств, на которых используется Maemo. Так как набор инструкций отличается, большинство приложений, запускающихся на компьютере, не будут непосредственно запускаться на платформе Maemo без перекомпиляции. Для перекомпиляции требуется оригинальное описание приложения на каком-то удобочитаемом языке программирования (исходный текст программы). Он не доступен для большинства коммерческих, закрытых приложений, которые поэтому называются приложениями с закрытым исходным текстом.

Эмуляция

Единственный способ применения скомпилированных двоичных файлов одной архитектуры в другой архитектуре – использовать транслятор. Он называется эмулятор; он эмулирует необходимую архитектуру для программного обеспечения таким образом, что оно становится совместимым. Данный процесс может быть очень неэффективным, если эмулируемый процессор в несколько, а то и в десятки раз медленнее, чем родной процессор. В применении к портативным устройствам Maemo c ограниченными производительностью системы и емкостью батареи это означает, что эмулировать сложное программное обеспечение для компьютера в целом не представляется целесообразным. Это справедливо в отношении операционной системы Microsoft Windows и приложений, запускаемых в Windows.

За более подробной информацией о том, какие архитектуры и системы можно эмулировать на платформу Maemo, обратитесь на страницу Эмуляторы.

Вывод и применение

Вывод, который может сделать пользователь, заключается в том, что открытые стандарты и открытые исходные тексты программы - это то, с чем лучше иметь дело. При наличии достаточного количества времени и потребности практически все программное обеспечение, которое является открытым, можно перенести и оно, возможно, будет перенесено на Maemo.

Еще один вывод – закрытые продукты, возможно, никогда не станут доступными, если их владелец не видит смысла в выпуске данного продукта для Maemo. Подумайте, поддерживаются ли открытые стандарты и открытые исходные тексты, когда принимается решение, какую технологию применить в проектах, чтобы можно было использовать устройство Maemo наиболее эффективным способом.

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты