Posix Standard

Posix Standard

Posix: En oversikt

Det bærbare operativsystemgrensesnittet (POSIX) er en IEEE -standard som hjelper kompatibilitet og portabilitet mellom operativsystemer. Teoretisk sett skal POSIX -kompatibel kildekode være sømløst bærbar. I den virkelige verden går applikasjonsovergang ofte i systemspesifikke problemer. Men POSIX Compliance gjør det enklere for portapplikasjoner som kan resultere i tidsbesparelser. Så utviklere bør bli kjent med det grunnleggende i denne mye brukte standarden.

Historie om Posix

Tidlige programmerere måtte omskrive applikasjonene sine fra bunnen av for hver nye datamodell. Men IBM -systemet/360 endret det. I 1964 introduserte det operativsystemet OS/360. IBM begynte å bruke den samme maskinvarearkitekturen for å gjøre det mulig for de nye modellene å gjenbruke det samme operativsystemet. Tilstedeværelsen av et vanlig operativsystem på tvers av flere maskiner setter opp den første fasen for applikasjonsportabilitet.

På slutten av 1960 -tallet åpnet ankomsten av UNIX for nye muligheter. AT & Ts Bell Labs var ansvarlig for den første utviklingen av dette nye operativsystemet. Det kan løpe over maskiner fra flere leverandører. Men Unix begynte å gaffle i forskjellige smaker. Foruten AT & T's System V, var det Berkeley Software Distribution (BSD), Xenix og mer. Det var ikke lett å port over disse smakene. Løftet om applikasjonsportabilitet treffer en veibump. I løpet av de kommende tiårene vil introduksjonen av nye operativsystemer bare gjøre det mer komplisert å portapplikasjoner på tvers av maskinvare, operativsystemer og leverandører.

POSIX Standard ble utviklet på 1980 -tallet for å løse portabilitetsproblemet. Standarden ble definert basert på system V og BSD UNIX. POSIX definerer ikke operativsystemet, det definerer bare grensesnittet mellom en applikasjon og et operativsystem. Programmererne har frihet til å skrive sitt operativsystem og applikasjon uansett de vil ha så lenge grensesnittet mellom de to blir hedret. Fordi POSIX er uavhengig av maskinvare, operativsystem eller leverandør, er det lettere å oppnå applikasjonsportabilitet.

Den første POSIX -standarden ble utgitt i 1988. Formelt ble det kalt IEEE Standard 1003.1-1988 bærbart operativsystemgrensesnitt for datamiljøer ”. I 1990 ble en internasjonal versjon av samme standard med små variasjoner utgitt som ISO/IEC 9945-1: 1990 Informasjonsteknologi - Portable Operating System Interface (POSIX) - Del 1: System Application Program Interface (API).

Opprinnelig ble POSIX delt inn i flere standarder:

Posix.1: Kjernetjenester
Posix.1b: Sanntidsutvidelser
Posix.1c: Trådutvidelser
Posix.2: Skall og verktøy

Etter 1997 brakte Austin -gruppen all standard under en enkelt paraply. Siden den gang var versjonene posix.1-2001 (også kjent som IEEE STD 1003.1-2001), posix.1-2004 (også kjent som IEEE STD 1003.1-2004) og posix.1-2008 (også kjent som IEEE STD 1003.1-2008) er utgitt.

Eksempler på noen POSIX-kompatible systemer er AIX, HP-UX, Solaris og MacOS (siden 10.5 leopard). På den annen side, Android, FreeBSD, Linux -distribusjoner, OpenBSD, VMware, etc., Følg det meste av POSIX -standarden, men de er ikke sertifisert.

Grunnleggende om Posix

Posix.1-2008 Standardavtaler med fire hovedområder:

  1. Base definisjonsvolum: Generelle vilkår, konsepter og grensesnitt.
  2. Systemgrensesnitt Volum: Definisjoner av systemtjenestefunksjoner og subroutines. Inkluderer også portabilitet, feilhåndtering og gjenoppretting av feil.
  3. Skall og verktøyvolum: Definisjon av grensesnitt av alle applikasjoner om kommandoskall og vanlige verktøyprogrammer.
  4. Begrunnelsesvolum: Inneholder informasjon og historie om ekstra eller kasserte funksjoner og resonnementene til beslutningene.

