Zum Inhalt springen

SEO Analyse » SEO Lexikon » s » Sandbox

Sandbox Begriffserklärung und Definition

SandboxEine Sandbox ist ein spezieller, isolierter Bereich innerhalb eines Systems. Wie in einem wirklichen Sandkasten kann der Programmierer sozusagen in der Sandbox „spielen“ und verschiedene Möglichkeiten austesten. Der Hauptgrund eine Sandbox zu nutzen ist die Möglichkeit die Auswirkungen im Voraus zu testen, ohne dass dabei das System beschädigt wird. Hier hilft wieder ein Vergleich zur Realität. Setzen die Eltern das Kind in den Sandkasten kann es etwas aufbauen und wieder abbauen. Dem Kind stehen alle Möglichkeiten offen. Auch können andere Kinder unvorhergesehen auftauchen und die ganze Szenerie verändern. So verhält es sich auch mit der Sandbox. Dem Programmierer oder allen Nutzern steht der Raum in der Sandbox zur Verfügung. Innerhalb der Sandbox gibt es keine Grenzen für Ideen, doch auch nicht für Schädlinge. Diese können aber nicht aus der Sandbox ausbrechen, was ein großer Vorteil ist, denn somit lässt sich im Voraus alles testen. Es gibt viele Anbieter von Sandboxes und diese erfreuen sich vor allem an den Open Source-Versionen, denn sie sind völlig kostenlos und damit kann jede Software getestet werden und selbst Spiele sind mit einer Sandbox möglich. Dieser Trend wird immer stärker und eine Sandbox wird immer öfter für alle möglichen Zwecke genutzt.

Der erste Sandkasten

Die Geschichte der Sandbox hängt sehr mit der Entwicklung von PC-Systemen zusammen. Daher ist der Begriff Sandbox nicht neu, auch wenn er nicht der Allgemeinheit bekannt ist. Die ersten Sandboxes gab es schon in den 70er Jahren und damals wurden sie zu Testzwecken genutzt, um zu erkennen, wie die Codierung in einem geschlossenen Container funktioniert. Das erste bekannte System wurde Hydra genannt und entstand 1975. Dieses System wurde von eine Sicherheits-Kernel getragen, der die Codierung mehrerer Sicherheitsmechanismen ermöglichte, die mit dem Sicherheits-Kernel im direkten Kontakt standen und somit keine Auswirkungen auf das System hatten. Durch die Sicherheitsmechanismen konnte schon damals Software getestet werden, damit diese nicht im Endprodukt schädigend wirkt und die teure Hardware zerstört. Dabei wird direkt der Code in einer geschlossenen Umgebung ausgetestet und es zeigen sich alle Probleme, die hätten auftauchen können. Das Grundsystem hat sich bis heute gehalten und zeigt die Möglichkeiten, mit denen Software geprüft werden kann ohne ein Risiko einzugehen. Das Besondere ist die Tatsache, dass Software, die nur zur Lauffähigkeit installiert werden muss, keine Sandbox benötigt, da diese nicht direkt auf das System zugreift, sondern nur auf die Registry im PC und somit kann alles ohne Probleme erfolgen. Hier kann es nur passieren, dass die Programme untereinander nicht kompatibel sind und somit nicht funktionieren. Eine Sandbox ist zur heutigen Zeit immer noch revolutionär, vor allem im Bereich des Gamings, denn damit lassen sich interessante Konzepte für Spiele finden.

Versionen von Sandboxes

