Что такое эмуляция? Программа эмуляции. Эмуляция вызова - что это? Способ эмуляции вызовов системных функций для обхода средств противодействия эмуляции О преимуществах имитирования

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

Вычислительная техника

Проще всего рассказать о том, как работает имитирование на ЭВМ, ведь именно на компьютерах, планшетах и другой технике это используется чаще всего. Допустим, у вас есть сканирующее устройство компании Canon, а вы хотите эмулировать работу HP. Устанавливается специальный софт и программы, предназначенные для оригинальных устройств HP, которые могут без проблем работать на том же Canon. Точно такая же ситуация и с большинством лицензионных дисков, которые должны присутствовать в приводе вашего компьютера или ноутбука во время работы.

Так вот, создаются образы этих дисков, которые и выполняют функцию как бы лицензионного продукта. Именно так большинство геймеров знакомится с тем, что такое эмуляция. Но стоит сразу отметить, что имитированное устройство будет работать на порядок медленнее.

Программа эмуляции, или чем воспользоваться для создания образа

В настоящее время проблема заключается только в том, какую именно программу выбрать. Их существует огромное количество, и большинство достойных вариантов размещены в сети совершенно бесплатно. К примеру, DaemonTools - действительно эффективная утилита, которая работает без сбоев и не занимает много места на жестком диске. Такого плана софт позволяет эмулировать сразу несколько дисков, в большинстве случаев можно создавать 3-5 приводов, что зависит от версии программы. Русскоязычный интерфейс достаточно простой и понятный даже начинающему. В главное окно нужно добавить ранее созданный образ и эмулировать его. Есть и другие хорошие программы, такие как GizmoDrive, Alcohol 52% и т. д. Несмотря на большой выбор, принцип работы всех утилит примерно одинаков, главная цель - это заставить систему думать, что в приводе находится настоящий, лицензионный диск.

Эмуляция дисков: краткий обзор GizmoDrive

Основное назначение утилиты заключается в монтировании файлов, имеющих расширение ISO. Помимо этого, может быть использован и другой формат, который вам подходит. Утилита автоматически создает привод и вставляет туда образ, который отображается, как настоящий Тут для вас доступны самые популярные расширения, такие как ISO, BIN, MDS, MDF и другие. Также стоит отметить достаточно большое количество приводов, максимум 26 штук. Для упрощения создания образов предусмотрен специальный менеджер, который поможет даже новичку разобраться в работе. Также Gizmo позволяет пользователю создавать образ GDrive для эмуляции жесткого диска вашего устройства. Здесь предусмотрены даже сжатие и что повышает не только производительность, но и уровень безопасности файлов. В принципе, разобраться, что такое эмуляция, вместе с такой простой утилитой, как GizmoDrive, будет предельно просто.

О преимуществах имитирования

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

Классификация эмуляции

В настоящее время практически всегда используется аппаратная платформа. Но тут есть один важный момент - сначала нужно получить или эмулировать операционную систему или оборудование. Такое проделывается всего лишь один раз. Следовательно, такие имитаторы имеют практически неограниченный доступ к оборудованию. Зачастую это обычные слои совместимости, которые позволяют получить доступ к определенному софту или оборудованию. Опять же, для операционной системы «Виндовс» это один слой, а для Linux - совсем другой.

Есть еще эмуляция математического процесса, которой пользуются разработчики игр. Отличается она тем, что используются самые точные программы для имитации (симуляторы). В принципе, на этом можно остановиться и перейти к следующему вопросу. Как вы видите, что касается классификации, то для обычного пользователя здесь есть много неясностей, разобраться с которыми можно только на практике.

Имитация нажатия клавиш

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

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

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

Немного об эмуляции COM-порта

Есть специальные программы, позволяющие имитировать устройства, находящиеся в вашем Com-порту. Основная задача заключается в работе с пакетами данных. Утилита их подстраивает под себя, используя форматы RS232, UPD и другие. Как показывает практика, эмуляция Com-порта используется разработчиками различных приложений с целью их тестирования и проверки на работоспособность. Крайне полезна функция и для людей, работающих по сети, например, для сетевых инженеров. Также значительно облегчается и системная интеграция. Опять же, если говорить простыми словами, то вы можете проверить свою систему или какую-либо программу, не имея реального устройства в порту. В принципе, эмуляция дисков чем-то похожа по смыслу, но некоторые отличия все же имеются. Если вы новичок, то рекомендуется воспользоваться утилитой под названием COMPortDataEmulator. Русскоязычный интерфейс и удобная навигация по меню помогают быстро разобраться, что к чему.

Несколько важных моментов

