Posix

Je li usklađen s Linuxom POSIX?

Je li usklađen s Linuxom POSIX?

Softver su napisali brojni programeri s različitim predznanjima. Opći algoritmi dostupni su pod besplatnom licencom ili su znanstveno objavljeni, a mogli bi biti dostupni i besplatno u svrhu proučavanja. To rezultira različitim implementacijama i verzijama softvera koje odgovaraju raznim potrebama. Potrebna je standardizacija sučelja i formata podataka kako bi se te različite implementacije učinile zamjenjivima i modularnima.

Ukratko, POSIX [1] čini upravo to za UNIX i UNIX-slične sustave (pogledajte Zak H-ov članak [4] za detaljniju povijest o ovoj temi). Definira sučelja za razmjenu, mehanizme pozivanja i prenesene podatke za softver, ali internu implementaciju prepušta programeru ili održavaču softvera. Cilj je objediniti sve različite UNIX vilice i UNIX slične sustave na takav način da različite softverske implementacije mogu međusobno komunicirati. Glavna prednost POSIX-a je imati obvezujuću dokumentaciju za ove komponente - sučelja, mehanizme i podatke - dostupnu u pisanom obliku.

Operativni sustav koji u cijelosti slijedi POSIX standard klasificiran je kao usklađen s POSIX-om. U ovom ćemo članku objasniti što znači POSIX, utvrditi pripada li Linux ovoj kategoriji i navesti koje Linux komponente moraju biti izuzete iz ove klasifikacije.

Što znači pojam POSIX?

POSIX je kratica za prijenosno sučelje operativnog sustava. Kao što je gore kratko objašnjeno, POSIX je naziv za zbirku standarda koji su potrebni za održavanje kompatibilnosti između operativnih sustava. Kao što je rečeno u [1], „[to] definira sučelje aplikacijskog programiranja (API), zajedno s ljuskama naredbenog retka i korisničkim sučeljima, za softversku kompatibilnost s inačicama Unixa i drugih operativnih sustava.”Prva verzija POSIX-a objavljena je 1988. godine. Od tada, POSIX kontinuirano proširuje i ažurira Austin Common Standards Revision Group (također poznat i kao The Austin Group) [7].

Od 2021. godine POSIX standard sadrži sljedeće dijelove:

  1. Osnovne usluge (Uključuje standardni ANSI C) (IEEE std 1003.1-1988) - Stvaranje i upravljanje procesom, signali, operacije s datotekama i direktorijima, cijevi, C biblioteka, sučelje i kontrola ulazno-izlaznih priključaka, okidači procesa
  1. Proširenja (Simboličke poveznice)
  2. Proširenja u stvarnom vremenu i U / I (IEEE Std 1003.1b-1993) - Prioritetno zakazivanje, signali u stvarnom vremenu, satovi i tajmeri, semafori, prosljeđivanje poruka, zajednička memorija, asinkroni i sinkroni ulaz / izlaz, sučelje zaključavanja memorije
  3. Proširenja niti (IEEE Std 1003.1c-1995) - Stvaranje niti, upravljanje i čišćenje niti, planiranje niti, sinkronizacija niti, rukovanje signalima
  4. Više produženja u stvarnom vremenu
  5. Sigurnosna proširenja (Popisi za kontrolu pristupa)
  1. Školjka i komunalne usluge (IEEE Std 1003.2-1992) - Interpretator naredbi, uslužni programi

Standard se redovito pregledava kako bi odražavao tehničke promjene i poboljšanja. Ponekad može proći i nekoliko godina prije nego što se nova verzija objavi i promjene uvrste. To može biti nepovoljno, ali je razumljivo s obzirom na opseg standarda.

Posljednjih godina dodana su proširenja za obradu u stvarnom vremenu. Trenutna verzija objavljena je početkom 2018. [3]. Autori SibylFS [5] također su objavili brojne napomene uz POSIX standard kako bi odredili logiku i interakcije višeg reda.

Što znači biti usklađen s POSIX-om?

Izraz "usklađen s POSIX-om" znači da operativni sustav zadovoljava sve POSIX-ove kriterije. Operativni sustav može izvorno pokretati UNIX programe ili se aplikacija može prenijeti s UNIX sustava na drugi sustav. Prijenos aplikacije s UNIX-a na ciljni operativni sustav jednostavan je ili barem lakši, nego ako ne podržava POSIX. Da bi bio siguran, operativni sustav trebao je uspješno postići POSIX certifikat [2]. Ovaj se korak postiže (uz naplatu) polaganjem automatiziranog certifikacijskog testa. Odgovarajući testni paket možete pronaći ovdje [11].

Od 2021. godine popis POSIX certificiranih operativnih sustava sadrži AIX IBM-a, HP-UX HP-a, IRIX SGI-a, EulerOS [6] Huawei-a, Mac OS X Apple-a (od 10.5 Leopard), Solaris i QNX Neutrino iz Oraclea, Inspur-ov K-UX [11] i OS INTEGRITET OS-a u stvarnom vremenu iz softvera Green Hills [15]. Trenutno nije jasno jesu li novije verzije tri nasljednika Solarisa, OpenSolaris, Illumos i OpenIndiana, klasificirane kao potpuno usklađene s POSIX-om. Ti su operativni sustavi bili usklađeni s POSIX-om do POSIX-a 2001.

