Emulator to nic innego jak program komputerowy, który duplikuje funkcje innego systemu. Pozwala nam to np. uruchomić gry z PSX na PC, odpalić system iOS na Androidzie itp. Pierwszy system nazywany jest gospodarzem, a drugi gościem. Mówimy, że drugi system jest emulowany przez pierwszy.

Natomiast emulacja to proces programowego naśladaowania działania określonego oprogramowania lub platformy sprzętowej przez inny system lub na sprzęcie innego typu.

emu

Porozmawiajmy o wymaganiach

Kojarzycie 16-bitową konsolę Nintendo? Super Nintendo Entertainment System wyposażona była w procesor Ricoh 5A22 @ 3.58 MHz. By idealnie odwzorować to co potrafiła zrobić, twórcy emulatorów potrzebują około 3GHz mocy przerobowej. Zatem idealny emulator SNES'a wymaga 140x mocniejszego procesora niż sama konsola.

SNES

§ Kwestie prawne §

Jeśli chodzi o kwestie legalności emulatorów to sprawa wygląda następująco. Aby wszystko było zgodne z prawem, musicie posiadać oryginalną konsolę oraz oryginalne gry, które chcecie emulować. To nie wszystko: kopię gry do emulacji musicie wykonać sami. Piractwem jest natomiast pobierania BIOS-u lub ROM-ów z internetu, z wyjątkiem sytuacji kiedy wygasną prawa autorskie. Zgodnie z prawem wygasają one po upływie 70 lat od śmierci twórcy, lub 70 lat od śmierci współtwórcy, który żył najdłużej.

(Powyższe prawa dotyczą tylko Polski!)

wallpaper

Wirtualizacja

Wirtualizacja to proces polegający na odtwarzaniu przez oprogramowanie istnienia zasobów, które wykorzystują ustalone podczas konfiguracji zasoby fizyczne. np. wirtualna maszyna stosuje wirtualizację w celu emulowania pracy maszyny z danym systemem operacyjnym pozwalając przez to badać zachowanie tej maszyny i jej oprogramowania bez wpływania na realny system operacyjny, na którym pracujemy.

img

Wirtualizacja a emulacja

W obrębie pojęcia „wirtualizacja” można wyróżnić trzy grupy rozwiązań:

  • Emulacja API w której program wykorzystuje sposób działania aplikacji jako osobnego procesu w stosunku do systemu operacyjnego.Aplikacje wykorzystują API w celu dokonania procesu komunikacji z systemem operacyjnym. Emulatory API wprowadzają do głównego systemu operacyjnego otoczenie API pochodzące z innego systemu i niezbędne dla danej, emulowanej aplikacji.
  • Emulacja pełna jest sposobem na urochamianie aplikacji pochodzących z niekompatybilnego komputera, w stosunku do wykorzystywanego.Emulowane są podstawowe podzespoły komputera (CPU, RAM, HDD, CD itp.) wraz z systemem operacyjnym (virtual OS), zapewniając dużą przenośność przy pewnym spadku wydajności. Praktycznie każda operacja na uruchomionym wirtualnym systemie operacyjnym jest emulowana.
  • Wirtualizacja czyli połączenie podstawowych zalet emulacji pełnej oraz emulacji API. Wirtualizacja – pozwala jednocześnie uruchomić wiele systemów operacyjnych na tej samej platformie sprzętowej i systemowej przy maksymalnej możliwej wydajności.Opiera się ona na uruchamianiu w maszynie wirtualnej systemu operacyjnego, rezygnując z uniwersalności emulowania wielu architektur komputerów.Oznacza to, że wirtualizator uruchamia system operacyjny tak, aby mógł on koegzystować z systemem głównym i osiągać maksymalną zgodność i wydajność.
vb