Конечно же, нельзя не сказать об эмуляции устройств, работающих на «Андроиде», так как в последнее время это крайне актуально. Вы можете использовать разные программы, например, Genymotion, которая является довольно простой, а также стабильной и удобной. "Фишка" от производителя в том, что поддерживается графики, а это увеличенная производительность.

После того как вы установите утилиту, ее нужно настроить, и можно приступать к работе. Эмуляция «Андроида» мало чем отличается от настоящей игры на этом устройстве, поэтому большинство пользователей используют такого рода имитацию. Когда вы первый раз запустите программу, то получите сообщение о том, что нет виртуальных устройств, поэтому нужно создать новое. Далее жмете Connect и авторизуете свой аккаунт, который вы ранее уже создали. Дальше нет ничего сложного, находите нужную игру и нажимаете Play.

Заключение

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

Теперь вы уже немного знаете о том, как работает эмуляция вызова, что это такое и как пользоваться. Главное - это разобраться в принципе действия. Не забывайте о том, что прежде чем или что-то в этом роде, нужно проверить компьютер на вирусы, ведь вредоносное ПО может полностью испортить образ. Записав образ, не выбрасывайте диск, ведь он вам может еще понадобиться.

В принципе, это все, что можно сказать по данной теме. Что такое эмуляция и для чего она нужна, вам должно быть понятно. Если вы собираетесь воспользоваться полученной информацией, то начинайте с простых программ, желательно - на русском языке.

Цели

  • Создание нового микропроцессора/микроконтроллера. В этом случае при помощи эмулятора (программы или устройства) выполняются команды этого процессора.
  • Необходимость выполнения также программного обеспечения, написанного для другого устройства или операционной системы.
  • Тестирование программ, написанных для различных систем.

Аппаратная и программно-аппаратная эмуляция

В случае программно-аппаратного комплекса эмулятором является специальное электронное устройство, выполненное в виде платы .

Программная эмуляция

Эмуляция позволяет выполнять компьютерную программу на платформе (компьютерной архитектуре и/или операционной системе), отличной, или в некоторых случаях идентичной той, для которой она была написана в оригинале. Эмуляцией также называют сам процесс этого выполнения. В отличие от симуляции , которая лишь воспроизводит поведение программы, при эмуляции ставится цель точного моделирования состояния имитируемой системы, для выполнения оригинального машинного кода.

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

Одно из популярных применений эмуляции - выполнение на персональном компьютере игр, написанных для игровых автоматов или игровых приставок .

Достаточно полная эмуляция некоторой аппаратной платформы требует предельной точности, до уровня отдельных тактовых циклов, недокументированных особенностей и даже ошибок реализации. Это особенно важно для таких моделей классических домашних машин, как Commodore 64 , ZX Spectrum , программное обеспечение которых сильно зависит от программистских решений. Выбор конкретного решения происходит с целью оптимизации (по размеру или скорости выполнения программы), применяемой, например программистами игр, а также энтузиастами демосцены . Такие программы достаточно часто бывают основаны на недокументированных возможностях процессора или операционной системы.

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

Обычно, эмулятор состоит из нескольких модулей, отвечающих за различные подсистемы эмулируемого компьютера. Чаще всего, эмулятор состоит из:

  • эмулятора или симулятора центрального процессора ;
  • модуля подсистемы памяти, эмулирующего ОЗУ и ПЗУ ;
  • модуля или модулей эмуляции различных устройств ввода-вывода .

Системная шина обычно не эмулируется, по причинам упрощения или повышения производительности, и виртуальная периферия обращается непосредственно к модулю ЦП и модулю памяти.

См. также

Примечания

Литература

  • А. Аганичев, Д. Панфилов, М. Плавич, О. Полянский. Программно-аппаратный комплекс для отладки МП систем на основе микроконтроллеров семейства MC68HC11 фирмы MOTOROLA
  • Шагурин И., Бродин В., Калинин Л., Толстов Ю., Петров С., Исенин И., Эйдельман С., Ванюлин В. Средства проектирования и отладки систем управления на базе МК фирмы Motorola.

Ссылки


Wikimedia Foundation . 2010 .

Синонимы :
  • Андрей
  • Геофизика

