Ми розглянули досить багато прикладів емуляції в минулому, але лише детально розповіли про те, як це працює. І здебільшого це нормально. Цілком можливо просто запустити свій комп'ютер і використовувати емулятор, не турбуючись про його деталі.
- Не все обладнання зроблено рівним
- Як працюють емулятори?
- Центральний процесорний пристрій
- Чому емулятори такі повільні?
- Віртуалізація проти емуляції
- 3 способи емуляції можуть принести вам користь
- 1. Запустіть 32-бітові програми в 64-бітній Windows
- 2. Зробіть ваш комп'ютер універсальною консоллю
- 3. Перевірте різні операційні системи
- Переклад + симуляція = емуляція
- Які ваші враження від емуляції?
Але ви коли-небудь замислювалися, що насправді відбувається за лаштунками? Чому емулятори такі повільні? Або навіть як емуляція може поліпшити ваше повсякденне життя? Читайте далі, і ви побачите, наскільки дивною є емуляція.
Не все обладнання зроблено рівним
Наприклад, ігри PlayStation не працюють у Windows, тому що ці ігри не призначені для роботи на звичайних комп'ютерах. Пристрої PlayStation дуже специфічні за своєю фізичною структурою і містять унікальне обладнання, яке Windows або будь-яка інша операційна система ПК не знає, як використовувати.
Ось де виникає емуляція: емуляція призначена для запуску програм, розроблених для системи одного типу, в системі іншого типу, а програми, які виконують цей процес, називаються емуляторами. Деталі трохи складніші, але, зрештою, всі вони намагаються досягти одного і того ж: зробити програмне забезпечення працездатним на іншому обладнанні.
Як працюють емулятори?
Для запуску сторонньої програми потрібна велика робота з емуляції. Коротше кажучи, емулятор - це програмне забезпечення, яке намагається «діяти» як апаратне забезпечення. Зазвичай це означає імітацію всіх можливостей апаратного компонента як програмних компонентів.
Якщо вам цікаво, чому немає емуляторів для сучасних систем (наприклад, Xbox One), це причина, чому. Потрібно багато копіткої роботи і зусиль, щоб змусити процес працювати, тому що сучасне обладнання надзвичайно складно.
Повертаючись наприклад з PlayStation, емулятор повинен був робити вигляд, що у нього є спеціальний звуковий чіп, графічна карта і т. Д., Навіть якщо він розширює можливості для імітації периферійних компонентів, таких як CD-дисководи.
Центральний процесорний пристрій
Найбільш складним для емуляції компонентом зазвичай є центральний процесор (ЦП). Це один з основних елементів кожного комп'ютера, від смартфонів до ігрових приставок, і в багатьох відношеннях найважливіший. Без процесора програми не зможуть функціонувати.
Основна відмінність процесорів від інших полягає в їх наборах команд. По суті, вони визначають спосіб, яким комп'ютер виконує команди, які йому дають програми. Емулятори зазвичай призначені для систем, які мають набори команд, відмінні від хост-системи.
Наприклад, процесор PlayStation використовує набір інструкцій під назвою MIPS, який відрізняється від настільних комп'ютерів і ноутбуків, які використовують, скажімо, x86.
Чому емулятори такі повільні?
Кожна інструкція процесора, отримана емулятором, повинна бути переведена з одного набору команд в інший набір команд, і цей переклад повинен бути виконаний на льоту. Таким чином, у наведеному вище прикладі емулятор PlayStation отримає інструкцію MIPS, переведе її в x86 і запустить на ноутбуці.
Це основа того, як емулятор може імітувати весь пристрій всередині вашого комп'ютера. Уявіть собі перекладача, який намагається передати розмову між двома людьми, які розмовляють різними мовами. Навіть якщо переклад дуже швидкий, завжди буде деяка втрата у швидкості, але чим складніше мови, тим повільніше переклади.
Віртуалізація проти емуляції
Віртуалізація дуже схожа на емуляцію, але між ними є важливі відмінності - зокрема, віртуалізація зазвичай відноситься до використання віртуальних машин. Віртуалізація та емуляція виконують одне й те саме, але роблять це трохи по-різному.
Обидва призначені для запуску програмного забезпечення в ізольованому середовищі. Віртуалізація орієнтована на ізоляцію, а емуляція - на середу. Це означає, що емулятори імітують більшу кількість обладнання, ніж віртуальні машини. Наприклад, ви не можете запустити систему Playstation на віртуальній машині.
Однак через це віртуалізація має тенденцію бути швидше, ніж емуляція. Замість того, щоб емулювати систему, віртуальні машини замість цього виділяють деяку обчислювальну потужність для деякої ізольованої підсистеми. Це означає, що процесор не емулюється, що також є причиною того, що віртуальні машини мають тенденцію бути менш універсальними.
Таким чином, цільова аудиторія цих двох груп дещо відрізняється. Емулятори, як правило, призначені для ігрових приставок (або інших систем, які повністю відрізняються від звичайних комп'ютерів), в той час як віртуальні машини найчастіше використовуються в бізнесі. Це тому, що вони забезпечують швидке і безпечне середовище для запуску програм.
Тим не менш, це в основному прискіпки. Практично кажучи, віртуалізація і емуляція функціонально однакові в тому сенсі, що вони в основному існують для перекладу з однієї «мови навчання» на іншу.
3 способи емуляції можуть принести вам користь
Є кілька способів використовувати переваги емуляції. Ви можете навіть використовувати його зараз, навіть не знаючи! Ось кілька помітних прикладів.
1. Запустіть 32-бітові програми в 64-бітній Windows
64-розрядні версії Windows використовують спеціальний вид емуляції, званий рівнем сумісності, для запуску 32-розрядних програм. Немає необхідності емулювати всю систему, щоб все запрацювало, тому що 32-бітові програми вже схожі за дизайном. Через це процес дуже швидкий.
Якщо ви використовуєте Microsoft Office, ви, ймовірно, використовуєте 32-розрядну версію - емуляція прямо у вас під рукою!
2. Зробіть ваш комп'ютер універсальною консоллю
Ви можете грати на багатьох старих платформах для відеоігор на своєму комп'ютері, використовуючи правильні емулятори - і найкумедніше, що багато з цих ігор насправді працюють краще завдяки емуляції, ніж на їх рідному обладнанні, тому що сучасні комп'ютери дуже швидкі.
Наприклад, маючи досить сильний комп'ютер, ви можете грати в деякі ігри з вищою роздільною здатністю, ніж вони були розраховані:
Ви навіть можете налаштувати свій мобільний телефон для емуляції ігрових приставок для більш зручного використання. Або, навпаки, емулюйте мобільний телефон на вашому комп'ютері.
3. Перевірте різні операційні системи
Зазвичай, якщо ви хочете випробувати нову операційну систему, вам необхідно встановити її на жорсткий диск. Емуляція дозволяє вам запустити окрему операційну систему прямо у вашій поточній операційній системі за допомогою віртуальної машини.
Є кілька причин, чому ви хотіли б зробити це. Вам не доведеться турбуватися, якщо ваша установка поводиться неправильно, оскільки вона обмежена віртуальним середовищем. Це також може бути єдиним варіантом, якщо ви хочете випробувати операційну систему, несумісну з апаратним забезпеченням вашого комп'ютера, наприклад, для Raspberry Pi.
Переклад + симуляція = емуляція
Емуляція - надзвичайно складний процес, і ця стаття охоплює тільки основи. Але, сподіваюся, це дасть вам уявлення про те, що відбувається під капотом. Тому, коли ви завантажуєте емулятор, будь то для гри в стару відеогру або для безпечного запуску програми, ви точно знаєте, чому вона може бути трохи повільною.
