Hvad er en computersimulator?
En computersimulator er et program, der køres på en computer med det formål at simulere en slags system for at få en bedre idé om, hvordan systemet fungerer. En computersimulator kan også bruges til at simulere en anden computer. Der er to hovedtyper: hele systemsimulatoren og ISS (Instructions Set Simulator). Denne type computersimulator bruges ofte til at teste ny software på en lang række hardwarekonfigurationer uden egentlig at skulle bruge de fysiske computere.
På det mest grundlæggende niveau bruges en computersimulator til at genskabe en virkelighedssituation, hvor det ikke ville være let eller sikkert at teste mange forskellige tilstande. I dette tilfælde sparer brug af en computersimulator en masse tid og ressourcer og kan faktisk muliggøre dybdegående test, der ville være fysisk umulig i den virkelige verden. Computersimuleringer er blevet brugt inden for engineering og videnskab i nogen tid, og i de senere år, efterhånden som hardware er blevet mere robust, og software er blevet mere sofistikeret, er disse simuleringer i stand til at udføre mere og mere.
Et eksempel på brug af en computersimulator kan være et ingeniørfirma, der arbejder på at designe en bedre fløj til fly. I stedet for at bruge ressourcer på at bygge prototyper af hvert nyt design og teste dem i vindtunneler eller på rigtige fly, kan der i stedet køres en simulering. Hvis vindens væskedynamik modelleres nøjagtigt, kan et vilkårligt antal variabler ændres for at teste en virtuel vinge i en million forskellige scenarier, hvoraf nogle måske er umulige at genskabe i den virkelige verden. Hvis et design viser sig ikke at være ideelt, kan det let ændres og gentestes uden behov for at opbygge et nyt fysisk objekt. På denne måde kan hundreder eller tusinder af design afprøves i en relativt kort periode, hvilket giver mulighed for en meget større grad af finjustering end ellers ville være muligt.
Med spredning af hardware finder softwareproducenter også et behov for at simulere forskellige miljøer til deres programmer. Da det ville være umuligt at køre et stykke software på enhver computer på jorden, meget mindre at køre det på hvert ændret system med mere eller mindre videohukommelse, lyd fra tredjepart og de snesevis af andre komponenter, der kan tilpasses, i stedet bruges en computersimulator. På denne måde kan softwaren køres på titusinder af hypotetiske hardwarekonfigurationer, og fejl kan registreres og rettes længe, før produktet sendes ud til kunderne.
Instruktionssimulatorer bruges ofte til denne opgave. De kan ændre variabler, der repræsenterer forskellige hardwarebegrænsninger for forskellige maskiner. Disse variabler kan ændres, programmet kan køres, og derefter kan variablerne ændres igen, så en programmerer kan teste gennem mange systemer på kort tid.
En anden type simulator er hele systemsimulatoren. Selvom det ligner en ISS, tillader en komplet systemsimulator et meget mere omfattende miljø ved at lade hele operativsystemer og softwaredrivere simuleres. Dette giver mulighed for en endnu større grad af nøjagtighed i simulering, hvilket giver en bedre mulighed for at registrere og reparere fejl.