POSIX: Pregled
Prenosni vmesnik operacijskega sistema (POSIX) je standard IEEE, ki pomaga združljivosti in prenosljivosti med operacijskimi sistemi. Teoretično mora biti izvorna koda, skladna s sistemom POSIX, brezhibno prenosljiva. V resničnem svetu prehod aplikacij pogosto naleti na sistemske težave. Vendar skladnost s POSIX poenostavlja prenos aplikacij, kar lahko prihrani čas. Zato bi se morali razvijalci seznaniti z osnovami tega široko uporabljenega standarda.
Zgodovina POSIX-a
Zgodnji programerji so morali na novo napisati svoje programe za vsak nov računalniški model. Toda IBM System / 360 je to spremenil. Leta 1964 je predstavil operacijski sistem OS / 360. IBM je začel uporabljati enako arhitekturo strojne opreme, da bi novim modelom omogočil ponovno uporabo istega operacijskega sistema. Prisotnost skupnega operacijskega sistema v več računalnikih je postavila prvo stopnjo prenosljivosti aplikacij.
Konec šestdesetih let je prihod UNIX-a odprl nove možnosti. AT & T's Bell Labs je bil odgovoren za začetni razvoj tega novega operacijskega sistema. Lahko se izvaja prek naprav več ponudnikov. Toda UNIX se je začel lotevati različnih okusov. Poleg sistema AT&T System V obstajajo še Berkeley Software Distribution (BSD), Xenix in drugi. Ni bilo enostavno pristajati čez te okuse. Obljuba prenosljivosti aplikacij je naletela na cesto. V prihodnjih desetletjih bi bila z uvedbo novih operacijskih sistemov le bolj zapleteno prenašati aplikacije na strojno opremo, operacijske sisteme in prodajalce.
Standard POSIX je bil razvit v osemdesetih letih prejšnjega stoletja za rešitev vprašanja prenosljivosti. Standard je bil določen na podlagi sistema V in BSD Unix. POSIX ne definira operacijskega sistema, ampak le vmesnik med aplikacijo in operacijskim sistemom. Programerji imajo svobodo, da pišejo svoj operacijski sistem in aplikacije, kakor koli želijo, če je spoštovan vmesnik med njima. Ker je POSIX neodvisen od strojne opreme, operacijskega sistema ali prodajalca, je lažje doseči prenosljivost aplikacij.
Prvi standard POSIX je bil izdan leta 1988. Formalno se je imenoval IEEE Standard 1003.Prenosni vmesnik operacijskega sistema 1-1988 za računalniška okolja ". Leta 1990 je bila izdana mednarodna različica istega standarda z manjšimi spremembami kot ISO / IEC 9945-1: 1990 Informacijska tehnologija - Prenosni vmesnik operacijskega sistema (POSIX) - 1. del: Vmesnik sistemskega programa (API).
Sprva je bil POSIX razdeljen na več standardov:
POSIX.1: Osnovne storitve
POSIX.1b: Razširitve v realnem času
POSIX.1c: Podaljški niti
POSIX.2: Shell in pripomočki
Po letu 1997 je skupina Austin vse standarde spravila pod en sam dežnik. Od takrat različice POSIX.1-2001 (znan tudi kot IEEE Std 1003.1-2001), POSIX.1-2004 (znan tudi kot IEEE Std 1003.1-2004) in POSIX.1-2008 (znan tudi kot IEEE Std 1003.1-2008).
Primeri nekaterih sistemov, združljivih s POSIX, so AIX, HP-UX, Solaris in MacOS (od 10.5 Leopard). Po drugi strani pa Android, FreeBSD, Linux Distributions, OpenBSD, VMWare itd., upoštevajo večino standarda POSIX, vendar niso certificirani.
Osnove POSIX-a
POSIX.Standard 1-2008 obravnava štiri glavna področja:
- Obseg osnovne definicije: Splošni izrazi, koncepti in vmesniki.
- Obseg sistemskih vmesnikov: Opredelitve funkcij sistemskih storitev in podprogramov. Vključuje tudi prenosljivost, obdelavo napak in obnovo napak.
- Obseg lupine in pripomočkov: Opredelitev vmesnikov katere koli aplikacije za ukazne lupine in običajne uporabne programe.
- Utemeljitev obsega: Vsebuje informacije in zgodovino dodanih ali zavrženih funkcij in obrazložitve odločitev.
Standard ne zajema grafičnih vmesnikov, vmesnikov baz podatkov, prenosljivosti predmetov / binarne kode, sistemskih konfiguracij, V / I razmislekov ali razpoložljivosti virov.
Nekatera vodilna načela za zasnovo POSIX so:
- POSIX je ustvarjen za lažjo prenosljivost aplikacij. Torej ni samo za sisteme UNIX. Tudi sistemi, ki niso UNIX, so lahko skladni s POSIX.
- Standard ne narekuje razvoja aplikacije ali operacijskega sistema. Določa le pogodbo med njima.
- Izvorna koda aplikacije, združljiva s sistemom POSIX, bi se morala izvajati v številnih sistemih, ker je standard opredeljen na ravni izvorne kode. Vendar standard ne zagotavlja prenosljivosti nobenega predmeta ali binarne kode. Binarna izvedljiva datoteka se torej morda ne bo izvajala niti na podobnih strojih z enako strojno opremo in operacijskimi sistemi. Standard obravnava samo prenosljivost izvorne kode.
- POSIX je napisan v smislu standarda C. Razvijalci pa ga lahko izvajajo v katerem koli jeziku, ki jim je všeč.
- Standard obravnava samo vidike operacijskega sistema, ki komunicira z aplikacijami.
- Standard je po dolžini jedrnat in po obsegu širok, da zajema širok nabor sistemov.
- POSIX je bil zasnovan za poenostavitev prenosljivosti. Tako boste dolgoročno prihranili čas in denar. Če pa vaše aplikacije niso skladne s sistemom POSIX, bo na začetku morda treba vložiti veliko časa in sredstev.
Razvoj aplikacij POSIX
Namen POSIX-a je bil izboljšati prenosljivost. Ko vaša izvorna koda sledi standardu, lahko kodo enostavno sestavite in zaženete na drugem računalniku. Če pa je POSIX opredeljen kot splošna zahteva za aplikacijo, lahko povzroči zmedo. Popolni standard POSIX je več kot 4000 strani z več kot 1350 vmesniki. Vsega ni smiselno izvajati. Vsak projekt mora torej opredeliti vidike POSIX-a, ki bodo ustrezali določenim zahtevam.
V razvojni skupnosti obstajajo napačne predstave, da je standard POSIX star in nepomemben. Ni res. POSIX je živi dokument, ki ga Austin Group redno posodablja. Vsakdo se lahko pridruži skupini in sodeluje pri izboljšanju standarda. Standard se aktivno uporablja v današnjih strežnikih, delovnih postajah, usmerjevalnikih, mobilnih napravah, vgrajenih sistemih in še več. Uporablja se za stroje UNIX in Linux.
Razvijalci pa se morajo zavedati, da ima standard POSIX težave. Vsako napako, ki jo odkrijete, lahko prijavite skupini Austin in jo bomo preučili za naslednjo revizijo.
Zaključek
POSIX se sprva zdi zastrašujoč. Kljub temu se morajo razvijalci aplikacij seznaniti z osnovami, saj se bodo občasno pojavile kot zahteva. Zaradi velikega obsega standarda ni mogoče postati strokovnjak za celoten dokument. Če želite izvedeti več, se lahko razvijalci obrnete na skupnosti UNIX in Linux. Skupnosti vam lahko odgovorijo na vaša vprašanja in vam dajo boljši vpogled v to, kateri del standarda bo ustrezal vašemu projektu.
Nadaljni študij:
- Celoten dokument POSIX
- Pogosta vprašanja o POSIX-u
- Skupina za revizijo skupnih standardov Austin
Reference:
- Pogosta vprašanja o POSIX, skupina Austin
- Skupina Austin
- Dokument 7542098 /
- Koncepti sistemskih storitev POSIX in UNIX
- OpenGroup Doc 9699919799
- Kaj je POSIX?, Univerza v Indiani
- Standardi Dokumenti @ open-std.org
- Bill Gallmeister, vodnik za programiranje Posix
- Vodnik programerjev POSIX, Donald Lewine
- StackOverflow Kaj je Posix
- Zgodovina Uniuxa, darwinsys.com
- Austin Open Group, papir Posix
- Wikipedia POSIX