Python Virtual Machine
Im Kern des Python-Interpreters liegt die Python Virtual Machine (PVM), der Antrieb, der den von Ihrem Python-Programm erzeugten Bytecode in Aktion setzt.
Was ist also ihre Aufgabe? Sobald ein Python-Programm ausgeführt wird, wird der Python-Quelltext zunächst in Bytecode umgewandelt. An diesem Punkt kommt die PVM ins Spiel, um diesen auszuführen. Anstelle einer direkten Ausführung des Python-Codes Zeile für Zeile durch den Interpreter, übernimmt der Bytecode die Hauptrolle. Dieser Vorgang der Bytecode-Interpretation findet automatisch statt, sobald Sie Ihren Python-Code laufen lassen. Es gleicht der Arbeit eines emsigen Bühnenteams, das hinter den Kulissen agiert, ohne dass Sie selbst aktiv werden müssen. Diese Erläuterung dient lediglich dazu, Ihnen einen Einblick in den Prozess zu verschaffen.
Daher verfügt Python nicht nur über einen Interpreter, sondern auch über einen Bytecode-Compiler.
Aber warum nimmt Python den Umweg über die Umwandlung des Programms in Bytecode?
Bytecode stellt eine raffinierte Version Ihres Python-Quelltexts dar.
Er fungiert als optimierte Route für Ihren Code und ermöglicht eine schnellere Ausführung, verglichen mit der herkömmlichen, zeilenweisen Interpretation eines Programms.
Die Python Virtual Machine ist ein zentraler Bestandteil der Standardimplementierung von Python, liebevoll CPython genannt, und sie ist in der Programmiersprache C umgesetzt. Daher ist sie nicht nur schnell und effizient, sondern auch auf einer Vielzahl von Hardwareplattformen einsetzbar.
Ein weiteres Verdienst der PVM ist ihr Beitrag zur Portabilität von Python als Programmiersprache.
Der Bytecode ist kein maschinenspezifischer Code. Das heißt, er ist nicht an eine bestimmte Hardware gebunden, sondern bleibt flexibel innerhalb der Python Virtual Machine.
Pythons Bytecode kann auf jeder Implementierung der PVM ausgeführt werden, auf jedem Betriebssystem, auf dem ein Python-Interpreter installiert ist, unabhängig vom Hardware- oder Betriebssystemtyp.
Diese Flexibilität ermöglicht es, dasselbe Python-Programm unter Windows, Linux oder Mac OS ohne Komplikationen zu betreiben.
Allerdings ist es wichtig, kein falsches Bild von der PVM zu haben. Sie ist nicht mit einer „virtuellen Maschine“ im herkömmlichen Sinn vergleichbar.
Um es genauer zu sagen: Die PVM, obgleich ein Grundpfeiler der Python-Architektur, ist nicht als „virtuelle Maschine“ im Sinne von Java oder .NET zu verstehen.
Python besitzt keine Just-In-Time (JIT) Laufzeitumgebung wie Java oder .NET.
Demnach bietet die PVM nicht dieselben Sicherheits- oder Isolationsmerkmale, die man von