<sub class="descriptionSection">09-10-2024 08:18:am // #Computer // [[BA]]</sub> ____ ## Basic Komponenten eines Computers Ein Computer besteht mindestens aus diesen Komponenten: - [[CPU]] - [[Speicher]] - [[Netzwerk]] - Nicht unbedingt benötigt, aber ohne die ersten beiden funktioniert kein Computer VMs müssen die selben komponenten mindestens haben um zu funktionieren ## Verschiedene Computer ### Computer allgemein ![[Pasted image 20241009083054.png]] Die basics ### Microcontroller ohne Betriebssystem ![[Pasted image 20241009083130.png]] Ein Microcontroller (z.B RPI Zero, Arduino, ESP 32, etc.) hat **kein Betriebssystem**. Sobald Strom verbunden wird, läuft ein Programm das im Speicher liegt los und hört nicht auf bis es Crashed oder der Strom genommen wird ### Computer mit Betriebssystem ![[Pasted image 20241009083241.png]] Ein Normaler Computer ist so aufgebaut. Dieser hat die basic Hardware Komponenten, ein Betriebssystem (wie Windows, Linux, OSX, etc.) und Apps die auf diesem Betriebssystem Laufen. Das Betriebssystem hat auch einen [[Scheduler]] der erlaubt, das mehrere Apps "gleichzeitig" auf einem Kern laufen können. ### Multiboot ![[Pasted image 20241009083648.png]] Quasi das selbe wie [[#Computer mit Betriebssystem]], nur das zwei Betriebssysteme installiert sind. Beim Booten kann man dann auswählen welches gebootet werden soll. > [!warning] Warning > Beim Multiboot kann immer nur ein OS gebootet sein, sie können nicht gleichzeitig laufen. ### Typ-1-Hypervisor ![[Pasted image 20241009083833.png]] Ein Typ-1 [[Hypervisor]] ersetzt quasi das OS. Dies erlaubt dem Hypervisor zugriff auf die Bare-Metal resourcen des Computers. Die performance der VMs erhöt sich dadurch, da es keinen Overhead durch ein OS mehr gibt. In den VMs läuft dann alles so wie bei einem [[#Computer mit Betriebssystem]]. > [!info] Info > Im gegensatz zu [[#Multiboot]] können die VMs tatsächlich gleichzeitig laufen ### Typ-2-Hypervisor ![[Pasted image 20241009084128.png]] Ein Typ 2 Hypervisor läuft auf einem Host-Betriebssystem (Beispiel VMware Workstation). Hierdurch besteht overhead durch das OS, da der Hypervisor keinen direkten zugriff auf die Hardware bekommt. Wie beim [[#Typ-1-Hypervisor]] können die VMs allerdings auch unabhängig von einander laufen. Dieser Typ an Hypervisor erlaubt auch das außerhalb von VMs auch Apps laufen können. ### Containervirtualisierung (z.B Docker, Kubernetes, etc) ![[Pasted image 20241009084438.png]] Die Containervirtualisierung ist eine Technik, bei der leichtgewichtige "Container" immer eine Anwendung laufen lassen. Hierbei werden nur die benötigten Libraries und Apps in einen Container geschoben und gestartet. Der Kernel innerhalb dieser Container wird vom Host-Betriebssystem gestellt. Dies hat den Vorteil, das Container quasi auf jedem Computer mit jeder Config gleich laufen und das diese sehr performant laufen.