POSIX

POSIX ist eine Familie technischer Standards, die seit 1988 vom Institut für Elektrotechnik- und Elektronikingenieure (IEEE) definiert und offiziell als IEEE 1003 bezeichnet werden . Diese Standards sind aus einer vorgeschlagenen standardisierten Programmierschnittstelle für Software hervorgegangen , die auf Varianten des Betriebssystems UNIX ausgeführt werden kann .

Der Begriff POSIX wurde von Richard Stallman vorgeschlagen , der Mitglied des Ausschusses war, der die erste Version des Standards verfasst hat. Das IEEE entschied sich dafür, es beizubehalten, weil es leicht zu merken war. Die ersten vier Buchstaben stehen für Portable Operating System Interface und das X für UNIX Heritage.

Präsentation

POSIX spezifiziert Benutzeroberflächen und Softwareschnittstellen in siebzehn verschiedenen Dokumenten . Die Standard-Befehlszeilen- und Skriptschnittstelle , die die Bourne-Shell ist . Andere Befehle, Dienste und Dienstprogramme umfassen awk , echo , ed und Hunderte weitere. Grundlegende Eingabe- / Ausgabedienste ( Dateien , Terminals , Netzwerk ) müssen vorhanden sein. Das System muss einige spezifische Attribute für Dateien unterstützen. POSIX definiert auch eine Standard- Programmierschnittstelle , die von den neuesten Betriebssystemen unterstützt wird.

Eine Testsuite für POSIX liegt dem Standard bei. Es heißt PCTS ( POSIX Conformance Test Suite ).

Da das IEEE POSIX-Dokumentation zu einem hohen Preis verkauft und deren Veröffentlichung im Internet nicht zulässt , haben sich einige dem Standard für die einheitliche UNIX-Spezifikation zugewandt . Letzteres ist offen, nimmt Vorschläge von allen an, die einen Beitrag leisten möchten, und ist kostenlos im Internet verfügbar. Diese Arbeit geht auf Anfang 1998 zurück , als eine gemeinsame Arbeitsgruppe, die Austin Group  (in) , begann, einen Standard zu entwickeln, der zur Single UNIX Specification Version 3 wurde .

Obwohl es hauptsächlich auf UNIX-ähnlichen Systemen implementiert ist, kann der POSIX-Standard von jedem anderen Betriebssystem verwendet werden. Beispielsweise sind Microsoft Windows NT 3.x und 4 als POSIX.1: 1990-konform zertifiziert, was für relativ einfache POSIX-Anwendungen ausreicht. Komplexere Programme benötigen jedoch eine breitere Kompatibilität. Zusätzliche Software wie Services for UNIX oder Cygwin kann diese Kompatibilitätsstufe für Windows bereitstellen. UWIN bietet POSIX-Kompatibilität, auch für Dateipfade.

Das Linux Standard Base- Konsortium veröffentlicht mehrere Erweiterungen und De-facto-Standards für Linux- basierte Betriebssysteme . Es ist unwahrscheinlich, dass sie von anderen UNIX-ähnlichen Systemen übernommen werden, die anderen älteren Standards folgen, obwohl dies in vielen Fällen die Linux Standard Base tut .

Ein Großteil der POSIX- API wurde zu einem Zeitpunkt definiert, als die Maschinenadressierung bis zu 32 Bit betrug  . Um die Kompatibilität zwischen den verschiedenen Systemen zu gewährleisten, wurde zu diesem Zeitpunkt empfohlen, die Größe von 2 GB für die Dateien nicht zu überschreiten.  Dies gilt für den Fall, dass der in der Standard-C-Bibliothek "stddef.h" definierte Standardtyp "size_t" definiert wurde als 31-Bit-Ganzzahl ohne Vorzeichen (der Rückgabewert einiger Funktionen, die signiert werden, weil sie den vorzeichenbehafteten POSIX-Typ "ssize_t" verwenden und bei einem Fehler eine negative Zahl zurückgeben). In der Tat wurde dieses Symbol von den meisten Definitionen der C-Sprachdateizugriffsschnittstelle (IEEE std 1003.1-1990) verwendet. Derzeit ist diese Grenze häufig nicht mehr relevant, da Systeme normalerweise einen vorzeichenlosen Typ von mindestens 63 Bit für "size_t" verwenden.

