[статья] Эмулятор, в чём соль?

Сегодня в истории нашего сообщества уникальный день! Читатели не просто прислали материал для публикации, а настоящую здоровенную статью и строго по нашей теме — эмулятор и эмуляция как таковая. Пробуем читать, понимать, оставлять свои комментарии, отзывы и предложения по другим подобным «программным» материалам.


Эмулятор 1

Преамбула

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

Поведение компьютера, которое мы имитируем, — это обработка информации. Компьютеры отличаются тем, какие методы они предоставляют нам для работы с информацией, что делает их пригодными для определенных целей. Однако, цели, с которыми их можно использовать, сильно ограничены, и изначально многие из них просто не способны делать то, что могут другие. Но сердцу не прикажешь, человеку сильно хочется делать больше, чем позволяет его компьютер. И самым прямолинейным решением является собственно приобретение компьютера, способного делать что-то большее. На этом построена вся индустрия компьютерного железа (аппаратного обеспечения), там люди наживаются на наших желаниях расширять свои возможности. Но не все такие богачи, чтобы все это скупать по первому зову левой пятки, а кое-кто просто жадный, и вот — человечество изобрело способ заставить один компьютер вести себя как другой.

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

Читать далее «[статья] Эмулятор, в чём соль?»