Posix

Posix-Standard

Posix-Standard

POSIX: Ein Überblick

Das Portable Operating System Interface (POSIX) ist ein IEEE-Standard, der die Kompatibilität und Portabilität zwischen Betriebssystemen unterstützt. Theoretisch sollte POSIX-konformer Quellcode nahtlos portierbar sein. In der realen Welt stößt der Anwendungsübergang oft auf systemspezifische Probleme. Aber die POSIX-Konformität macht es einfacher, Anwendungen zu portieren, was zu Zeiteinsparungen führen kann. Entwickler sollten sich daher mit den Grundlagen dieses weit verbreiteten Standards vertraut machen.

Geschichte von POSIX

Frühe Programmierer mussten ihre Anwendungen für jedes neue Computermodell von Grund auf neu schreiben. Aber das IBM System/360 hat das geändert. 1964 wurde das Betriebssystem OS/360 . eingeführt. IBM begann, dieselbe Hardwarearchitektur zu verwenden, damit die neuen Modelle dasselbe Betriebssystem wiederverwenden können. Das Vorhandensein eines gemeinsamen Betriebssystems auf mehreren Computern bildet die erste Stufe für die Portabilität von Anwendungen.

In den späten 1960er Jahren eröffnete die Einführung von UNIX neue Möglichkeiten. Die Bell Labs von AT&T waren für die anfängliche Entwicklung dieses neuen Betriebssystems verantwortlich. Es könnte auf Maschinen von mehreren Anbietern laufen run. Aber UNIX begann sich in verschiedene Geschmacksrichtungen zu teilen. Neben dem System V von AT&T gab es Berkeley Software Distribution (BSD), Xenix und mehr. Es war nicht einfach, diese Geschmacksrichtungen zu portieren. Das Versprechen der Portabilität der Anwendung ist auf der Straße angekommen. In den kommenden Jahrzehnten würde die Einführung neuer Betriebssysteme die Portierung von Anwendungen über Hardware, Betriebssysteme und Anbieter hinweg nur noch komplexer machen.

Der POSIX-Standard wurde in den 1980er Jahren entwickelt, um das Portabilitätsproblem zu lösen. Der Standard wurde basierend auf System V und BSD Unix definiert. POSIX definiert nicht das Betriebssystem, es definiert nur die Schnittstelle zwischen einer Anwendung und einem Betriebssystem. Die Programmierer haben die Freiheit, ihr Betriebssystem und ihre Anwendung so zu schreiben, wie sie wollen, solange die Schnittstelle zwischen beiden berücksichtigt wird. Da POSIX unabhängig von Hardware, Betriebssystem oder Anbieter ist, ist es einfacher, die Anwendungsportabilität zu erreichen.

Der erste POSIX-Standard wurde 1988 veröffentlicht. Formal hieß es IEEE Standard 1003.1-1988 tragbare Betriebssystemschnittstelle für Computerumgebungen“. 1990 wurde eine internationale Version des gleichen Standards mit leichten Abweichungen als ISO/IEC 9945-1:1990 herausgegeben Informationstechnologie - Portable Operating System Interface (POSIX) - Part 1: System Application Program Interface (API).

Ursprünglich war POSIX in mehrere Standards unterteilt:

POSIX.1: Kernleistungen
POSIX.1b: Echtzeit-Erweiterungen
POSIX.1c: Thread-Erweiterungen
POSIX.2: Shell und Dienstprogramme

Nach 1997 brachte die Austin Group den gesamten Standard unter einem Dach zusammen. Seitdem sind die Versionen POSIX.1-2001 (auch bekannt als IEEE Std 1003.1-2001), POSIX.1-2004 (auch bekannt als IEEE Std 1003.1-2004) und POSIX.1-2008 (auch bekannt als IEEE Std 1003.1-2008) wurden veröffentlicht.

Beispiele einiger POSIX-kompatibler Systeme sind AIX, HP-UX, Solaris und MacOS (seit 10.5 Leopard). Auf der anderen Seite Android, FreeBSD, Linux-Distributionen, OpenBSD, VMWare usw., folgen den meisten POSIX-Standards, sind aber nicht zertifiziert.

