Plattform (Computer)

Eine Plattform, gelegentlich auch Schicht oder Ebene genannt, bezeichnet in der Informatik eine einheitliche Basis, auf der Anwendungsprogramme ausgeführt werden können. Eine Plattform befindet sich zwischen zwei Komponenten eines Rechnersystems. Für die Komponente, welche die Plattform nutzt, ist die Komponente darunter nicht sichtbar. Daher kann ein und dieselbe Komponente über eine Plattform auf verschiedenen „Untergründen“ betrieben werden.
Zielsetzung und Bestandteile
Eine Plattform ermöglicht es Softwareentwicklern, Anwendungen zu schreiben, die auf Prozessoren unterschiedlicher Hersteller oder auf unterschiedlichen Betriebssystemen lauffähig sind. Die Plattform stellt dem Programmierer Programmierschnittstellen zur Verfügung, die immer gleich sind. Innerhalb der Grenzen der verwendeten Plattform finden die Anwendungen immer die gleichen Schnittstellen vor und bleiben damit ausführbar.
Mögliche Bestandteile einer Plattform sind eine Rechnerarchitektur, Programmiersprache, Bibliotheken und Laufzeitumgebungen.
Arten
Plattformen werden zwischen Soft- und Hardware-Plattformen unterschieden. Dabei verwendet eine Hardware-Plattform eine einheitliche Maschinensprache. Wie die einzelnen Befehle dieser Maschinensprache verarbeitet werden, kann sich aber innerhalb der gleichen Plattform stark unterscheiden. Nur die Endergebnisse, welche die Befehle liefern, bleiben dieselben.
Bei Software-Plattformen wird die Anwendung noch stärker von der Hardware abstrahiert. Dies bedeutet, dass Befehle und Daten einer Laufzeitumgebung (siehe unten, bei Software-Frameworks) oder einem Dienst übergeben werden und dort in die entsprechende Maschinensprache übersetzt werden.
Anwendungsschnittstellen und Betriebssysteme
Die Anwendungsschnittstellen werden in der Regel mit den Betriebssystemen mitgeliefert, falls dies (noch) nicht der Fall ist, werden diese durch passende Laufzeitumgebungen (nachträglich) zur Verfügung gestellt.
- AmigaOS
- GNU-Software-Umgebung (Linux, BSD, Fink, Cygwin...)
- POSIX (UNIX, Linux, OSX...)
- SUS (UNIX93 ... UNIX03)
- LSB (Linux Standard Base)
- Carbon (Mac OS)
- Cacao (Mac OS X, GNUstep...)
- Win64, Win32, Win16 (Windows, Wine, ReactOS...)
- OS/400
- z/OS
- OS/2
- z/VM
- Symbian
- BlackBerry
- iOS
- Palm OS
- Windows CE (Windows Mobile, Windows Phone, Windows Embedded)
- Android Runtime
- Bada
- OpenVMS
Software-Frameworks
- Java - JDK und JRE
- PHP
- .NET Framework
- Mozilla Prism
- uniPaaS
- Adobe AIR
- Mono
Server-Plattformen
- LAMP (Linux, Apache, MySQL und PHP)
- WAMP (Windows, Apache, MySQL und PHP)
- MAMP (Mac OS X, Apache, MySQL und PHP)
Hardware
- x86 (Intel IA-32 oder AMD x86)
- x86-64 (Intel 64 und AMD64)
- IA-64 (Intel Itanium)
- ARM
- SPARC
- MIPS
- DEC Alpha
- POWER (IBM POWER und IBM PowerPC)
- 680x0 (heute Freescale, einst Motorola)
Weblinks
- HTML5: Der Browser als Plattform – Kurzartikel zur DotNet Developer Conference 2012, vom 7.6.2011