Смотреть что такое "Эмуляция" в других словарях:

    Эмуляция - имитация работы одной системы средствами другой без потери функциональных возможностей и искажений результатов. Эмуляция выполняется программными и/или аппаратными средствами. См. также: Исполнение программ Финансовый словарь Финам … Финансовый словарь

    эмуляция - Имитация функционирования одного устройства посредством другого устройства или устройств вычислительной машины, при которой имитирующее устройство воспринимает те же данные, выполняет ту же программу и достигает того же результата, что и… … Справочник технического переводчика

    ЭМУЛЯЦИЯ - [англ. emulation соревнование, соперничество] соперничество, конкуренция, желание перещеголять кого л. Словарь иностранных слов. Комлев Н.Г., 2006 … Словарь иностранных слов русского языка

    эмуляция - сущ., кол во синонимов: 3 конкуренция (8) подражание (25) соперничество (21) … Словарь синонимов

    эмуляция - и, ж. émulation f. См. Эмюляция … Исторический словарь галлицизмов русского языка

    эмуляция - emuliacija statusas T sritis automatika atitikmenys: angl. emulation vok. Emulation, f rus. эмуляция, f pranc. émulation, f … Automatikos terminų žodynas

    Эмуляция - 53. Эмуляция Emulation Имитация функционирования одного устройства посредством другого устройства или устройств вычислительной машины, при которой имитирующее устройство воспринимает те же данные, выполняет ту же программу и достигает того же… … Словарь-справочник терминов нормативно-технической документации

    эмуляция - ж. Желание превзойти в чём либо друг друга; соперничество. Толковый словарь Ефремовой. Т. Ф. Ефремова. 2000 … Современный толковый словарь русского языка Ефремовой

    эмуляция - эмул яция, и … Русский орфографический словарь

Всю жизнь пользовалась простенькими телефонами, и отдавала предпочтение только марке Nokia. Но жизнь не стоит на месте, однажды мне захотелось телефон с камерой и выходом в интернет - ведь это так удобно! В магазине сотовой связи модельный ряд кнопочных Nokia был не велик, но на вариант 301 Dual взгляд упал сразу. Люблю, чтобы было простенько, но со вкусом, без лишних раздражающих деталей. Этот телефон в плане внешнего вида удовлетворил меня на 100%. Попросила показать поближе - всё понравилось. Покупка обошлась мне в четыре тысячи. Дополнительно приобрела кожаный чехол.

О телефоне у меня осталось двоякое впечатление. Первое время, пока привыкала, всё казалось шикарным. Не так давно я поменяла свою старенькую Оку на Renault Logan - так вот, сравнение было аналогичным. Мне очень понравилось то, что в телефоне всё продумано до мелочей. Стильный и удобный. То, что надо. Но со временем, конечно, выявились и минусы, но обо всём по порядку.

Внешне телефон мне нравится. Стильный, аккуратный, тонкий. Очень хороший пластик. Размер телефона относительно большой, но в карман умещается. Экран у телефона большой, цветность не раздражает, оттенки мягкие и приятные для глаз. Кнопки удобные, плюс - со временем не сотрутся, но есть вероятность, что вспучатся (у меня уже был телефон с подобной "сплошной" клавиатурой, и она от регулярного использования вечно была вспученной, надеюсь, с этим телефоном такого не случится). Полифония у телефона чистая, но относительно тихая. На улице и даже иной раз дома я его не слышу и вечно пропускаю звонки. Это касается и "родных" сигналов, и загруженной музыки. Бесит. Но для прослушивания музыки, например, динамик идеальный. Иногда дома я слушаю радио по громкой связи - звучание как с хорошего магнитофона. Меню в телефоне мне очень нравится, удобное, в наличии есть различные приложения. Телефонная книга шикарная! Тут вам и графа под имя, и под фамилию. В контакт можно добавить кучу номеров, опций - море. Но нет главного, того, что, считаю, должно быть в каждом телефоне - чёрного списка. Беда усугубляется тем, что мой сотовый оператор не предоставляет услугу по блокировке номеров. Пробовала по подсказке знающего человека найти соответствующее приложение - но тщетно. Так и пришлось сменить номер и быть аккуратной в плане круга лиц, его знающего.

Интернет.... Это отдельный разговор. Достаточно примитивный. Если вы ищете телефон, который позволит вам с комфортом общаться в социальных сетях, забыв о компьютере - проходите мимо. С этого телефона только обновления просматривать. Пока страницы грузятся - все ногти сгрызёшь. А к постоянным глюкам я уже привыкла: действия очень часто уходят в никуда. Это касается и отправки сообщений, комментариев, и загрузки страниц (с первого раза, как правило, всё получается "в холостую"). Сообщения, прежде, чем отправить, я всегда копирую: если действие не пройдёт, весь текст коту под хвост. Бывает, и по сто раз одно и то же отправляется. А насчёт лайков отдельная история. Вот вы, когда просматриваете ленту, ставите лайки на то, что вам понравилось и листаете дальше, так? Тут всё сложно. Первый лайк, как правило, ставится, а второй отправляет вашу новостную ленту в самое начало. И так регулярно! В последнее время всё чаще подумываю о покупке нового телефона, сенсорного на базе андроид, так как эти все несовершенства меня стали порядком раздражать: отнимает много времени и нервов.

