Архитектура процессора
Архитектура процессора
Содержание |
Обзор
Цель данной страницы – ответить на следующие (закономерные) вопросы, которые достаточно часто возникают в сообществе:
- Возможно ли сделать так, чтобы <некоторые приложения Windows> запускались на платформе Maemo?
- Почему да или почему нет?
- Почему имеет значение, какие технологии выбраны для использования и поддержки?
В данной статье предпринята попытка ответь на данные вопросы, объяснив, что такое архитектура компьютерного процессора, и связать их с программным и аппаратным обеспечением 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 наиболее эффективным способом.