Эмуляция | это... Что такое Эмуляция? (original) (raw)
Эмуляция компьютера стандарта MSX на эмуляторе MESS
Эмуля́ция (англ. emulation) — воспроизведение программными или аппаратными средствами либо их комбинацией работы других программ или устройств.[1]
Содержание
- 1 Цели
- 2 Аппаратная и программно-аппаратная эмуляция
- 3 Программная эмуляция
- 4 См. также
- 5 Примечания
- 6 Литература
- 7 Ссылки
Цели
- Создание нового микропроцессора/микроконтроллера. В этом случае при помощи эмулятора (программы или устройства) выполняются команды этого процессора.
- Необходимость выполнения также программного обеспечения, написанного для другого устройства или операционной системы.
- Тестирование программ, написанных для различных систем.
Аппаратная и программно-аппаратная эмуляция
В случае программно-аппаратного комплекса эмулятором является специальное электронное устройство, выполненное в виде платы.[2]
Программная эмуляция
Эмуляция позволяет выполнять компьютерную программу на платформе (компьютерной архитектуре и/или операционной системе), отличной, или в некоторых случаях идентичной той, для которой она была написана в оригинале. Эмуляцией также называют сам процесс этого выполнения. В отличие от симуляции, которая лишь воспроизводит поведение программы, при эмуляции ставится цель точного моделирования состояния имитируемой системы, для выполнения оригинального машинного кода.
При использовании языков высокого уровня, иногда в целях сохранения быстродействия исполняемой программы, вместо эмуляции делают портирование программ в новую среду. В этом случае производится переписывание заново аппаратно-зависимых участков кода.
Одно из популярных применений эмуляции — выполнение на персональном компьютере игр, написанных для игровых автоматов или игровых приставок.
Теоретически, согласно тезису Чёрча — Тьюринга, любая операционная среда может быть эмулирована в любой другой среде. На практике, однако, встречается ряд трудностей; в частности, точное поведение эмулируемой системы часто не документированно (или скрывается под грифом коммерческой тайны) и должно быть исследовано и определено с помощью обратной разработки.
Достаточно полная эмуляция некоторой аппаратной платформы требует предельной точности, до уровня отдельных тактовых циклов, недокументированных особенностей и даже ошибок реализации. Это особенно важно для таких моделей классических домашних машин, как Commodore 64, ZX Spectrum, программное обеспечение которых сильно зависит от программистских решений. Выбор конкретного решения происходит с целью оптимизации (по размеру или скорости выполнения программы), применяемой, например программистами игр, а также энтузиастами демосцены. Такие программы достаточно часто бывают основаны на недокументированных возможностях процессора или операционной системы.
В противоположность этому, на некоторых других платформах довольно мало использовался прямой доступ к оборудованию. В этом случае оказывается достаточным обеспечить некоторый уровень совместимости, обеспечивающий трансляцию системных вызовов эмулируемой системы в вызовы работающей системы.
Обычно, эмулятор состоит из нескольких модулей, отвечающих за различные подсистемы эмулируемого компьютера. Чаще всего, эмулятор состоит из:
- эмулятора или симулятора центрального процессора;
- модуля подсистемы памяти, эмулирующего ОЗУ и ПЗУ;
- модуля или модулей эмуляции различных устройств ввода-вывода.
Системная шина обычно не эмулируется, по причинам упрощения или повышения производительности, и виртуальная периферия обращается непосредственно к модулю ЦП и модулю памяти.
См. также
Примечания
- ↑ Англо-русский словарь основных терминов и сокращений (недоступная ссылка — история)
- ↑ Программно-аппаратный комплекс для отладки МП систем на основе микроконтроллеров семейства MC68HC11 фирмы MOTOROLA
Литература
- А. Аганичев, Д. Панфилов, М. Плавич, О. Полянский. Программно-аппаратный комплекс для отладки МП систем на основе микроконтроллеров семейства MC68HC11 фирмы MOTOROLA
- Шагурин И., Бродин В., Калинин Л., Толстов Ю., Петров С., Исенин И., Эйдельман С., Ванюлин В. Средства проектирования и отладки систем управления на базе МК фирмы Motorola.
Ссылки
Программное обеспечение для эмуляции и виртуализации (сравнение) | |
---|---|
Уровень ОС и гипервизоры | ICore Virtual Accounts • FreeBSD Jail • Kernel-based Virtual Machine (KVM) • Linux-VServer • LXC • Hyper-V • OpenVZ • Parallels Virtuozzo Containers • Solaris Containers • User-mode Linux • Virtual Iron • VM/CMS • VMware ESX • Xen |
Компьютеров | bochs • DOSBox • FAUmachine • Hercules • Virtual PC • Parallels Workstation • PearPC • QEMU • SIMH • VirtualBox • VMware (Fusion • Workstation) |
ОС | Colinux • DOSEMU • E/OS • Wabi • Wine |