Grundlagen von POSIX

POSIX.1-2008 Standard behandelt vier Hauptbereiche:

  1. Basis-Definitionsvolumen: Allgemeine Begriffe, Konzepte und Schnittstellen.
  2. Systemschnittstellen Volumen: Definitionen von Systemdienstfunktionen und Unterprogrammen. Beinhaltet auch Portabilität, Fehlerbehandlung und Fehlerbehebung.
  3. Shell- und Utilities-Volumen: Definition von Schnittstellen beliebiger Anwendungen zu Kommando-Shells und gängigen Dienstprogrammen.
  4. Begründung Volumen: Enthält Informationen und Historie zu hinzugefügten oder verworfenen Funktionen und die Begründung der Entscheidungen.

Der Standard deckt keine grafischen Schnittstellen, Datenbankschnittstellen, Objekt-/Binärcode-Portabilität, Systemkonfigurationen, E/A-Überlegungen oder Ressourcenverfügbarkeit ab.

Einige der Leitprinzipien des POSIX-Designs sind:

POSIX-Anwendungsentwicklung

Der Zweck von POSIX war es, die Portabilität zu verbessern. Wenn Ihr Quellcode dem Standard entspricht, können Sie den Code einfach kompilieren und auf einem anderen Computer ausführen. Wenn POSIX jedoch als allgemeine Anforderung für eine Anwendung definiert ist, kann dies zu Verwirrung führen. Der vollständige POSIX-Standard umfasst über 4000 Seiten mit mehr als 1350 Schnittstellen. Es macht keinen Sinn alles umzusetzen implement. Jedes Projekt sollte daher die Aspekte von POSIX definieren, die bestimmten Anforderungen gerecht werden.

Es gibt Missverständnisse in der Entwicklergemeinschaft, dass der POSIX-Standard alt und irrelevant ist. Es ist nicht wahr. POSIX ist ein lebendes Dokument, das regelmäßig von der Austin Group aktualisiert wird. Jeder kann der Gruppe beitreten und sich an der Verbesserung des Standards beteiligen. Der Standard wird in heutigen Servern, Workstations, Routern, mobilen Geräten, eingebetteten Systemen und mehr aktiv eingesetzt. Es wird für UNIX- und Linux-Rechner verwendet.

Entwickler sollten sich jedoch bewusst sein, dass der POSIX-Standard Probleme hat. Sie können jeden Fehler, den Sie entdecken, an die Austin Group melden und er wird für die nächste Überarbeitung geprüft.

Fazit
POSIX mag auf den ersten Blick entmutigend erscheinen. Dennoch sollten sich Anwendungsentwickler mit den Grundlagen vertraut machen, da sie von Zeit zu Zeit als Anforderung auftauchen. Aufgrund des großen Umfangs der Norm ist es nicht möglich, Experte für das gesamte Dokument zu werden. Entwickler können sich an die UNIX- und Linux-Communitys wenden, um mehr zu erfahren. Die Communities können Ihre Fragen beantworten und Ihnen ein besseres Gefühl dafür geben, welcher Teil des Standards für Ihr Projekt relevant ist.

Weitere Studie:

Verweise:

So erfassen und streamen Sie Ihre Gaming-Sitzung unter Linux
In der Vergangenheit galt das Spielen von Spielen nur als Hobby, aber mit der Zeit verzeichnete die Spieleindustrie ein enormes Wachstum in Bezug auf ...
Beste Spiele zum Spielen mit Handtracking
Oculus Quest hat kürzlich die großartige Idee des Hand-Trackings ohne Controller vorgestellt. Mit einer ständig steigenden Anzahl von Spielen und Akti...
So zeigen Sie OSD-Overlay in Vollbild-Linux-Apps und -Spielen an
Das Spielen von Spielen im Vollbildmodus oder die Verwendung von Apps im ablenkungsfreien Vollbildmodus kann Sie von relevanten Systeminformationen ab...