Posix

Ar suderinama su „Linux“ POSIX?

Ar suderinama su „Linux“ POSIX?

Programinę įrangą parašė daugybė įvairios kilmės kūrėjų. Bendrieji algoritmai yra prieinami pagal nemokamą licenciją arba yra moksliškai paskelbti, taip pat jie gali būti prieinami nemokamai studijų tikslais. Tai lemia skirtingus diegimus ir programinės įrangos versijas, kurios atitinka įvairius poreikius. Sąsajų ir duomenų formatų standartizavimas yra būtinas, kad šie skirtingi diegimai būtų keičiami ir moduliniai.

Trumpai tariant, „POSIX“ [1] daro tiksliai tai, kas taikoma UNIX ir į UNIX panašioms sistemoms (išsamesnę šios temos istoriją rasite Zak H straipsnyje [4]). Jis apibrėžia mainų sąsajas, skambinimo mechanizmus ir perduodamus duomenis programinei įrangai, tačiau vidinį diegimą palieka programinės įrangos kūrėjui ar prižiūrėtojui. Tikslas yra suvienyti visas įvairias UNIX šakutes ir į UNIX panašias sistemas taip, kad skirtingi programinės įrangos diegimai galėtų sąveikauti vienas su kitu. Pagrindinis „POSIX“ privalumas yra turėti privalomą šių komponentų - sąsajų, mechanizmų ir duomenų - dokumentaciją, kurią galima gauti raštu.

Operacinė sistema, kuri visiškai atitinka POSIX standartą, klasifikuojama kaip suderinama su POSIX. Šiame straipsnyje paaiškiname, ką reiškia POSIX, nustatome, ar „Linux“ priklauso šiai kategorijai, ir išvardijame, kurie „Linux“ komponentai turi būti neįtraukti į šią klasifikaciją.

Ką reiškia terminas POSIX?

POSIX yra nešiojamos operacinės sistemos sąsajos santrumpa. Kaip trumpai paaiškinta aukščiau, POSIX yra standartų, reikalingų operacinių sistemų suderinamumui palaikyti, rinkinys. Kaip teigiama [1], „[ji] apibrėžia programos programavimo sąsają (API), komandų eilutės apvalkalus ir naudingąsias sąsajas programinės įrangos suderinamumui su„ Unix “ir kitų operacinių sistemų variantais.Pirmoji POSIX versija buvo išleista 1988 m. Nuo to laiko POSIX buvo nuolat plečiama ir atnaujinama Ostino bendrųjų standartų peržiūros grupės (taip pat žinomos tiesiog kaip The Austin Group) [7].

Nuo 2021 m. POSIX standarte yra šios dalys:

  1. Pagrindinės paslaugos (Yra standartinis ANSI C) (IEEE standartas 1003.1-1988) - procesų kūrimas ir valdymas, signalai, failų ir katalogų operacijos, vamzdžiai, C biblioteka, įvesties / išvesties prievado sąsaja ir valdymas, procesų trigeriai
  1. Pratęsimai (Simbolinės nuorodos)
  2. Realaus laiko ir įvesties / išvesties plėtiniai (IEEE standartas 1003.1b-1993) - Prioritetinis planavimas, realaus laiko signalai, laikrodžiai ir laikmačiai, semaforai, pranešimų perdavimas, bendra atmintis, asinchroninis ir sinchroninis įvesties / išvesties įrenginys, atminties užrakinimo sąsaja
  3. Siūlų plėtiniai (IEEE standartas 1003.1c-1995) - gijų kūrimas, valdymas ir valymas, gijų planavimas, gijų sinchronizavimas, signalų valdymas
  4. Daugiau plėtinių realiuoju laiku
  5. Apsaugos plėtiniai (Prieigos kontrolės sąrašai)
  1. Korpusas ir komunalinės paslaugos (IEEE standartas 1003.2-1992) - Komandinis vertėjas žodžiu, Komunalinės programos