Ostali operativni sustavi koji se uglavnom (ali ne u potpunosti) podudaraju s POSIX-om uključuju Android, BeOS, FreeBSD, Haiku, Linux (vidi dolje) i VMWare ESXi. Za Microsoft Windows, Cygwin nudi razvojno i radno okruženje u velikoj mjeri usklađeno s POSIX-om.

Je li usklađen s Linuxom POSIX?

Izraz "Linux" odnosi se na cijeli Linux operativni sustav, bez obzira na okus, kao što su Debian GNU / Linux, RedHat Linux, Linux Mint, Ubuntu Linux, Fedora i CentOS, na primjer. Točnije, Linux je samo ime jezgre koja je srž komponenta ovog besplatnog operativnog sustava.

Kao što je Linus Torvalds opisao u knjizi "Just For Fun" [8], za razvoj Linux jezgre, zatražio je kopiju POSIX standarda. To mu je pomoglo da primijeni iste mehanizme koji se koriste u komercijalnim UNIX sustavima. Nadalje, to mu je omogućilo da Linux kernel poveže s GNU alatima koji su uglavnom slijedili isti pristup. Da budemo pošteni, softveru na Linux sustavu doprinose različiti izvori koji poštuju POSIX standard, ali koji ponekad implementiraju vlastite koncepte. Međutim, istovremeno to također pokazuje raznolikost koja čini Linux kao operativni sustav.

Jedan od primjera za to je način na koji se zapisuju argumenti naredbenog retka. Argumenti s dvije crtice (npr.g., “-Help”) su GNU konvencije, dok POSIX naredbe nikad ne koriste argumente s dvije crtice, već samo jedan (e.g., "-Pomozite"). Linux je od samog početka dizajniran s GNU-om na umu i zato naredbe sadrže GNU-stil

argumenti. Da bi se postigla usklađenost s POSIX-om, postupno su dodani argumenti u stilu POSIX. Ipak, konačnu odluku donosi programer. Od danas većina naredbi prihvaća i kratke i duge argumente, ili čak argumente bez crtica, kao što je na primjer naredba "pronađi". Da budemo pošteni, ne postoji dosljednost između naredbi na jednom sustavu, a to može predstavljati problem kada istu naredbu namjeravate koristiti na drugom sustavu koji se temelji na UNIX-u, posebno pri prebacivanju između Linuxa, OS X-a i Solarisa.

Za sada Linux nema POSIX certifikat zbog visokih troškova, osim dvije komercijalne Linux distribucije Inspur K-UX [12] i Huawei EulerOS [6]. Umjesto toga, Linux se smatra uglavnom usklađenim s POSIX-om.

Ova je procjena rezultat činjenice da glavne distribucije Linuxa slijede Linux Standard Base (LSB) umjesto POSIX-a [9]. LSB ima za cilj "smanjiti razlike između pojedinih Linux distribucija" [14]. To se odnosi na strukturu softverskog sustava, uključujući Standard hijerarhije datotečnog sustava (FHS) koji se koristi u jezgri Linuxa. LSB se temelji na POSIX specifikaciji, jedinstvenoj UNIX specifikaciji (SUS) [10] i nekoliko drugih otvorenih standarda, ali ih također proširuje na određena područja.

LSB-ove Linux distribucije uključuju RedHat Linux, Debian GNU / Linux (2002-2015) i Ubuntu (do 2015), da nabrojimo nekoliko.

Razvoj s POSIX-om na umu

Da bismo POSIX razumjeli detaljnije, preporučujemo da nabavite kopiju standarda POSIX i pročitate ga u cijelosti. Knjigu možete dobiti na web mjestu Open Group. To zahtijeva naknadu za registraciju, ali daje vam puni pristup ovom vrijednom resursu. Standardi pomažu jer vam omogućuju razvoj softvera na takav način da se ponaša na isti način na svim UNIX platformama.

Poveznice i reference

Hvala vam

Autor se zahvaljuje Axelu Beckertu i Veitu Schieleu na pomoći i savjetima tijekom pripreme ovog članka.

Zamijenite svoje tipke miša različito za različiti softver pomoću X-Mouse Button Control
Možda vam treba alat koji bi mogao promijeniti kontrolu miša sa svakom aplikacijom koju koristite. Ako je to slučaj, možete isprobati aplikaciju pod n...
Microsoft Sculpt Touch bežični miš pregled
Nedavno sam čitao o Microsoft Sculpt Touch bežični miš i odlučio ga kupiti. Nakon što sam ga neko vrijeme koristio, odlučio sam s njim podijeliti svoj...
Trackpad i pokazivač miša na ekranu AppyMouse za Windows tablete
Korisnicima tableta često nedostaje pokazivač miša, posebno kada su navični koristiti prijenosna računala. Pametni telefoni i tableti osjetljivi na do...