Standarden dekker ikke grafiske grensesnitt, databasegrensesnitt, objekt/binær kodeportabilitet, systemkonfigurasjoner, I/O -hensyn eller ressurstilgjengelighet.

Noen av de ledende prinsippene bak POSIX -design er:

  • Posix er opprettet for å gjøre applikasjonsportabilitet enklere. Så det er ikke bare for UNIX -systemer. Ikke-unix-systemer kan også være posix-kompatible.
  • Standarden dikterer ikke utviklingen av applikasjonen eller operativsystemet. Det definerer bare kontrakten mellom dem.
  • POSIX-kompatibel applikasjon Kildekode skal kunne kjøre over mange systemer fordi standarden er definert på kildekodenivå. Standarden garanterer imidlertid ikke noe objekt- eller binær kodenivå portabilitet. Så den binære kjørbarheten kjører kanskje ikke selv på lignende maskiner med identiske maskinvare- og operativsystemer. Bare kildekodeportabilitet blir adressert i standarden.
  • Posix er skrevet i form av standard C. Men utviklere kan implementere det på et hvilket som helst språk de liker.
  • Standarden omhandler bare aspekter ved operativsystemet som samhandler med applikasjoner.
  • Standarden holdes kortfattet når det gjelder lengde og bred når det gjelder omfang for å dekke et stort utvalg av systemer.
  • Posix ble designet for å forenkle portabilitet. Så det vil spare tid og penger på lang sikt. Imidlertid, hvis applikasjonene dine ikke er POSIX-kompatible, kan det kreve betydelig tid og ressursinvestering i begynnelsen.

POSIX Application Development

Hensikten med POSIX var å forbedre bærbarheten. Når kildekoden følger standarden, kan du enkelt samle og kjøre koden på en annen maskin. Imidlertid, hvis POSIX er definert som et generelt krav for en søknad, kan det forårsake forvirring. Full POSIX-standarden er 4000 pluss sider med mer enn 1350 grensesnitt. Det gir ikke mening å implementere alt. Så hvert prosjekt skal definere aspektene ved POSIX som oppfyller spesielle krav.

Det er misoppfatninger i utviklingssamfunnet som POSIX Standard er gammel og irrelevant. Det er ikke sant. Posix er et levende dokument som regelmessig blir oppdatert av Austin Group. Hvem som helst kan bli med i gruppen og delta i å forbedre standarden. Standarden brukes aktivt i dagens servere, arbeidsstasjoner, rutere, mobile enheter, innebygde systemer og mer. Den brukes til UNIX- og Linux -maskiner.

Imidlertid bør utviklere være klar over at POSIX Standard har problemer. Du kan rapportere hvilken som helst feil du oppdager til Austin -gruppen, og det vil bli sett på for neste revisjon.

Konklusjon
Posix kan virke skremmende med det første. Likevel bør applikasjonsutviklere bli kjent med det grunnleggende, da det dukker opp som et krav fra tid til annen. På grunn av det store omfanget av standarden, er det ikke mulig å bli ekspert på hele dokumentet. Utviklere kan nå ut til UNIX- og Linux -samfunnene for å lære mer. Samfunnene kan svare på spørsmålene dine og gi deg en bedre følelse av hvilken del av standarden som vil være relevant for prosjektet ditt.

Videre studier:

  • Posix fullt dokument
  • POSIX FAQ
  • Austin Common Standards Revision Group

Referanser:

  • Posix FAQ, Austin Group
  • Austin Group
  • Dokument 7542098/
  • POSIX og UNIX System Services -konsepter
  • OpenGroup Doc 9699919799
  • Hva er posix?, Indiana University
  • Standard Docs @ open-std.org
  • Bill Gallmeister, Posix programmeringsguide
  • Posix Programmers Guide, Donald Lewine
  • Stackoverflow hva er posix
  • History of Uniux, Darwinsys.com
  • Austin Open Group, Posix Paper
  • Wikipedia Posix