Standartas yra reguliariai peržiūrimas, kad atspindėtų techninius pokyčius ir patobulinimus. Kartais gali praeiti keleri metai, kol bus paskelbta nauja versija ir įtraukti pakeitimai. Tai gali būti nenaudinga, tačiau tai suprantama atsižvelgiant į standarto taikymo sritį.

Pastaraisiais metais buvo pridėta apdorojimo realiuoju laiku plėtinių. Dabartinė versija buvo išleista 2018 m. Pradžioje [3]. „SibylFS“ [5] autoriai taip pat paskelbė daug POSIX standarto anotacijų, kad nustatytų aukštesnės eilės logiką ir sąveiką.

Ką reiškia atitikimas POSIX?

Sąvoka „suderinama su POSIX“ reiškia, kad operacinė sistema atitinka visus POSIX kriterijus. Operacinė sistema gali paleisti UNIX programas savaime, arba programą iš UNIX sistemos galima perkelti į kitą sistemą. Programos perkėlimas iš UNIX į tikslinę operacinę sistemą yra lengvas arba bent jau lengvesnis, nei jei ji nepalaiko POSIX. Kad būtų saugu, operacinė sistema turėtų būti sėkmingai įgijusi POSIX sertifikatą [2]. Šis žingsnis pasiekiamas (už kainą) išlaikant automatizuotą sertifikavimo testą. Atitinkamą testų rinkinį rasite čia [11].

Nuo 2021 m. POSIX sertifikuotų operacinių sistemų sąraše yra AIX iš IBM, HP-UX iš HP, IRIX iš SGI, EulerOS [6] iš „Huawei“, „Mac OS X“ iš „Apple“ (nuo 10).5 „Leopard“), „Solaris“ ir „QNX Neutrino“ iš „Oracle“, „Inspur's K-UX“ [11] ir realiojo laiko OS „INTEGRITY“ iš „Green Hills“ programinės įrangos [15]. Šiuo metu neaišku, ar trijų „Solaris“ įpėdinių „OpenSolaris“, „Illumos“ ir „OpenIndiana“ versijos taip pat klasifikuojamos kaip visiškai suderinamos su POSIX. Šios operacinės sistemos buvo suderinamos su POSIX iki POSIX 2001.

Kitos operacinės sistemos, kurios dažniausiai (bet ne iki galo) suderinamos su POSIX, yra „Android“, „BeOS“, „FreeBSD“, „Haiku“, „Linux“ (žr. Toliau) ir „VMWare ESXi“. „Microsoft Windows“ sistemai „Cygwin“ teikia iš esmės su POSIX suderinamą kūrimo ir vykdymo laiko aplinką.

Ar suderinama su „Linux“ POSIX?

Terminas „Linux“ reiškia visą „Linux“ operacinę sistemą, neatsižvelgiant į skonį, pvz., „Debian GNU / Linux“, „RedHat Linux“, „Linux Mint“, „Ubuntu Linux“, „Fedora“ ir „CentOS“, pvz. Tiksliau sakant, „Linux“ yra tik branduolio, kuris yra pagrindinis šios nemokamos operacinės sistemos komponentas, pavadinimas.

Kaip knygoje „Just For Fun“ [8] aprašė Linusas Torvaldsas, norėdamas sukurti „Linux“ branduolį, jis paprašė POSIX standarto kopijos. Tai jam padėjo įdiegti tuos pačius mechanizmus, kurie naudojami komercinėse UNIX sistemose. Be to, tai leido jam susieti „Linux“ branduolį su GNU įrankiais, kurie daugiausia laikėsi to paties požiūrio. Teisybės dėlei reikia pasakyti, kad „Linux“ sistemos programinė įranga yra sukurta iš įvairių šaltinių, kurie atitinka POSIX standartą, tačiau taip pat kartais įgyvendina savo koncepcijas. Tačiau tuo pačiu metu tai rodo ir įvairovę, kuri sudaro „Linux“ kaip operacinę sistemą.