Organisation

Derzeit ist die POSIX-Dokumentation in drei Teile gegliedert:

Versionen

Dem POSIX-Standard sind mehrere Versionen bekannt:

Einschränkungen

Bestimmte POSIX-Systeme können Einschränkungen aufweisen, die den Benutzern das Gefühl geben, bekannten und bekannten Fehlern ausgesetzt zu sein. Dies ist insbesondere bei Schaltsekunden oder bei Nichtbeachtung des möglichen Vorhandenseins des UTF-8- Bytereihenfolge-Indikators im Shebang der Fall .

Linux und POSIX

Umgebungsvariable POSIXLY_CORRECT

Die Umgebungsvariable POSIXLY_CORRECT gibt an, ob ein Befehl POSIX entsprechen soll oder nicht. Administrationsbefehle sind von dieser Variablen nicht betroffen.

Mehrere zehn Befehle passen ihre Operation an den Wert von POSIXLY_CORRECT an. Die typischsten Beispiele sind die Befehle grep und find , aber es gibt noch viele weitere: apropos, at, df,…, rgrep, setfacl usw.

Diese Umgebungsvariable wird beispielsweise verwendet, um zu definieren, ob ein Befehl das Datenformat gemäß POSIX oder das von diesem Befehl standardmäßig verwendete verwenden soll.

Linux POSIX-Zertifizierung

/ Unifix Linux 2.0 der deutschen Firma Unifix und Linux-FT von Lasermoon sind POSIX.1 FIPS 151-2 zertifiziert . Kernel 1.2.13

Auf der Debian- Website wird erklärt, dass "die [...] POSIX.1- (und FIPS 151-2) -Zertifizierung sehr teuer ist [und] es unwahrscheinlich macht, dass Debian eine offizielle Konformitätsbescheinigung erhält . "

Verweise

  1. (in) Der Ursprung des Namens POSIX. auf der offiziellen Richard Stallman Website.
  2. (in) POSIX 1003.1 Häufig gestellte Fragen (FAQ Version 1.12)
  3. 1) Posix.1; 2) Posix.1a; 3) Posix.2; 4) Posix.3; 5) Posix.4; 6) Posix.4a; 7) Posix.4b; 8) Posix.5; 9) Posix.6; 10) Posix.7; 11) Posix.8; 12) Posix.9; 13) Posix 10; 14) Posix.11; 15) Posix.12; 16) Posix.13; 16) Posix.15; 17) Posix 17 ; Quelle
  4. "  sh  " unter pubs.opengroup.org (abgerufen am 6. September 2015 )
  5. Dieser Hinweis enthält einige Probleme bei der Portierung von Unix-basierten Anwendungen und Bibliotheken auf Unix-On-Windows-Plattformen wie Uwin und Cygwin. http://www2.research.att.com/~gsf/download/win32/win32.html
  6. (in) "  Linux-Signale  "
  7. Audrey Oeillet, "  Die zusätzliche Sekunde des Jahres 2012, die von bestimmten Websites und Programmen schlecht verdaut wurde  " , auf clubic.com ,2. Juli 2012(Zugriff auf den 26. August 2020 ) .
  8. Mit dem Befehl at wird ein Unix-Befehl zum angegebenen Datum und zur angegebenen Uhrzeit gestartet ( siehe (en) at (Unix)).
  9. df: siehe Belegung der Festplatte in einem Dateisystem , siehe (en) df (Unix)
  10. Debian-Seite über Unifix und sein LINUX-FT-Derivat
  11. Unifix wurde in Deutschland hergestellt und die Zertifizierung wurde in den USA durchgeführt (Artikel vom August 1996) .
  12. (in) POSIX.1 (FIPS 151-2) Zertifizierung LINUX-FT
  13. (in) Der 1.2.13 Kernel 1.3.59 Kernel POSIX.1 zertifiziert Bestehende Zertifizierungstests

Siehe auch

Zum Thema passende Artikel

Externe Links