А ещё телефон часто глючит, чего от Нокии, я, честно сказать, не ожидала. Ни с того ни с сего белеет экран и вся система перезагружается заново. Не нравится то, что на солнышке не видно букв, когда набираешь текст, не нравится камера... Явно не 3.2! Максимум на 2 Мп тянет. Да и работает телефон как то слегка заторможено, хотя при этом у меня память практически пустая (загружена всего одна песня на звонок). В плане опций телефон вроде и умненький, но внутри очень много не понятных мне названий. Например, "Эмуляция вызова" - что это?

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

Обновляю свой отзыв спустя полгода с момента покупки. Сегодня 3 января 2015 года. С телефоном так и хожу, хотя поначалу было дикое желание поменять его. Со временем привыкла, сейчас уже нравится и другого не хочется. Для работы в интернете установила себе браузер Опера, и всё теперь работает хорошо. И камера оказалась не такой уж и плохой. Я сказала бы, качество фотографий, пожалуй, будет получше, чем у других моделей телефонов данной ценовой категории, да и некоторых тех, что подороже. Их можно распечатывать и не стыдно выкладывать в соцсети. Единственный нюанс - в помещении почему то фотографирует лучше, чем на улице. Кнопки со временем не вспучились, зря я переживала. Да и сам телефон не потерял "товарного" вида. Периодически, как и прежде, он ловит глюки, но не часто. Пару раз было такое, что телефон сам по себе выключался и я долго не могла его включить. С чем это было связано - не знаю. Память у меня не заполнена вообще (не храню на нём фотографии и музыку, только смс и контакты). Меняю "тройку" на "четыре" балла. Не такой уж и плохой телефончик.

Около полугода назад мне задали примерно такой вопрос: “Я использую крупный фреймворк, запускающий некую функцию по действию пользователя. Хочу, не меняя кода этой функции, выполнить по событию вызова этой функции свой код.”. Практика далеко не лучшая, события вызова функции не существует, я просто покрутил пальцем у виска и сказал, что это жуткий говнокод, так делать не стоит, да и это, просто-напросто, - невозможно.

Пару дней назад, направляясь домой относительно тёплым зимним вечером, не типичным для Одессы, у меня возникла нетипичная мысль: “А что если попробовать сделать то, что спрашивал Богдан полгода назад?”. Придя домой, я включил компьютер, и, в течении пары минут, сделал то, что задумал. В первую очередь, меня интересовало то, как будут себя вести встроенные методы, если их переопределить, и можно ли после этого как-нибудь вызвать прежнее их состояние, бывшее до переопределения. Я знал, что, если объект переопределяют, то ссылки на него не уничтожатся, сохраняя прежний вид. Что касается встроенных функций, имелись сомнения. Оказывается, можно.

Скорее всего, мне даже никогда не придется воспользоваться таким инструментом, но, чисто гипотетически, возможно, у кого-то возникнет задача проследить вызов той или иной функции, получив отчет о каждом вызове, состоящий из:

  1. Результата выполнения
  2. Переданных аргументов
  3. Контекста вызова (что есть this при вызове)
  4. Количества вызовов функции после создания обработчика
(Этот список полностью соответствует аргументам, передающимся в обработчик)

addCallListener = function(func, callback){ var callNumber = 0; return function(){ var args = .slice.call(arguments); var result; try { result = func.apply(this, arguments); callNumber++; } catch (e) { callback(e, args, this, callNumber); throw e; } callback(result, args, this, callNumber); return result; } }

Очень просто и кратко, правда?

Затем, переопределяем какую-нибудь функцию следующим образом:

SomeFunct = addCallListener(someFunct, function(result, args, self, callNumber){ //Do Something }); // или Constructor.prototype.method = addCallListener(Constructor.prototype.method, function(result, args, self, callNumber){ //Do Something });

Очевидно, она должна быть «видна» в той части кода, где это происходит.

Несколько примеров
Для запуска примеров необходимо наличие открытой консоли (в хроме вызывается по Ctrl+Shift+i).

Спасибо товарищам с форума javascript.ru за критику и дополнения.

UPD
Немного расширил функцию: теперь вместо одного колбека вторым аргументом передается объект

  1. before (вызывается перед запуском функции)
  2. success (вызывается, если функция отработала успешно)
  3. error (если возникла ошибка)
  4. after (вызывается в любом случае, не зависимо от успешности выполнения)
Каждому обработчику передается объект
  1. self (контекст)
  2. name (имя функции)
  3. status («error» или «success»)
  4. successNumber (количество успешных вызовов)
  5. errorNumber (количество вызовов с ошибкой)
  6. result (результат, если есть)
  7. error (ошибка, если есть)
Кроме этого, функция addCallListener теперь является частью объекта конструктора Function, во избежание попадания в window или process.

Форкнуть и потестить можно здесь.