Vienas iš to pavyzdžių yra komandinės eilutės argumentų rašymo būdas. Argumentai dviem brūkšneliais (pvz.,.g., „-Help“) yra GNU konvencijos, o POSIX komandos niekada nenaudoja dviejų brūkšnių argumentų, o tik vieną (e.g., „-Pagalba“). Nuo pat pradžių „Linux“ buvo sukurtas galvojant apie GNU, todėl komandose yra GNU stiliaus

argumentai. Norint pasiekti „POSIX“ atitiktį, žingsnis po žingsnio buvo pridėti „POSIX“ stiliaus argumentai. Visgi galutinį sprendimą priima kūrėjas. Nuo šiandien dauguma komandų priima tiek trumpus, tiek ilgus argumentus ar net argumentus be brūkšnių, pavyzdžiui, komandą „rasti“. Teisybės dėlei reikia pasakyti, kad vienoje sistemoje esančių komandų nėra nuoseklumo, ir tai gali būti problema, kai ketinate naudoti tą pačią komandą kitoje UNIX sistemoje, ypač perjungdami „Linux“, „OS X“ ir „Solaris“.

Kol kas „Linux“ nėra sertifikuotas POSIX dėl didelių išlaidų, išskyrus du komercinius „Linux“ paskirstymus „Inspur K-UX“ [12] ir „Huawei EulerOS“ [6]. Vietoj to, „Linux“ yra laikomas dažniausiai suderinamu su POSIX.

Šis vertinimas yra susijęs su tuo, kad pagrindiniai „Linux“ paskirstymai naudoja „Linux Standard Base“ (LSB), o ne „POSIX“ [9]. LSB siekia „sumažinti skirtumus tarp atskirų„ Linux “paskirstymų“ [14]. Tai reiškia programinės įrangos sistemos struktūrą, įskaitant failų sistemos hierarchijos standartą (FHS), naudojamą „Linux“ branduolyje. LSB remiasi POSIX specifikacija, Single UNIX specifikacija (SUS) [10] ir keletu kitų atvirų standartų, tačiau taip pat praplečia juos tam tikrose srityse.

LSB pagrindu veikiantys „Linux“ paskirstymai apima „RedHat Linux“, „Debian GNU / Linux“ (2002–2015) ir „Ubuntu“ (iki 2015 m.).

Kuriant galvojant apie POSIX

Norint išsamiau suprasti POSIX, rekomenduojame gauti POSIX standarto kopiją ir ją perskaityti. Knygą galite gauti iš „Open Group“ svetainės. Tam reikia registracijos mokesčio, tačiau suteikiama visapusiška prieiga prie šio vertingo šaltinio. Standartai padeda, nes leidžia kurti programinę įrangą taip, kad ji elgtųsi vienodai visose UNIX platformose.

Nuorodos ir nuorodos

Ačiū

Autorius norėtų padėkoti Axelui Beckertui ir Veit Schiele už pagalbą ir patarimus rengiant šį straipsnį.

Mėgdžiokite pelės paspaudimus, užveskite pelės žymeklį naudodami pelę „Clickless Mouse“ sistemoje „Windows 10“
Pelės ar klaviatūros naudojimas netinkamoje laikysenoje, kai naudojama per daug, gali sukelti daug sveikatos problemų, įskaitant įtampą, riešo kanalo ...
Pridėkite pelės gestus prie „Windows 10“ naudodami šiuos nemokamus įrankius
Pastaraisiais metais kompiuteriai ir operacinės sistemos labai išsivystė. Buvo laikas, kai vartotojai turėjo naudoti komandas naršydami per failų tvar...
Valdykite ir valdykite pelės judėjimą tarp kelių „Windows 10“ monitorių
„Dual Display Mouse Manager“ leidžia jums valdyti ir konfigūruoti pelės judėjimą tarp kelių monitorių, sulėtinant jo judėjimą šalia sienos. „Windows 1...