Vad är en datorsimulator?
En datorsimulator är ett program som körs på en dator för att simulera ett slags system för att få en bättre uppfattning om hur systemet fungerar. En datorsimulator kan också användas för att simulera en annan dator. Det finns två huvudtyper: hela systemsimulatorn och ISS (Instructions Set Simulator). Denna typ av datorsimulator används ofta för att testa ny programvara på ett brett utbud av hårdvarukonfigurationer, utan att behöva använda fysiska datorer.
På sin mest grundläggande nivå används en datorsimulator för att återskapa en verklig situation där det inte skulle vara enkelt eller säkert att testa många olika tillstånd. I detta fall sparar du en datorsimulator mycket tid och resurser och kan faktiskt möjliggöra djupgående tester som skulle vara fysiskt omöjliga i den verkliga världen. Datorsimuleringar har använts inom teknik och vetenskap under en tid, och under de senaste åren, eftersom hårdvara har blivit mer robust och mjukvara har blivit mer sofistikerad, kan dessa simuleringar göra allt mer.
Ett exempel på användning av en datorsimulator kan vara ett teknikföretag som arbetar med att utforma en bättre flygel för flygplan. Istället för att spendera resurser på att bygga prototyper av varje ny design och testa dem i vindtunnlar eller på riktiga flygplan, kan en simulering köras istället. Om vindens vätskedynamik är exakt modellerad kan valfritt antal variabler modifieras för att testa en virtuell vinge i en miljon olika scenarier, av vilka vissa kan vara omöjliga att återskapa i den verkliga världen. Om en design visar sig inte vara idealisk kan den lätt modifieras och testas igen utan behov av att bygga ett nytt fysiskt objekt. På detta sätt kan hundratals eller tusentals mönster testas på relativt kort tid, vilket möjliggör en mycket större grad av finjustering än vad som annars skulle vara möjligt.
Med spridningen av hårdvara hittar programvarutillverkare också ett behov att simulera olika miljöer för sina program. Eftersom det skulle vara omöjligt att köra en mjukvara på varje dator på jorden, mycket mindre att köra den på alla modifierade system med mer eller mindre videominne, tredjeparts ljudkort och dussintals andra komponenter som kan anpassas, en datorsimulator används istället. På detta sätt kan programvaran köras på tiotusentals hypotetiska hårdvarukonfigurationer, och buggar kan upptäckas och åtgärdas långt innan produkten skickas ut till kunderna.
Instruktionssimulatorer används vanligtvis för den här uppgiften. De kan ändra variabler som representerar olika maskinvarubegränsningar för olika maskiner. Dessa variabler kan ändras, programmet kan köras, och sedan kan variablerna ändras igen, vilket gör att en programmerare kan testa genom många system på kort tid.
En annan typ av simulator är simulatorn för hela systemet. Även om det liknar en ISS, tillåter en full-systemsimulator en mycket mer omfattande miljö genom att låta hela operativsystem och programvarudrivrutiner simuleras. Detta möjliggör en ännu större grad av noggrannhet i simulering, vilket ger en bättre möjlighet att upptäcka och reparera buggar.