Эмуля́ция (англ. emulation) — Воспроизведение программными или аппаратными
средствами либо их комбинацией работы других программ или устройств Эмуляция
позволяет выполнять компьютерную программу на платформе (компьютерной
архитектуре и/или операционной системе), отличной от той, для которой она была
написана в оригинале. Эмуляцией также называют сам процесс этого
выполнения.[источник?] В отличие от симуляции, которая лишь воспроизводит
поведение программы, при эмуляции ставится цель точного моделирования состояния
имитируемой системы, для выполнения оригинального машинного кода.
При использовании языков высокого уровня, иногда в целях сохранения
быстродействия исполняемой программы, вместо эмуляции делают портирование
программ в новую среду. В этом случае производится переписывание заново
аппаратно-зависимых участков кода.
Одно из популярных применений эмуляции — выполнение на персональном
компьютере игр, написанных для игровых автоматов или игровых приставок.
Теоретически, согласно тезису Чёрча—Тьюринга, любая операционная среда может
быть эмулирована в любой другой среде. На практике, однако, встречается ряд
трудностей; в частности, точное поведение эмулируемой системы часто не
документированно и должно быть исследовано и определено с помощью обратной
разработки.
Достаточно полная эмуляция некоторой аппаратной платформы требует предельной
точности, до уровня отдельных тактовых циклов, недокументированных особенностей
и даже ошибок реализации. Это особенно важно для таких моделей классических
домашних машин, как Commodore 64, программное обеспечение которых сильно зависит
от программистских решений. Выбор конкретного решения происходит с целью
оптимизации (по размеру или скорости выполнения программы), применяемой,
например программистами игр, а также энтузиастами демосцены. Такие программы
достаточно часто бывают основаны на недокументированных возможностях процессора
или операционной системы.
В противоположность этому, на некоторых других платформах довольно мало
использовался прямой доступ к оборудованию. В этом случае оказывается
достаточным обеспечить некоторый уровень совместимости, обеспечивающий
трансляцию системных вызовов эмулируемой системы в вызовы работающей
системы.
Обычно, эмулятор состоит из нескольких модулей, отвечающих за различные
подсистемы эмулируемого компьютера. Чаще всего, эмулятор состоит из:
эмулятора или симулятора [источник?] центрального процессора модуля
подсистемы памяти, эмулирующего ОЗУ и ПЗУ модуля или модулей эмуляции
различных устройств ввода/вывода Системная шина обычно не эмулируется, по
причинам упрощения или повышения производительности, и виртуальная периферия
обращается непосредственно к модулю ЦП и модулю памяти.
______________________________ Скин — перевод с англ. кожа, шкура:
Оформление компьютерной программы или персонажа компьютерной игры
________________________
Сни́мок экра́на (скриншот, англ. screenshot) — изображение, полученное
компьютером и показывающее в точности то, что видит пользователь на экране
монитора или другого устройства вывода. Обычно это цифровое изображение
получается операционной системой или другой программой по команде пользователя.
Намного реже снимки экрана получают с помощью внешнего устройства, такого, как
фото/видео-камера, или путём перехвата видеосигнала от компьютера к
монитору. Простейший способ получения снимка экрана для операционных систем
Microsoft Windows — использование клавиши Print screen (для всего экрана) или
сочетания клавиш Alt + Print screen (для текущего окна) на клавиатуре. При этом
снимок копируется в буфер обмена операционной системы и может быть затем
вставлен и при необходимости отредактирован в любом графическом редакторе,
например, в Paint, входящем в стандартный набор приложений Windows
|