Hur fungerar emulering och varför är det så långsamt?
Vi har tagit fram några exempel på emulering i det förflutna, men bara borstat på hur det verkligen fungerar. Och för det mesta är det bra. Det är helt möjligt att bara starta din dator och använda en emulator utan att oroa dig för detaljerna i den.
Men har du någonsin undrat vad som händer bakom kulisserna? Varför emulatorer är så långsamma? Eller ens hur emulering kan ytterligare förbättra ditt dagliga liv? Läs vidare och du kommer bara se hur fantastiskt emulering verkligen är.
Inte allt hårdvara görs lika
Exempelvis fungerar inte PlayStation-spel på Windows eftersom dessa spel inte är utformade för att köras på vanliga datorer. PlayStation-enheter är mycket specifika i sin fysiska smink och innehåller unik maskinvara som Windows - eller något annat operativsystem för datorn - inte vet hur man använder.
Det är här emulering kommer in: emulering syftar till att köra program utformade för ett slags system på en annan typ av system, och programmen som utför denna process kallas emulatorer. Detaljerna är lite mer komplexa, men i slutändan försöker de alla att nå samma sak: att göra programvaran köra över olika hårdvaror.
Hur fungerar emulatorer?
Det finns en stor mängd arbete som emulering måste göra för att få ett utländskt program att springa. Kort sagt är en emulator programvara som försöker “spela teater” som en maskinvara. Vanligtvis betyder detta simulerar alla förmågor hos en hårdvarukomponent som programvarukomponenter.
Om du undrar varför det inte finns emulatorer för moderna system (t.ex. Xbox One), är det därför anledningen till detta. Det tar mycket hårt arbete och ansträngningar att få processen att fungera, eftersom modern hårdvara är extremt komplex.
Återgå till PlayStation-exemplet skulle en emulator vara tvungen att låta sig ha ett speciellt ljudchip, grafikkort och så vidare, även utöka för att simulera kringliggande komponenter som cd-enheter.
Centrala behandlingsenheten
Den svåraste komponenten att emulera är vanligtvis den centrala behandlingsenheten (CPU). Det är ett av kärnelementen i varje dator, från smartphones till videospelkonsoler, och på många sätt den viktigaste. Utan en CPU skulle programmen inte kunna fungera.
Huvudvägen CPU: er skiljer sig från varandra är i deras instruktionsuppsättningar. I grund och botten, De bestämmer hur en dator utför kommandon som program ger det. Emulatorer riktar sig i allmänhet till system som har olika instruktionsuppsättningar än värdsystemet.
Till exempel använder PlayStation CPU en instruktion som heter MIPS, vilket skiljer sig från skrivbord och bärbara datorer som använder, säger, x86.
Varför är emulatorer så långsamma?
Varje CPU-instruktion som mottas av emulatorn behöver översättas från en instruktion till den andra instruktionssatsen, och denna översättning behöver göras på flyg. Så i exemplet ovan skulle en PlayStation-emulator få en MIPS-instruktion, översätt den till x86, kör sedan den på den bärbara datorn.
Detta är grunden för hur en emulator kan simulera en hel enhet i din egen dator. Föreställ dig en tolk som försöker förmedla en konversation mellan två personer som talar olika språk. Även om översättningen är väldigt snabb kommer det alltid att finnas en viss förlust i hastighet, men ju mer komplexa språk, desto långsammare översättningar.
Virtualisering vs Emulering
Virtualisering Virtualisering och Cloud Computing är inte samma sak Virtualisering och Cloud Computing är inte samma sak Många tycker att virtualisering och cloud computing är en i samma sak, men de är inte. Här är skillnaden och hur alla kan göra ditt liv enklare. Read More är mycket lik emulering, men det finns viktiga skillnader mellan dem - i synnerhet refererar virtualisering brukar till användningen av virtuella maskiner. Virtualisering och emulering gör samma sak, men de går om det på något annorlunda sätt.
Båda är utformade för att köra programvara i en isolerad miljö. Virtualisering fokuserar på isoleringen medan emulering fokuserar på miljön. Vad detta betyder är att emulatorer simulerar ett större utbud av hårdvara än virtuella maskiner kan. Du kan inte köra ett Playstation-system i en virtuell maskin, till exempel.
På grund av detta tenderar virtualisering att vara snabbare än emulering. I stället för att emulera ett system, fördelar virtuella maskiner i stället lite bearbetningskraft till ett visst isolerat delsystem. Detta innebär att CPU inte är emulerad, vilket också är anledningen till att virtuella maskiner tenderar att vara mindre mångsidiga.
Som sådan skiljer sig målgrupperna för de två något. Emulatorer tenderar att vara utformade för spelkonsoler (eller andra system som helt skiljer sig från vanliga datorer) medan virtuella maskiner är mer benägna att hitta i företag. Detta beror på att de ger en snabb och säker miljö för att kunna köra program i.
Detta är dock mest nitpicking. Praktiskt taget är virtualisering och emulering funktionellt densamma, eftersom de huvudsakligen existerar för att översätta från en “undervisningsspråk” till en annan.
3 sätt emulering kan gynna dig
Det finns ett antal sätt att du kan dra nytta av emulering. Du kan till och med använda det nu utan att ens veta! Här är några noterbara exempel.
1. Kör 32-bitarsprogram på 64-bitars Windows
64-bitars versioner av Windows använder en speciell typ av emulering som heter a kompatibilitetsskiktet att köra 32-bitars program. Det finns inget behov av att emulera ett helt system för att få saker att fungera eftersom 32-bitarsprogrammen liknar design redan. På grund av detta är processen extremt snabb.
Om du använder Microsoft Office använder du förmodligen 32-bitarsversionen - emulering direkt till hands!
2. Gör din dator till en universell konsol
Du kan spela många äldre videospelplattformar på din dator med rätt emulatorer - och det roliga är att många av dessa spel faktiskt går bättre genom emulering än på deras inbyggda hårdvara, eftersom moderna datorer är så snabba.
Till exempel, med en tillräckligt stark dator kan du faktiskt spela några spel med högre upplösningar än de var avsedda för:
Du kan även konfigurera din mobiltelefon för att efterlikna videospelkonsoler för en mer handhållen upplevelse. Eller omvänt emulera en mobil Hur man emulerar Android och kör Android-appar på din dator Hur man emulerar Android och kör Android-appar på din dator Det är faktiskt ganska enkelt att få Android-appar som körs på skrivbordet eller datorn! Här går vi igenom de bästa metoderna. Läs mer på din dator.
3. Testa olika operativsystem
Vanligtvis om du vill prova ett nytt operativsystem måste du installera det på hårddisken. Emulering kan du köra ett separat operativsystem direkt på ditt nuvarande operativsystem genom att använda en virtuell maskin Testa ett nytt operativsystem? Håll dig säker med en virtuell maskinprovning ett nytt operativsystem? Håll dig säker med en virtuell maskin Läs mer .
Det finns ett antal anledningar till varför du vill göra det här. Du behöver inte oroa dig om installationen misslyckas, eftersom den är begränsad till en virtuell miljö. Det kan också vara ditt enda alternativ om du vill prova ett operativsystem som är oförenligt med din maskinvara, t.ex. en för Raspberry Pi.
Översättning + Simulation = Emulering
Emulering är en extremt komplicerad process och den här artikeln täcker bara grunderna. Men förhoppningsvis ger du en glimt på vad som händer under huven. Så när du startar en emulator, oavsett om det är att spela ett gammalt videospel eller för att säkert köra ett program, vet du exakt varför det kan vara lite långsamt.
Vad är dina erfarenheter med emulering?
Utforska mer om: Emulering, virtualisering.