POSIX: Pārskats
Portatīvās operētājsistēmas saskarne (POSIX) ir IEEE standarts, kas palīdz operētājsistēmu saderību un pārnesamību. Teorētiski POSIX saderīgam pirmkodam jābūt nemanāmi pārnēsājamam. Reālajā pasaulē pāreja uz lietojumprogrammām bieži skar sistēmas specifiskus jautājumus. Bet POSIX atbilstība atvieglo lietojumprogrammu pārnešanu, kas var ietaupīt laiku. Tāpēc izstrādātājiem vajadzētu iepazīties ar šī plaši izmantotā standarta pamatiem.
POSIX vēsture
Agrīnajiem programmētājiem bija jāpārraksta savas lietojumprogrammas no jauna katram jaunajam datora modelim. Bet IBM System / 360 to mainīja. 1964. gadā tā ieviesa operētājsistēmu OS / 360. IBM sāka izmantot to pašu aparatūras arhitektūru, lai jaunie modeļi varētu atkārtoti izmantot to pašu operētājsistēmu. Kopīgas operētājsistēmas klātbūtne vairākās mašīnās izveidoja pirmo programmu pārnesamības pakāpi.
60. gadu beigās UNIX ienākšana pavēra jaunas iespējas. AT & T Bell Labs bija atbildīga par šīs jaunās operētājsistēmas sākotnējo izstrādi. Tas varētu darboties vairāku pārdevēju mašīnās. Bet UNIX sāka veidot dažādas garšas. Bez AT & T Sistēmas V bija Berkeley programmatūras izplatīšana (BSD), Xenix un citas. Nebija viegli pārnest pāri šīm garšām. Solījums par lietojumprogrammu pārnesamību sasniedza ceļu. Nākamo gadu desmitu laikā jaunu operētājsistēmu ieviešana tikai sarežģītu portu lietojumprogrammu aparatūru, operētājsistēmas un pārdevējus.
POSIX standarts tika izstrādāts 1980. gados, lai atrisinātu pārnesamības problēmu. Standarts tika noteikts, pamatojoties uz System V un BSD Unix. POSIX nenosaka operētājsistēmu, tas nosaka tikai saskarni starp lietojumprogrammu un operētājsistēmu. Programmētājiem ir brīvība rakstīt savu operētājsistēmu un lietojumprogrammas, kā vien viņi vēlas, kamēr tiek ievērota abu saskarne. Tā kā POSIX ir neatkarīga no aparatūras, operētājsistēmas vai pārdevēja, ir vieglāk panākt lietojumprogrammu pārnesamību.
Pirmais POSIX standarts tika izlaists 1988. gadā. Formāli to sauca par IEEE Standart 1003.1-1988 portatīvās operētājsistēmas saskarne datoru vidēm ”. 1990. gadā tika izlaista tā paša standarta starptautiska versija ar nelielām izmaiņām kā ISO / IEC 9945-1: 1990 Informācijas tehnoloģija - Portatīvās operētājsistēmas saskarne (POSIX) - 1. daļa: Sistēmas lietojumprogrammu saskarne (API).
Sākotnēji POSIX tika sadalīts vairākos standartos:
POSIX.1: Pamatpakalpojumi
POSIX.1.b: Reāllaika paplašinājumi
POSIX.1.c: Vītņu pagarinājumi
POSIX.2: Korpuss un komunālie pakalpojumi
Pēc 1997. gada Austin Group visus standartus ieviesa zem viena jumta. Kopš tā laika POSIX versijas.1-2001 (pazīstams arī kā IEEE Std 1003.1-2001), POSIX.1-2004 (pazīstams arī kā IEEE Std 1003.1-2004) un POSIX.1-2008 (pazīstams arī kā IEEE Std 1003.1-2008) ir atbrīvoti.
Dažu ar POSIX saderīgu sistēmu piemēri ir AIX, HP-UX, Solaris un MacOS (kopš 10.5 leopards). No otras puses, Android, FreeBSD, Linux Distributions, OpenBSD, VMWare utt., ievēro lielāko daļu POSIX standarta, taču tie nav sertificēti.
POSIX pamati
POSIX.1-2008 standarts attiecas uz četrām galvenajām jomām:
- Bāzes definīcijas apjoms: Vispārīgi termini, jēdzieni un saskarnes.
- Sistēmu saskarņu apjoms: Sistēmas pakalpojumu funkciju un apakšprogrammu definīcijas. Ietver arī pārnesamību, kļūdu apstrādi un kļūdu atkopšanu.
- Korpusa un komunālo pakalpojumu apjoms: Jebkuras lietojumprogrammas saskarņu definēšana komandu čaulām un kopīgām lietderības programmām.
- Pamatojums Apjoms: Satur informāciju un vēsturi par pievienotajām vai izmestajām funkcijām un lēmumu pamatojumu.
Standarts neattiecas uz grafiskajām saskarnēm, datu bāzes saskarnēm, objektu / bināro kodu pārnesamību, sistēmas konfigurācijām, I / O apsvērumiem vai resursu pieejamību.
Daži no POSIX dizaina pamatprincipiem ir:
- POSIX ir izveidots, lai atvieglotu lietojumprogrammu pārnesamību. Tātad tas nav paredzēts tikai UNIX sistēmām. Arī sistēmas, kas nav UNIX, var būt saderīgas ar POSIX.
- Standarts nenosaka lietojumprogrammas vai operētājsistēmas attīstību. Tas tikai nosaka līgumu starp viņiem.
- POSIX saderīgam lietojumprogrammas pirmkodam vajadzētu būt iespējai darboties daudzās sistēmās, jo standarts ir definēts pirmkodu līmenī. Tomēr standarts negarantē objekta vai binārā koda līmeņa pārnesamību. Tātad binārā izpildāmā programma var nedarboties pat līdzīgās mašīnās ar identisku aparatūru un operētājsistēmām. Standartā tiek aplūkota tikai pirmkoda pārnesamība.
- POSIX ir rakstīts saskaņā ar C standartu. Bet izstrādātāji to var ieviest jebkurā valodā, kas viņiem patīk.
- Standarts attiecas tikai uz operētājsistēmas aspektiem, kas mijiedarbojas ar lietojumprogrammām.
- Standarts tiek saglabāts kodolīgs garuma ziņā un plašs darbības jomas ziņā, lai aptvertu lielu sistēmu klāstu.
- POSIX tika izstrādāts, lai vienkāršotu pārnesamību. Tātad tas ilgtermiņā ietaupīs laiku un naudu. Tomēr, ja jūsu lietojumprogrammas nav saderīgas ar POSIX, sākumā var būt nepieciešami ievērojami laika un resursu ieguldījumi.
POSIX lietojumprogrammu izstrāde
POSIX mērķis bija uzlabot pārnesamību. Kad avota kods atbilst standartam, jūs varat viegli apkopot un palaist kodu citā mašīnā. Tomēr, ja POSIX ir definēta kā vispārēja prasība lietojumprogrammai, tas var radīt neskaidrības. Pilns POSIX standarts ir 4000 plus lapas ar vairāk nekā 1350 saskarnēm. Visu īstenot nav jēgas. Tāpēc katram projektam jānosaka POSIX aspekti, kas atbildīs īpašām prasībām.
Izstrādātāju aprindās pastāv kļūdaini uzskati, ka POSIX standarts ir vecs un neatbilstošs. Tā nav patiesība. POSIX ir dzīvs dokuments, kuru Austin Group regulāri atjaunina. Ikviens var pievienoties grupai un piedalīties standarta uzlabošanā. Standarts tiek aktīvi izmantots mūsdienu serveros, darbstacijās, maršrutētājos, mobilajās ierīcēs, iegultās sistēmās un citur. To lieto UNIX un Linux mašīnām.
Tomēr izstrādātājiem jāapzinās, ka POSIX standartam ir problēmas. Par katru atklāto kļūdu varat ziņot Austin Group, un tā tiks izskatīta nākamajā pārskatā.
Secinājums
Sākumā POSIX varētu šķist biedējoša. Tomēr lietojumprogrammu izstrādātājiem vajadzētu iepazīties ar pamatiem, jo tie laiku pa laikam parādīsies kā prasība. Standarta lielās darbības jomas dēļ nav iespējams kļūt par visa dokumenta ekspertu. Izstrādātāji var sazināties ar UNIX un Linux kopienām, lai uzzinātu vairāk. Sabiedrības var atbildēt uz jūsu jautājumiem un labāk izprast, kāda standarta daļa būs atbilstoša jūsu projektam.
Turpmāka izpēte:
- POSIX pilns dokuments
- POSIX FAQ
- Ostinas Kopējo standartu pārskatīšanas grupa
Atsauces:
- POSIX FAQ, Austin Group
- Ostinas grupa
- Dokuments 7542098 /
- POSIX un UNIX sistēmu pakalpojumu koncepcijas
- OpenGroup Doc 9699919799
- Kas ir POSIX?, Indianas Universitāte
- Standarta dokumenti @ open-std.org
- Bils Galmeisters, Posix programmēšanas ceļvedis
- POSIX programmētāju ceļvedis, Donalds Levīns
- StackOverflow Kas ir Posix
- Uniux vēsture, darwinsys.com
- Austin Open Group, Posix papīrs
- Vikipēdija POSIX