Eine Sandbox kann auf verschiedene Arten erzeugt werden. Zur heutigen Zeit entwickelt diese ein Programmierer meist nicht mehr selbst, sondern nutzt Programme wie FAUmachine oder Klik. Dabei unterscheiden sich die Vorgehensweisen bei einer Sandbox. Mit den virtuellen Maschinen lassen sich innerhalb des eigenen Systems mehrere virtuelle Systeme einbauen, die wie ein Rechner voll nutzbar sind, aber keinen Schaden an der Hard- oder Software anrichten könnten. Die JVM, Java virtual machine, bietet so eine Möglichkeit. Dabei werden aber immer starke Ressourcen benötigt, denn ein einzelner Rechner kann das nicht packen. Aushelfen kann dabei ein Server, der die VM auf mehrere Systeme bringt. Durch bestimmte Applikationen können Sandboxes direkt im Programmcode beachtet und genutzt werden. Zu den zwei Sorten der Implementierung gehören die speziellen Layer und Ebenen, die direkt im Betriebssystem integriert sind und eine einzelne Komponente darstellen.
Sandboxes sind in der ersten Hinsicht als geschlossenes System gedacht, das das Testing einer Software durchführt. Ebenfalls können bei der Nutzung einer Sandbox bestimmte Laufzeit-Parameter integriert werden, die eine Analyse der Sandbox ermöglicht. Neben Programmen ist in der Programmiersprache Java eine Sandbox verfügbar, die durch Applets genutzt wird und durch die besonderen Rechte sehr sicher ist. Dafür nutzt sie den SecurityManager und den ClassLoader, mit dem schon festgelegt ist, dass keine Programme der Sandbox auf das System zugreifen dürfen, da sonst das System darunter leiden könnte. Die verschiedenen Programme bieten eine komplette Sandbox, die sich in den Funktionen unterscheiden und somit speziell für verschiedene Zwecke genutzt werden können. Viele Sandboxes werden zur Nutzung auf Linux-Rechnern bereitgestellt, denn Linux ist sehr offen und bietet somit die besten Voraussetzungen für das Testing mit einer Sandbox. Es ist heute unter der Bezeichnung PortableLinuxApps bekannt.
Mit FAUmachine erhalten Nutzer kostenlos eine komplette VM, die in den Funktionen VirtualPC ähnelt und einen komplettes Interface bietet. Die Software greift dabei auf den Hauptkernel zu und der User kann die angezeigten Hardwarekonfigurationen selbst bestimmen. Das geschieht aber nur in der VM und somit können auch Ergebnisse erzielt werden, die sich auf ein System beziehen, das andere Konfigurationen wie der Computer bietet. FAUmachine soll für Windows auf den Markt gebracht werden, unter Mac OS X ist es schon verfügbar. Ein anderes Programm ist Klik für Linux. Es erstellt eine Sandbox-Oberfläche, die vom Nutzer ausgetestet werden kann. Ebenfalls nutzt Klik als Installationsassistent für allerlei Programme. Mit Solaris Zones können bis zu 8190 Zonen erstellt werden, die alle zum Testen genutzt werden können und reale Bedingungen erzeugen sollen. Die Zonen greifen nicht auf den Prozess der verschiedenen Zonen zu und somit lassen sich gesonderte Fälle simulieren. Durch die VMware Server stehen mehrere Workstations und Server zur Verfügung, die wie eine VM genutzt werden können. Die damit erzeugte Rechneroberfläche ist sehr einfach zu konfigurieren und jeder Fall lässt sich dabei simulieren. Aufgrund der verschiedenen Programme, die zum größten Teil als Freeware zur Verfügung stehen, lassen sich Hardware-Probleme vermeiden und die Software kann nach erkannten Problemen umprogrammiert werden.

Sandbox-Games

Eine ganz andere Art von Sandbox stellt ein Sandbox-Game dar. Diese werden fälschlicherweise auch mit bestimmten Onlinegames gleichgesetzt, die es dem Spieler erlauben die Welt ganz nach ihren Vorlieben zu entwickeln. Da sich dieser Begriff für diese Builder aber eingebürgert hat, müssen diese ebenfalls zu Sandbox-Games gezählt werden. Eine Sandbox im Gaming-Bereich ist das klassische Open-World-Game, das es dem Spieler ermöglicht, sich frei in der Welt zu bewegen und alles machen zu können, was er will. Da diese Form von Spiel sehr viele Informationen benötigt und diese die Hardware beschädigen könnten, wird das Open-World-Game wie eine Sandbox erstellt und ist somit geschlossen. Durch die Möglichkeit des Moddings, das für jedes Open-World-Game möglich ist, kann die Sandbox auf die Bedürfnisse des Nutzers zugeschnitten werden. Bekannte Beispiele sind zum Beispiel The Elder Scrolls oder Grand Theft Auto. Diese Games werden kurz nach ihrem Erscheinen mit Mods versorgt und die Veränderungen bleiben dabei im Spiele. Dabei kann es vorkommen, dass die Mods Konflikte mit dem Spiel hervorrufen. Durch den Effekt als Sandbox wird nach einem Absturz aber nicht das System geschädigt und der Modder kann andere Arten von Mods ausprobieren.
Die andere Version einer Sandbox im Gaming bezeichnet die Möglichkeit als Spieler die Welt kontinuierlich verändern zu können. Dieser Trend wird immer öfter bei den Onlinespielen angetroffen, die es dem Spieler ermöglichen zum Beispiel einfach in die Welt ein Haus zu bauen oder einen Baum zu fällen. Andere Spieler müssen dann mit dem Baumstumpf leben. Auch können neue Sachen angepflanzt werden oder nach der Zerstörung einer Kapelle ist diese nach dem Laden nicht mehr vorhanden. Somit stellt sich eine interessante Vielfalt für die Spieler zur Verfügung, die im virtuellen Sandkasten spielen und bestimmen.

