POSIX: ülevaade
Portable Operating System Interface (POSIX) on IEEE standard, mis aitab operatsioonisüsteemide ühilduvust ja kaasaskantavust. Teoreetiliselt peaks POSIX-iga ühilduv lähtekood olema sujuvalt kaasaskantav. Reaalses maailmas on rakenduste üleminek sageli seotud süsteemiga seotud probleemidega. Kuid POSIX-vastavus muudab rakenduste portimise lihtsamaks, mis võib kaasa tuua aja kokkuhoiu. Seega peaksid arendajad tutvuma selle laialt kasutatava standardi põhialustega.
POSIXi ajalugu
Varased programmeerijad pidid iga uue arvutimudeli jaoks oma rakendused nullist ümber kirjutama. Kuid IBM System / 360 muutis seda. 1964. aastal tutvustas see operatsioonisüsteemi OS / 360. IBM hakkas kasutama sama riistvaraarhitektuuri, et võimaldada uutel mudelitel sama opsüsteemi taaskasutada. Ühise operatsioonisüsteemi olemasolu mitmes masinas seadis rakenduse teisaldamise esimese etapi.
1960. aastate lõpus avas UNIXi saabumine uusi võimalusi. Selle uue operatsioonisüsteemi esialgse väljatöötamise eest vastutas AT & T Bell Labs. See võib töötada mitme müüja masinate vahel. Kuid UNIX hakkas erinevateks maitseteks. Lisaks AT & T süsteemile V olid veel Berkeley tarkvara levitamine (BSD), Xenix ja palju muud. Nende maitsete vahel ei olnud lihtne portida. Lubadus rakenduste teisaldatavuse kohta tabas teed. Järgnevatel aastakümnetel muudaks uute operatsioonisüsteemide kasutuselevõtt riistvara, operatsioonisüsteemide ja müüjate kaudu sadamarakenduste keerukamaks.
POSIX-standard töötati välja 1980. aastatel, et lahendada kaasaskantavuse probleem. Standard määratleti süsteemi V ja BSD Unix põhjal. POSIX ei määratle operatsioonisüsteemi, vaid määratleb liidese rakenduse ja operatsioonisüsteemi vahel. Programmeerijatel on vabadus kirjutada oma operatsioonisüsteem ja rakendus igal juhul, kui nende kahe liides on austatud. Kuna POSIX ei sõltu riistvarast, opsüsteemist ega hankijast, on rakenduste teisaldatavust lihtsam saavutada.
Esimene POSIX-standard ilmus 1988. aastal. Ametlikult nimetati seda IEEE standardiks 1003.1–1988 kaasaskantav operatsioonisüsteemi liides arvutikeskkondadele ”. 1990. aastal ilmus sama standardi väike muudatustega rahvusvaheline versioon nagu ISO / IEC 9945-1: 1990 Infotehnoloogia - kaasaskantava operatsioonisüsteemi liides (POSIX) - 1. osa: Süsteemirakenduse liides (API).
Esialgu jagati POSIX mitmeks standardiks:
POSIX.1: Põhiteenused
POSIX.1b: Reaalajas laiendused
POSIX.1c: Niidipikendused
POSIX.2: Kest ja kommunaalteenused
Pärast 1997. aastat viis Austini kontsern kõik standardid ühe katuse alla. Sellest ajast alates on versioonid POSIX.1-2001 (tuntud ka kui IEEE Std 1003.1-2001), POSIX.1-2004 (tuntud ka kui IEEE Std 1003.1-2004) ja POSIX.1-2008 (tuntud ka kui IEEE Std 1003.1-2008) on vabastatud.
Mõnede POSIX-iga ühilduvate süsteemide näited on AIX, HP-UX, Solaris ja MacOS (alates 10.5 leopardit). Teiselt poolt, Android, FreeBSD, Linuxi jaotused, OpenBSD, VMWare jne., järgivad enamust POSIX-standardist, kuid need pole sertifitseeritud.
POSIXi põhitõed
POSIX.1-2008 standard käsitleb nelja suurt valdkonda:
- Põhimääratluse maht: Üldterminid, mõisted ja liidesed.
- Süsteemiliideste maht: Süsteemiteenuse funktsioonide ja alamprogrammide mõisted. Sisaldab ka kaasaskantavust, tõrkeotsingut ja vigade taastamist.
- Shelli ja utiliitide maht: Mis tahes rakenduse liideste määratlus käsukestade ja ühiste utiliidiprogrammide jaoks.
- Põhjenduse maht: Sisaldab teavet ja ajalugu lisatud või kõrvalejäetud funktsioonide ning otsuste põhjenduste kohta.
Standard ei hõlma graafilisi liideseid, andmebaasiliideseid, objekti / kahendkoodi teisaldatavust, süsteemi konfiguratsioone, sisend- ja väljundkaalutlusi ega ressursside kättesaadavust.
Mõned POSIX-i kujunduse juhtpõhimõtted on:
- POSIX on loodud rakenduse teisaldamise hõlbustamiseks. Nii et see pole mõeldud ainult UNIX-süsteemidele. Ka mitte-UNIX-süsteemid võivad olla POSIX-iga ühilduvad.
- Standard ei dikteeri rakenduse ega operatsioonisüsteemi arengut. See määratleb ainult nende vahelise lepingu.
- POSIX-iga ühilduv rakenduse lähtekood peaks saama töötada paljudes süsteemides, kuna standard on määratletud lähtekoodi tasemel. Kuid standard ei taga objekti ega kahendkoodi tasemel teisaldatavust. Nii et binaarne käivitatav fail ei pruugi töötada isegi sarnaste masinate puhul, millel on identne riistvara ja opsüsteem. Ainult lähtekoodi teisaldatavust käsitletakse standardis.
- POSIX on kirjutatud vastavalt standardile C. Kuid arendajad saavad seda rakendada igas keeles, mis neile meeldib.
- Standard käsitleb ainult opsüsteemi aspekte, mis suhtlevad rakendustega.
- Standard on pikkuse poolest lühike ja ulatuselt lai, et hõlmata suurt hulka süsteeme.
- POSIX loodi kaasaskantavuse lihtsustamiseks. Seega säästab see pikas perspektiivis aega ja raha. Kuid kui teie rakendused ei ühildu POSIXiga, võib see alguses vajada märkimisväärset aja- ja ressursside investeerimist.
POSIXi rakenduste arendamine
POSIXi eesmärk oli kaasaskantavuse parandamine. Kui teie lähtekood järgib standardit, saate koodi hõlpsalt koostada ja käivitada teises masinas. Kui aga POSIX on määratletud rakenduse üldise nõudena, võib see tekitada segadust. POSIXi täielik standard on 4000 pluss lehte, millel on rohkem kui 1350 liidest. Kõike pole mõtet rakendada. Seega peaks iga projekt määratlema POSIXi aspektid, mis vastavad konkreetsetele nõuetele.
Arenduskogukonnas on eksiarvamusi, et POSIX-standard on vana ja ebaoluline. See ei ole tõsi. POSIX on elav dokument, mida Austin Group uuendab regulaarselt. Igaüks saab grupiga liituda ja osaleda standardi parandamises. Standardit kasutatakse aktiivselt tänapäevastes serverites, tööjaamades, ruuterites, mobiilseadmetes, manussüsteemides ja mujal. Seda kasutatakse UNIXi ja Linuxi masinate jaoks.
Arendajad peaksid siiski teadma, et POSIX-standardil on probleeme. Avastatud veast võite teatada Austini grupile ja seda uuritakse järgmise redaktsiooni jaoks.
Järeldus
POSIX võib alguses tunduda hirmutav. Sellegipoolest peaksid rakenduste arendajad tutvuma põhitõdedega, kuna see ilmub aeg-ajalt nõudena. Standardi suure ulatuse tõttu ei ole võimalik saada kogu dokumendi eksperdiks. Arendajad saavad lisateabe saamiseks pöörduda UNIXi ja Linuxi kogukondade poole. Kogukonnad saavad teie küsimustele vastata ja paremini mõista, milline osa standardist teie projekti jaoks asjakohane on.
Edasine uuring:
- POSIXi täielik dokument
- POSIXi KKK
- Austini ühiste standardite läbivaatamise rühm
Viited:
- POSIXi KKK, Austini grupp
- Austini grupp
- Dokument 7542098 /
- POSIX ja UNIX süsteemiteenuste kontseptsioonid
- OpenGroupi dokument 9699919799
- Mis on POSIX?, Indiana ülikool
- Standardsed dokumendid @ open-std.org
- Bill Gallmeister, Posixi programmeerimisjuhend
- POSIXi programmeerijate juhend, Donald Lewine
- StackOverflow Mis on Posix
- Uniuxi ajalugu, darwinsys.com
- Austin Open Group, Posixi paber
- Vikipeedia POSIX