Zusammenfassung

Eine Sandbox ist ein isolierter Bereich in einem System, der Entwicklern ermöglicht, Software oder Code zu testen, ohne das Hauptsystem zu gefährden. Ursprünglich in den 1970er Jahren entwickelt, wird die Technologie immer noch in verschiedenen Bereichen wie Sicherheit und Gaming verwendet.

Es gibt verschiedene Versionen von Sandboxes, die je nach Bedarf und Ressourcen unterschiedliche Implementierungsansätze verfolgen. Einige sind in Programmiersprachen wie Java integriert, während andere als separate Softwarelösungen verfügbar sind. Linux bietet besonders günstige Bedingungen für Sandboxing.

Sandbox-Games sind eine spezielle Kategorie, die Spielern ermöglicht, in einer offenen Welt zu interagieren. Sie nutzen die Sandbox-Technologie, um sicherzustellen, dass Modifikationen oder Fehler im Spiel nicht das zugrundeliegende System beschädigen.

Häufige Fragen und Antworten

Was ist eine Sandbox?

Eine Sandbox ist ein spezieller, isolierter Bereich innerhalb eines Systems, der es Programmierern ermöglicht, Software oder Code zu testen, ohne das Hauptsystem zu gefährden. In einer Sandbox können verschiedene Möglichkeiten ausprobiert werden, um die Auswirkungen im Voraus zu testen, bevor sie im Hauptsystem angewendet werden. Ähnlich wie in einem Sandkasten haben Programmierer in der Sandbox alle Freiheiten, können aber gleichzeitig Schäden am System vermeiden.

Welche Versionen von Sandboxes gibt es?

Es gibt verschiedene Versionen von Sandboxes, die je nach Bedarf und Ressourcen unterschiedliche Implementierungsansätze verfolgen. Eine Möglichkeit besteht darin, virtuelle Maschinen zu verwenden, in denen mehrere virtuelle Systeme erstellt werden können, die wie eigenständige Computer funktionieren. Eine andere Variante sind spezielle Layer und Ebenen, die direkt in das Betriebssystem integriert sind. Es gibt auch spezielle Sandboxes für Programmiersprachen wie Java, die bestimmte Rechte nutzen, um die Sicherheit zu gewährleisten.

Wofür werden Sandboxes verwendet?

Sandboxes werden in verschiedenen Bereichen verwendet, insbesondere in der Softwareentwicklung, um neue Software oder Codeänderungen zu testen, bevor sie im Produktivsystem eingesetzt werden. Sie dienen dazu, potenzielle Probleme oder Sicherheitslücken frühzeitig zu erkennen und zu beheben. Sandboxes sind auch in der Gaming-Branche beliebt, um Spielern die Möglichkeit zu geben, in einer offenen Welt zu interagieren und ihre Umgebung nach Belieben zu gestalten. Darüber hinaus werden Sandboxes in der Sicherheitstechnik eingesetzt, um Bedrohungen zu analysieren und zu isolieren.

Bildnachweis: iStock.com/Alaiye


Zurück zur Hauptseite: s
Alle Marken, Warenzeichen, Unternehmens- und Produkt-Bezeichnungen sind mit, aber auch ohne definitive Kennzeichnung, Eigentum des Inhabers der Rechte. Alle aufgeführten Elemente dienen lediglich der informativen Beschreibung.