Kontakty

Rozhranie príkazového riadka v POSIX. Základné koncepty a myšlienky štandardu POSIX. Čo je posix

Veľké rozdiely v špecifikáciách SPEX a veľká suma Existujú existujúce mikrokontroléry do popredia problému štandardizácie v reálnom časovom systéme.

Najviac skoré a rozšírené štandardy OSR je štandard Posix (Prenosné operačné systémy IEEE pre počítačové prostredie, IEEE 1003.1). Počiatočná verzia štandardu POSIX sa objavila v roku 1990 a bola určená pre systémy UNIX, ktoré prvé verzie, ktoré sa objavili v 70. rokoch minulého storočia. Špecifikácie POSIX definujú štandardný mechanizmus interakcie medzi aplikačným programom a operačným systémom av súčasnosti zahŕňajú súbor viac ako 30 noriem. Sedem z nich (1003,1a, 1003.1b, 1003,1C, 1003.1d, 1003.1, 1003,21, 1003,2, 1003,1, 1003,21, 1003,2, 1003,1, 1003,21, 1003,2, 1003.1J, 1003,21, 1003,2H) sú najdôležitejšie (1003.1 A, 1003,2H), ale v komerčnom systéme sú len tri prvá podpora.

Napriek jasným zastaraným pozíciám štandardu POSIX a väčší dopyt po štandardizačných aktualizáciách pre OSR nie je pozorovaný výrazný postup v tomto smere.

Štandard POSIX bol vytvorený ako štandardné rozhranie operačného systému. Tento štandard umožňuje vytvárať prenosné aplikácie. Následne tento štandard bol rozšírený o zvláštnosti režimu v reálnom čase.

Špecifikácia POSIX Nastavenie štandardného mechanizmu interakcie aplikácie a OS. Treba poznamenať, že štandard Posix je úzko spojený s UNIX, ale vývojári mnohých OSR sa snažia odolať dodržiavaniu tohto štandardu.

Dodržiavanie štandardu POSIX pre OS a hardvérová platforma musí byť certifikovaná prostredníctvom skúšobných súborov. Avšak, ak OS nie je UNIX-LIKE, aby odolal túto požiadavku, sa stáva ťažkou úlohou. Skúšobné súpravy existujú len pre POSIX 1003.1A. Keďže štruktúra POSIX je súbor voliteľných schopností, poskytovatelia OS môžu implementovať iba časť štandardného rozhrania a zároveň hovoriť o svojom systéme POSIX.

Napriek tomu, že štandard Posix vyrástla z UNIX "A, ovplyvňuje základnú abstrakciu operačných systémov a rozšírenie v reálnom čase sa vzťahuje na všetky OSRV.

K dnešnému dňu sa štandard Posix považuje za rodinu súvisiacich štandardov: IEEE STD 1003.N (kde n je číslo).

O štandardoch všeobecne

Medzi praktickými programátormi sú názor, že normy v programovaní nie sú vôbec potrebné, pretože:

(1) Sú pôvodne bezvýznamné, pretože ich autori nepíšu počítačové programy;

(2) Bojujú s iniciatívou programátorov;

(3) Programátori sa vždy dohodnú bez noriem.

Toto stanovisko by sa nemalo venovať pozornosť, ak nie dve okolnosti:

(1) Jeho praktiky vyjadrujú, to znamená, že sú to tí, ktorí "vydávajú programové produkty";

(2) Vyššie uvedený argument bol objavený autorom tohto článku v jednej z publikácií na internete na štandarde pre programovací jazyk C, ktorý sa ukázal na to, že takéto stanovisko bolo šírené "v medzinárodnom meradle", a nie len medzi arogantné ruské "superfrogramists".

Slovo "štandard" je zvyčajne spojená s niečím materiálom (štandardné rozmery, štandardný elektrický stres atď.), Kým počítačový program je nehmotný objekt ("nová nehmotná"), a možno normy v nehmotnejšej gule naozaj bezvýznamnej?

Existuje však popis. Kombinácia pravidiel pravopisu ruského jazyka v podstate je štandardom, hoci neschváli sa štandardizačnými orgánmi. Ďalej, okrem pravidiel (alebo, ak máte požiadavky) pravopisu, sú syntaktické pravidlá a čo je najdôležitejšie, sémantika. Ten ilustruje otázku "Detská": Prečo je mačka volať mačku? Na túto otázku existuje presná odpoveď: pretože naši predkovia tak dohodli; Predkovia Britov sa dohodli, že nazývajú rovnakú šelmu mačku, predkovia Nemcov - mačiatko, atď. Všeobecne platí, že význam alebo sémantika, alebo pravidlá pre výklad akéhokoľvek slova alebo kombinácie slov - otázka dohody.

Vymenovanie a "SuperBate" štandardu POSIX

Ako nasleduje názov, POSIX (prenosné prevádzkové systémové rozhranie) je štandard kompilácie medzi operačným systémom a aplikačným programom. Times, keď programátori napísali programy pre "nahý" stroj (implementáciu vlastných balíkov I / O programy, trigonometrické funkcie atď.), Zvládne. Text Posix opakovane zdôrazňuje, že norma nepredloží žiadne požiadavky na operácie operačného systému; Môže sa považovať za súhrn dohôd medzi aplikačnými programátormi a vývojármi operačného systému. Takže (opäť, na rozdiel od pomerne populárneho stanoviska), Posix má záujem nielen pre vývojárov operačných systémov, ale v prvom rade pre oveľa početnejšie kategórie programátorov - aplikované.

Potreba štandardu tohto druhu bola realizovaná v 80-tych rokoch, keď operačné systémy UNIX boli rozšírené. Ukázalo sa, že hoci tento systém bol koncipovaný ako zjednotený, rozdiely medzi jej špecifickými implementáciami viedli k tomu, že aplikačné programy napísané pre jeden systém nemohli byť vždy vykonané v inom. O rozhodnutí tohto konkrétneho problému, známeho ako problém mobility softvér, Posix Ciele. Prvé vydanie štandardu bolo vydané v roku 1988 (existuje preklad, pozri), v ktorom sa všetky rozmanité otázky týkajúce sa mobility programu boli rozdelené na dve časti: (1) Aplikované programové rozhranie (2) príkazový tlmočník a nástroje (používateľské rozhranie); Tieto časti sa nazývali POSIX.1 a POSIX.2, resp.

Uvedieme, že tento článok bude hovoriť iba o štandarde pre aplikačné rozhranie, z toho POSIX.1, druhá (a posledný doteraz), ktorý bol schválený 12. júla 1996.

Informatívna časť štandardu tiež zdôrazňuje, že POSIX nie je popisom rozhrania nejakého "ideálneho" operačného systému, ale výsledkom zovšeobecnenia a systematizácie skúseností získaných vo vývoji operačných systémov UNIX. Okrem toho, POSIX nemôže slúžiť ako sprievodca alebo návod Podľa operačných systémov, hoci informačná časť obsahuje odporúčania programátorov a fragmentov programov.

Štandard sa vzťahuje na skutočnosť, že nie je možné vytvoriť plnohodnotný operačný systém so zameraním výhradne na funkcie rozhrania opísané v ňom. (Konkrétne, POSIX.1 neodráža takéto problémy ako sieťové a súvisiace funkcie rozhrania alebo grafické rozhranie.) Avšak finančné náklady spôsobené NongeTability programov a potrebu zjednotenia rozhrania sú tak veľké, že väčšina výrobcov uprednostňuje Aspoň niektoré štandardné, než nikto nemá. Z tohto dôvodu sa veľmi veľa vývojárov softvéru snažia navigovať na POSIX. To umožňuje, ak nie ste úplne eliminovať nonumatoinity programov úplne, potom aspoň výrazne znížte novú časť programu.

O sémantike

Ako už bolo uvedené, Posix možno považovať za súbor zmlúv medzi vývojárom operačného systému a programátorom aplikácie. "Dohoda" znamená predovšetkým v prvej totožnosti interpretácie (sémantiky) slov a výrazov. Nasledujú príklady ilustrujúce obtiažnosť úlohy dosiahnutia dohody.

Ako prenášať význam pri prekladaní

V prvom rade musíte pripomenúť, že štandard Posix je uvedený v angličtine, ktorý v prírode provokuje nejednoznačnosť (napríklad rovnaké slovo môže byť podstatné mená, prídavné meno a sloveso), a "sémantické pasce" počúvali takmer na každej stránke. Dobrá ilustrácia uvedeného je príklad fikcie. Jeden z najznámejších diel Oscar Wilde, ktorý brilantne použil túto funkciu anglického jazyka, - dôležitosť, že je vážny - je známy v ruštine s názvom "Ako dôležité byť vážne." Avšak, anglický názov má druhý význam: vážny (vážny) - priezvisko jedného z postáv, a názov by sa mohol preložiť odlišne: "Ako dôležité byť ERRST". Tam je ruské priezvisko striebro, a ak by bolo vážne priezvisko, preklad by bol úplne presný, s prevodom oboch významov.

To isté je v prípade názvu štandardu: Prenosné prevádzkové systémové rozhranie. Prídavné meno prenosné (Mobile) sa vzťahuje na operačný systém a na aplikačný program, ale nie je možné ho čoskoro vyjadriť v ruštine, môžete sa preložiť ako "mobilné rozhranie operačného systému" alebo "Rozhranie operačného systému, ktoré poskytuje mobilitu Aplikačné programy. " Druhá možnosť lepšie odráža zámery štandardných vývojárov, ale zároveň sa stratilo prvé umytie (bola zachovaná známa prvá možnosť).

Sémantika slova "štandard"

Hlavný text štandardu je predznámený preambuly, v ktorom je vysvetlený význam slova IEEE štandardov2. Z týchto objasní existujú aspoň tri sémantické rozdiely od ruského hovoriaceho termínu GOST:

(1) Intuitívne verí, že GOST má právomoc zákona, ktorej porušenie je prenasledované; Posix je súbor požiadaviek, ktorým je prípad výlučne dobrovoľné.

(2) GOST pôsobí až k zrušeniu (mnohí, pravdepodobne museli počuť výraz "Gost Nikto Zrušená"); V preambule Posix sa hovorí, že ak štandard nebola revidovaná 5 rokov, znamená to, že otázky v ňom s najväčšou pravdepodobnosťou stratili otázky, a to možno považovať za zrušené automaticky;

(3) GOST ANOMONE; V úvodnej časti POSIX sú uvedené zoznam tých osôb, ktoré sa zúčastnili na vývoji tohto štandardu, a tiež udeľuje adresu, v ktorej môžete posielať žiadosti o tlmočenie; Hovorí sa tiež, že odpoveď na každú požiadavku podlieha postupu koordinácie (inými slovami, autori štandardu sa navzájom zhodujú pred dávkou).

Preto, preklad dokonca takého známeho slova ako štandardné slovo "štandard" vyžaduje pripomienky.

Sémantika slov "musí", "nešpecifikovaná", "nie je definovaná", "určená implementáciou"

Oddiel 2 štandardu sa nazýva "Terminológia a všeobecné požiadavky". Obsahuje definície nielen špeciálnych podmienok (napríklad "proces" alebo "semafor"), ale tiež by sa zdalo, že samozrejmé slová, ako "musí" alebo "môže". Vzhľadom k tomu, POSIIX.1 je štandardom na rozhraní, jeho požiadavky súvisia s operačným systémom aj aplikačným programom. Explicitná požiadavka je vyjadrená slovom "musí" (musí), napríklad: "V prípade úspešného ukončenia musí funkcia Link () vrátiť nultovú hodnotu." V tento príklad Hovoríme o požiadavke na operačný systém: Funkcia Link () musí byť implementovaná tak, že pri úspešnom dokončení sa vráti nulová hodnota.

Termíny "nešpecifikované" a "nie sú definované" vyjadriť rovnakú myšlienku, že štandard priznáva slobodu voľby, ale význam týchto Podmienok sa líši. Termín "nešpecifikovaný" znamená, že hovoríme o niektorých správnych (akcie, softvérových štruktúrach atď.) A termín "nie je definovaný" - o nesprávnom (chybnej). Informatívna časť normy poskytuje nasledujúce vysvetlenie.

Predpokladá sa, že termín "nešpecifikovaný" znamená, že sa predpokladá, že mnohé možnosti (výsledky, výsledky funkčného volania atď.) Predpokladá sa, že je známa a štandard umožňuje niektorý z nich; V špecifickej implementácii operačného systému môže byť niekto zvolený a takýto systém sa považuje za príslušný štandard. Aplikovaný program (prísne relevantný štandard) musí byť napísaný tak, aby fungoval správne v akomkoľvek variante; V podstate tento termín implicitne vyjadril požiadavku na aplikačný program.

Uveďte príklad: "Funkcia ReadDir () musí vrátiť ukazovateľ na štruktúru týkajúcu sa nasledujúceho prvku adresára. Či sú položky adresára vrátené názvami "DOT" a "Point-Point", štandard nie je špecifikovaný. " V tomto príklade je možné štyri výsledky a požiadavka na aplikačný program je, že musí byť určený pre ktorýkoľvek z nich.

Ďalší príklad: "Ak je funkcia Sigwait (), ktorá predpisuje čakanie na signál so zadaným číslom, je spôsobené niekoľkými riadiacimi prúdmi, potom, keď je signál prijatý, nie viac ako jeden z nich by sa mal vrátiť zo Sigwaite (). V akom druhu riadiaceho toku sa stane, štandard nie je špecifikovaný. " V tomto príklade môže byť mnoho možných výsledkov viac, ale sú tiež známe, a požiadavkou na aplikačný program je, že by mal fungovať správne na každom výsledku.

Termín "nie je definovaný" znamená, že ani mnoho výsledkov nie sú známe, akýkoľvek výsledok je možný, a to dokonca poľutovanie (napríklad kolaps systému, straty dát atď.). V podstate tento výraz implicitne vyjadril požiadavku, aby aplikačný program nepoužil príslušné údaje alebo návrhy. Napríklad: "Ak funkcia Funkcia DIPP Funkcia ReadDir () sa nevzťahuje na aktuálne otvorený adresár, výsledok nie je definovaný."

Tento príklad obsahuje požiadavku, ktorá sa bude aplikovať ako funkcia Argument ReadDir (), iba odkaz len na otvorený adresár; Porušenie tejto požiadavky môže viesť k katastrofálnym následkom a zodpovednosti za to, že je priradený k aplikačnému programáru.

Tu je ďalší príklad: "V prípade úspešného dokončenia musí funkcia čítania () vrátiť celé číslo, ktoré označuje počet prakticky čítaných bajtov. V opačnom prípade musí funkcia priradiť kód chyby na errno a návrat -1 a obsah vyrovnávacej pamäte, na ktorý nie je definovaný argument Buf. "

Použitie v aplikačnom programe z vyrovnávacej pamäte v prípade chyby funkcie čítania (), štandardné zakazuje a dôsledky porušenia tejto požiadavky ukladá aplikačným programom.

Význam termínu "je určený implementáciou" sa líši od intuitívneho. Je zrejmé, že v špecifickom operačnom systéme môže existovať "non-rada" alebo "neistý" výsledok, dosiahne sa určitý konkrétny výsledok. Termín "určený implementáciou" vyjadruje požiadavku štandardu na dokumentáciu pre operačný systém: Výsledok nielenže by sa mal objasniť (vývojár operačného systému bude musieť robiť rovnako), ale aj výslovne odráža dokumentáciu systém.

Predvolené nastavenia sémantiky

Žiadny regulačný dokument nemôže pokryť celú škálu prípadov, ktoré sa môžu stretnúť v praxi, takže je nevyhnutné o niečo tiché3. Napríklad v opise funkcie je možné povedať, že jeho argument môže mať hodnoty z určitého rozsahu, ale nič nehovorí, že to bude výsledkom, ak argument nespadá do tohto rozsahu. Samozrejme, aby sa zabránilo nedorozumeniam, je potrebné mať jednu zlyhanú sémantiku. V informačnej časti štandardu existuje zvedavá fráza: "Všeobecne akceptovaná sémantika predvoleného nastavenia je zakázaná." Toto vyhlásenie je v rozpore s známym sloganom pred desiatimi rokmi "všetko, čo jasne nie je zakázané, je povolené. Zdá sa, že bol tak zakorenený vo vedomí občanov, že mnohí, dokonca programátori, nesúhlasia s koňakom štandardu. Medzitým, ak používanie akéhokoľvek dizajnu zjavne nie je povolené a neplní sa z opisu, potom ktorýkoľvek programátor praktizujúci si uvedomuje, že jeho použitie je riskantné, a ak to nefunguje, nevyskytuje sa nároku.

Procesy a riadiace toky

Oba tieto termíny vyjadrujú myšlienku paralelizmu vykonávania. Operačný systém UNIX bol pôvodne koncipovaný ako multiplayer a programy, ktoré sú spustené rôznymi užívateľmi, musia byť od seba bezpečne izolované na náhodné skreslenie údajov "iných ľudí". Táto izolácia je poskytnutá skutočnosťou, že užívateľský program sa vykonáva v rámci určitého procesu, ktorý sa vyvíja vo vlastnom virtuálnom priestore adries. Aj keď má program globálne údaje, keď ho spustí v rôznych procesoch, budú automaticky "rozvedené" rôznymi adresnými medzerami.

Mechanizmus procesov však nie je pomerne uspokojivý pri programovaní úloh v reálnom čase. Program aplikačného programu v reálnom čase (konajúci v mene rovnakého používateľa) môže byť často prirodzene reprezentovaný ako paralelne so spustiteľnými časťami, ktoré sa nazývajú "riadiace toky" (závit). Najvýznamnejším rozdielom od procesov je, že všetky kontrolné toky sa vyvíjajú v jednom adresnom priestore; Toto je poskytnuté rýchly prístup Na globálne údaje, ale zároveň vzniká riziko neúmyselného skreslenia, a že sa to nevyskytuje, je potrebné dodržiavať niektoré programovanie disciplíny. Príslušné odporúčania sú obsiahnuté v informatívnej časti normy.

Treba zdôrazniť, že myšlienka multithreadingu je implementovaná v mnohých operačných systémoch v reálnom čase a je implementovaná odlišne v tom zmysle, že rôzne súbory atribútov a funkcií rozhrania zodpovedajú každému riadiacemu prúdu; Niekedy namiesto termínu "riadiaci tok" (závit) používa termín "úlohu" (úloha). Aby sa predišlo nedorozumeniam, štandard zdôrazňuje, že prichádza výlučne o ovládacích prúdoch POSIX, a názvy zodpovedajúcich funkcií rozhrania majú prefix pthread_ (napríklad pthread_create (), pthread_join () atď.).

Súlad so štandardom. Sémantika slova "zodpovedá"

Je intuitívne, že ak sú dvaja predmety vykonané v súlade s rovnakou normou, potom sú zaručené "zápas" medzi sebou a budú spolupracovať v páre; Je to v tom, že účel zavedenia štandardu pre konjugáciu (rozhranie) je. Keďže POSIX je štandardom na rozhraní, môžete hovoriť o kompatibilnom štandarde operačného systému a aplikačného programu.

Štandard POSIOP.1 obsahuje niekoľko stoviek (ak nie tisícov) požiadaviek; Považuje sa za seba-evidentné, že ak aspoň jeden z nich nie je splnený, systém (alebo aplikačný program) nespĺňa štandard. Zároveň sa takéto množstvo operačných systémov UNIX a aplikačné programy pre nich napísali, čo je nepravdepodobné, že by primerane vyžadovali úplnú korešpondenciu v určenom zmysle. Ťažkosti s rozvojom medzinárodnej normy tohto druhu sú zhoršené existenciou rôznych národných jazykov. Aj keď zabudnete na aplikačné programy určené na spracovanie textov v národných jazykoch, takmer akúkoľvek aplikáciu musí vydať niektoré diagnostické správy a / alebo vnímať texty zadané operátorom.

  • prísne dodržiavanie štandardu POSIX.1;
  • súlad s medzinárodnou verziou POSIX.1;
  • súlad s národnou verziou Posix.1;
  • súlad POSIX.1 s rozšírením.

Po druhé, mnohé fondy rozhrania sú vyhlásené za nepovinné (nepovinné); Štandard vyžaduje, aby sa voliteľné funkcie rozhrania buď vypracovali, ako je predpísané štandardom, alebo vždy vrátili špeciálny kód chyby, ENOSYS (čo znamená, že funkcia nie je implementovaná). Voliteľné prostriedky sú rozdelené do niekoľkých skupín, z ktorých každý zodpovedá určitej konštantnej konfigurácii, ktorá je deklarovaná (operátor #define) v príslušnom súbore hlavičky; Tým sa zabezpečí možnosť zistenia, či je funkcia implementovaná na fáze kompilácie.

Opísané prijatie mobility bolo vynájdené Autori POSIX, a dávno sa uplatňovali v praxi; V mnohých operačných systémoch sa aplikujú konfiguráčné konštanty na identifikáciu samotného systému alebo jeho verzie. A tu štandard neponúka nič v podstate nové, ale iba systematizuje existujúcu prax.

Štandardizačné objekty a štandardná štruktúra

Krátko hovoriť, objekty štandardizácie POSIX.1 sú mená a sémantiky. Konkrétnejšie hovoríme o nasledujúcom texte.

  • Funkcie rozhrania. 357 Funkcie sú štandardizované a 107 funkcií je prevzatých z štandardných knižníc SI (matematické, spracovanie riadkov, vstup / výstup atď.); Tieto funkcie sa považujú za súčasť štandardu POSIX.1, ale ich úplný opis je obsiahnutý v štandardnom programovacom jazyku.
  • Názvy typov dát systému. Tieto mená majú príponu _t.
  • Názvy súborov hlavičky, ako aj minimálne zloženie týchto súborov.
  • Názvy systémových globálnych premenných (napríklad Errno).
  • Symbolické názvy chybových kódov, ktoré môžu byť inštalované pri vypracovaní funkcií. Tieto názvy začínajú písmenom E (EPERM, ENOTIPTY, atď.).
  • Konštantné konfiguračné názvy. Tieto mená majú predponu _POSIX_.
  • Symbolické názvy signálov; Tieto mená majú predponu SIG. Okrem 20 "tradičných" signálov (SIGABRT, SIGALRM, atď.), Real-time signály sú štandardizované, ktorých počty by mali obsadiť niektoré pevné sortiment od Sigrtmin do Sigrtmax vrátane čísel, ktoré neobsahujú menej RTSIG_MAX.
  • Symbolické názvy zodpovedajúce hodnotám jednotlivých argumentov niektorých funkcií (napríklad Argument CMD Funkcia FCNTL () môže mať F_DUPFD, F_GETFD, F_DOGETLK HODNOTY atď.).
  • Názvy makier, konštanty, bitové príznaky, premenné prostredia.

Všeobecne platí, že štandard pozostáva z dvoch veľkých častí približne rovnakého objemu. Prvou polovicou je regulačná časť - obsahuje požiadavky a odporúčania normy (18 sekcií), druhá informatívna časť - obsahuje aplikácie, ktoré poskytujú zoznam odkazov, pripomienok a vysvetlení do regulačnej časti, zloženie súborov hlavičky , príklad profilu ("projekcia") štandardu (pre Dánsko), charakteristiky a metódy merania výkonu najdôležitejších funkcií, ako aj popisom dodatočných funkcií rozhrania na prácu s súbormi v reálnom čase; Očakáva sa, že v nasledujúcich vydaniach štandardu budú tieto funkcie zahrnuté do regulačnej časti.

Myšlienka, ktorej typy služieb operačného systému sa vzťahuje štandard, poskytuje súčtu "zhrnutia štandardných sekcií".

Záver

Hlavným obsahom štandardu POSIX je sémantika funkcií rozhrania. Štandardizácia sémantiky - Samotný prípad nie je jednoduchý (každý vie, aké ťažké je súhlasiť aj pre dvoch ľudí) a ťažkosti sú zhoršené mnohými ľuďmi sa v súčasnosti zapájajú do programovacích aktivít. Paradigm paralelného vykonávania je napríklad vyjadrený takými podmienkami ako "proces", "úloha" a "riadiaci tok", ale z hľadiska praktického programovania "úlohy" v operačnom systéme IBM OS / 360 a v Operačný systém v reálnom čase VXWorks nie je jeden a tiež. Ďalším príkladom je semafory. Semafory sú binárne, celé číslo ("s metrom") a vzájomná výnimka (ktorú sa programátori nazývajú "mutexes", safely, ktorý sa snaží vyhnúť nedorozumeniam). A celočíselné semafory, napríklad v operačnom systéme VXWorks, nie je vôbec rovnaký ako semafory POSIX.

Autori štandardu POSIX, dokonale uvedomuje, aké ťažké je, aby ľudia opustili svoje návyky (ktoré nazývajú "zavedenú prax"), vyhlasujú, že urobili logicky prepojený a minimálny systém funkcií rozhrania pokrývajúcim väčšinu služieb tradične poskytovaných Operačným systémom podrobne opísali presnú sémantiku týchto funkcií a ponúkli každému, aby ich používali vo svojom vývoji4.

Pri čítaní štandardu je niekedy dojem, že niektoré formulácie mali jeden cieľ: nevyberajú niektoré aplikačné programy alebo operačné systémy z kategórie. Takýto cieľ bol skutočne nastavený a jasne formulovaný v úvode: Štandard by mal brať do úvahy súčasnú prax s cieľom maximalizovať rozsah. Hlavným cieľom je však zabezpečiť mobilitu aplikačných programov.

O autentickom

Sergey Romanyuk - senior výskumný pracovník výskumného ústavu systému výskumu, vedúci skupiny Štandardné preklady POSIX. Môžete ho kontaktovať e-mail Adresa: [Chránené e-mail]

1 Treba dodať, že práca na štandarde pokračuje mnoho rokov; Identifikujú sa nové otázky a sú buď zahrnuté do jednej z existujúcich častí, alebo sú vyrobené vo forme samostatnej časti, ktorá môže byť neskôr zrušená. To sa stalo napríklad s rozhraním prostriedkov v reálnom čase, ktoré boli najprv oznámené ako POSIOP.4 a následne zahrnuté v POSIX.1.

2 IEEE je organizácia, v ktorej bol štandard Posix vyvinutý.

3 Tu "mlynor" znamená tichý, nie je predvolený; Nie je to o niektorých implicitných hodnotách, ktoré sú skutočne vyhlásené, ale o vyhlásení o zmienke vôbec.

4 Preklad štandardu do ruštiny bude uverejnený začiatkom roka 2000.

Literatúra

Medzinárodná norma ISO / IEC 9945-1 (ANSI / IEEE STD 1003.1) Druhé vydanie. 1996-07-12. Informačné technológie - Prenosné prevádzkové systémové rozhranie (POSIX) - Časť 1: Systémové aplikačné programy (API).

M.I. Belyakov, Yu.i. Wereruve, A.L.fridman. Mobilný operačný systém. Adresár. Moskva, Rádio a komunikácia, 1991.

ISO / IEC 9899: 1990, programovacie jazyky - C.

Sekcia 1 - úvod
Oddiel 2. - Terminológia a definície
Oddiel 3. - Funkcie riadenia procesov (vytváranie, výmena obrázkov, dokončenie) a signály (správa masky, odozva signálu)
Oddiel 4. - Identifikácia (procesy, používatelia, systémy, terminál), prieskum časov strávených na vykonanie procesu, prieskum premennej prostredia.
Oddiel 5. - Spravovať súbory a katalógy
Oddiel 6. - Vstupné a výstupné funkcie
ODDIEL 7. - Funkcie riadenia terminálu
Oddiel 8. - Funkcie požičané zo štandardu
Oddiel 9. - Prístup k užívateľským databázam a skupinám používateľov
§ 10. - formáty údajov pre archiváciu a výmenu (TAR a CPIO)
§ 11. - Synchronizačné nástroje: Semafory, mutexy a variabilné podmienky
Oddiel 12. - Funkcie správy pamäte: Upevňovacie a nesúhlasné procesy Space Adresa, zobrazí pamäťové súbory, ochranu pamäte, zdieľanú pamäť
Oddiel 13. - Funkcie súvisiace s procesmi plánovania a riadiacich tokov
Oddiel 14. - Spravujte hodiny a časovače
§ 15. - Správa frontov
§ 16. - základné funkcie súvisiace s riadiacimi tokmi
Oddiel 17. - Údaje o jednotlivých riadiacich prúdoch (údaje špecifické pre vlákno)
Oddiel 18. - prostriedky na zničenie riadiacich tokov

Dnes sa pokúsime zistiť, čo popisuje štandard Posix. Štandardy sú určené na zabezpečenie toho, aby môj počítač mohol komunikovať s vašou. Vďaka nim, na dvoch podobných počítačoch alebo vysielaní videa v reálnom čase bude vyzerať rovnako.

Štandard je však určený pre väčšie úlohy ako jednoduchú výmenu všetkých údajov medzi užívateľmi. Niektoré štandardy definujú špeciálny model, vďaka ktorým sú funkcie, ktoré sú významne lepšie lepšie v ich kompatibilite súborov alebo sietí. Štandard POSIX sa vzťahuje na ich číslo.

Čo je POSIX?

Posix (vyslovuje "Posiks") je prenosné prevádzkové systémové rozhranie. Ale čo to znamená? Po prvé, musíte vymenovať rozsah koncepcie "prenosnosti", v tomto konkrétnom prípade a určiť koncepciu "rozhrania". Aby ste to zistili, je potrebné odpudzovať zo skutočnosti, že obe koncepty sú neoddeliteľne spojené.

"Prenosnosť" v kontexte štandardu POSIX sa vzťahuje na zdrojový kód (nie na binárne súbory, ktoré sú zhromažďované z týchto veľmi zdrojov). Teraz zistite, čo je "rozhranie". V programovaní je "rozhranie" interakcia vášho kódu so zvyškom kódu. Rozhranie čaká na poskytovanie špecifických informácií z vášho kódu. Váš kód zase zahŕňa získanie určitých informácií z rozhrania. Dobrý príklad - FOPEN () FUNKCIA V SI. Očakáva, že informácie z dvoch častí: cesta k súboru a režim, v ktorom sa otvorí. Pomocou týchto údajov operačný systém vráti iný typ informácií zvaných "deskriptor súboru". Rukoväť súboru je možné použiť na čítanie súboru alebo zapisovať do súboru. Toto je rozhranie. Z toho všetkého z toho vyplýva, že kód kompatibilný s POSIX je možné zostaviť v rámci akéhokoľvek operačného systému kompatibilného s POSIX bez väčších zmien, čo znamená, že bude prenosná.

Zoznam rozhraní týkajúcich sa štandardu POSIX je však aj napriek svojej obrovskej dĺžke, je možné, že je nedostatočný. Posix nie je obmedzený na systémové výzvy, definuje aj štandardy pre škrupiny operačných systémov (regály, inak - príkazové rozhrania), systémové nástroje, ako napríklad "AWK" alebo "ECHO", systémové knižnice a mnoho ďalších vecí.

Štandard POSIX sa objavil vo forme projektu Richard Pokalman v roku 1985 a bol ďalej zdobený ako IEEE STD 1003.-1998. Ako možno vidieť z mena, 1998 bol rokom oficiálnej zverejnenia. Odvtedy bolo uvoľnené veľké množstvo dodatkov a rozšírení pre POSIX, ktoré sa postupne otočí na celú skupinu štandardov, formálne známy ako IEEE 1003, uznaná ako medzinárodná, s označením SO / IEC 9945, jednoducho nazývaný POSIX Rodinný štandard.

Operačný systém nie je vôbec nevyhnutný na to, aby bol POSIX-kompatibilný alebo ešte viac, takže s certifikátom POSIX, ale umožňuje vývojárom vytvoriť aplikácie, nástroje a platformy, bez toho, aby ste raz prepisovali kód, ale len dopĺňali a pripojili sa k pripravenému -skončiť. Nie je tiež potrebné napísať kód kompatibilný s POSIX, ale to výrazne zlepšuje prenosnosť projektov medzi operačnými systémami. To znamená, že schopnosť písať kód, ktorý je kompatibilný s normou POSIX, je cenná sama o sebe, a určite veľmi užitočné pre kariéru. Veľké projekty, ako napríklad GNOME alebo KDE, dodržiavajú štandardu POSIX, ktorý zaručuje ich prácu na rôznych operačných systémoch. Podsystém POSIX je implementovaný aj v najnovších systémoch Windows. Linux, ako viete, podporuje väčšinu systémových hovorov týkajúcich sa štandardu POSIX, ako aj veľké rozšírenie na ňu, nazývané "štandardná báza Linuxu", ktorá je navrhnutá tak, aby kombinovala distribúciu Linuxu, pokiaľ ide o podporu zdrojového kódu a binárnych údajov .

Dúfam, že sme vrhli svetlo na otázku "Čo je POSIX." Máte zaujímavé informácie o téme? Zdieľajte ho v komentároch.

- (iPAENG | PɒZɪKS) alebo prenosné prevádzkové systémové rozhranie citu Title \u003d POSIX | adresa URL \u003d http://stands.ieeee.org/regauth/posix/ | Práca \u003d Normy Vydavateľ \u003d IEEE] je kolektívne meno skupiny súvisiacich štandardov určených IEEE ... Wikipedia

Posix. - EST LE NOM DOM DE NÁRODNOSTI DEMILY DEMFINIE DEPUTH 1988 PAR L LP Ústav elektronických a elektroniky Engineers et Formtellement Désignée IEEE 1003. Normy CES Ontergé d Un Projet De Normalization des API DES LEGICEELS DESTINÉS à ... WIKIPÉDIA EN FRANCAIS \\ t

Posix. - est le nom d une famille de normy définie desuis 1988 Par l Ieee et Formbeletlement Désignée IEEE 1003. ŠTANDARDY CES ONMERGÉ DE STANDARDERAGE DES API DES LEGICELES DESTINÉS à fonctionner sur de variantes du système d ... wikipédia en français \\ t

Posix. - ES EL Acrónimo de Prenosné prevádzkové systémové rozhranie; La x viene de unix como seña de identdad de la api. El Término Fue Sugerido Por Richard Stallman En Resuesta A LA DEPACTA DEA LA LAA IEEE, QUE BUSKABA OSN NOVINKA FÁCAL DE ZAHREJTO.cz. UNA TRADUCCIÓN ... Wikipedia Español

Posix. -, 1986 IM Štandard 1003.1 der IEEE NIEDERGELEGTE SPEZIFIKAČNOSTI FÜR ZUGRIFFE AUF SYSTÉMUJÚCEJ POTREBY UNTER UNIX. Sowohl Unix Sy ... Universal-Lexikon

Posix. - stantartai status t sritis informatika apibrėžtis standartų grupė, apibrėžianti operacinės Sistemos Sąsajas Tarp Joje Veikiančių programų bei tarnybų. Pirmuosius Standaartus sukūrė Elektros ir elektronikos inžinierių institutas (IEEE) Linukso ... \\ t Enciklopedinis Kompiuterijos ŽodyNas.

Posix. - ES EL Acrónimo de Prenosné prevádzkové systémové rozhranie, Viniendo La x de la Herencia de la API (SE TRADUCIRÍRE PREPRAVABLE BASADO EN UNIX). - ES EL ACRONINIMO DE PREPRAVNÉHO ROZHODNUTÉHO SYSTÉMU (SE TRADUCIVIRÍA COMO SISTEMA OPERATIVO PORTABABLE BASADO SK ESTOS SON UNA FAMILY DE ESTÁNDARES DE LLAMADAS AL SISTEMA ... Enciclopedia Universal

Posix. - (Prenosné prevádzkové systémové rozhranie založené na UNIX) n. Zbierka noriem pre operačné systémy, ktoré sú založené na UNIX (počítače) ... Anglický moderný slovník.

Posix.

Posix. - DAS Prenosné prevádzkové systémové rozhranie (POSIX [PɒSɪKS]) IST EIN GETEINSAM VON DER IST END DER OTVORENÁ GROUP FÜR UNIX ENTWICKETE STANDARISIETS APLIKÁCIA APLIKÁCIA PROGRAMOVANIA Interface, Das Die Schnittstelle Zwischen Aplikácia und Dem ... Deutsch Wikipédia

Knihy

  • , Stephen A. Rago, W. Richard Stevens. "UNIX. Profesionálne programovanie" je podrobná referenčná príručka, ktorá za 20 rokov pomáha profesionálnym programátorom v jazyku s písaním exkluzívne ...
  • UNIX. Profesionálne programovanie, Stevens W. Richard, Rago Stephen A .. Táto kniha je zaslúžená populárna s vážnymi programátormi po celom svete, pretože obsahuje najdôležitejšie a praktické informácie o manažmente UNIX a Linux Jaclei. Bez týchto ...

Štandardy

Sergey Zolotarev,

Účelom tohto článku je pokúsiť sa urobiť určitú jasnosť v histórii vývoja štandardu POSIX vo vzťahu k operačným systémom v reálnom čase (OS RV).

Ako úvod: Prečo potrebujete štandardizáciu programovacie rozhranie?

Jedným z najdôležitejších vlastností štandardu POSIX je, že definuje "štandardizované programovacie rozhranie", ktoré by vývojári komplexných softvérových a hardvérových systémov mali dodržiavať vývojárom. Tvorcovia týchto systémov sú nútené čeliť takýmto požiadavkám ako krátky čas vstupu na trh (z dôvodu tuhej hospodárskej súťaže), minimalizácia nákladov a zrýchľujúcich sa investičných výnosov. Zároveň leví podiel výdavkov spôsobených spomalením procesu rozvoja súvisí so skutočnosťou, že programátori musia "vymyslieť bicykel", opäť a opäť realizovať funkčnosť, ktorá je dlhodobo k dispozícii. Ale toto by sa dalo vyhnúť:

Opätovne použiť kód z minulých a paralelných projektov;

Prenos kódu z iných OS;

Prilákanie vývojárov z iných projektov (vrátane používania iných OS).

To všetko je možné kvôli použitiu OS s štandardizovaným API. Okrem toho, ak v prvom prípade organizácia stačí mať určitú vnútornú normu (ktorá je obzvlášť charakteristická pre značkové OS), potom sa druhý dva prípady vyžadujú len dostupnosť všeobecne uznávaných noriem - napríklad POSIX.

Takto, s použitím operačného systému kompatibilného s POSIX ako platformy pre svoje projekty, je vývojár schopný preniesť hotový kód na úrovni zdrojového kódu ako z jeho minulých alebo paralelných projektov a projektov tretích strán. To nielen výrazne znižuje načasovanie vývoja softvéru, ale tiež zlepšuje jeho kvalitu, pretože osvedčený kód vždy obsahuje menej chýb.

Kto je kto vo vývoji POSIX

A začneme s veľmi štandardom Posix, ale pri objednávaní úlohy organizácií zapojených do práce.

Prvý účastník je IEEE. Inštitút elektrických a elektronických inžinierov, inžinierov elektrikárov a elektroniky), verejné neziskové združenie odborníkov. IEEE vedie svoju históriu od roku 1884 (formálne - od roku 1963), kombinuje 380 000 jednotlivých členov z 150 krajín, zverejňuje tretiu časť technickej literatúry o využívaní počítačov, riadenia, elektrických a informačných technológií, ako aj viac ako 100 časopisov, Populárne v prostredí profesionálov; Okrem toho je združenie za rok viac ako 300 hlavných konferencií. IEEE sa zúčastnil na vývoji viac ako 900 existujúcich noriem (www.ieeee.ru/ieeeee.htm). Dnes je tento inštitút zapojený do prípravy, schvaľovania, schvaľovania, publikačných štandardov, ale vo svojom formálnom štatúte nemá právomoc prijať takéto dokumenty ako medzinárodné alebo vnútroštátne normy. Termín "norma" preto znamená "štandard" v chápaní IEEE skôr znamená "špecifikáciu", čo viac zodpovedá štatútu dokumentov prijatých združením. V súlade s IEEE sa zúčastňuje na programoch viacerých medzinárodných a regionálnych organizácií - IEC, ISO, ITU (Európsky inštitút pre telekomunikačné normy pre elektrotechnickú stantartizáciu) av národných programoch, ako je napríklad program takejto organizácie ako ANSI.

IEEE zahŕňa PASC (prenosné aplikačné štandardy; www.pasc.org/) - Výbor združenia, ktorý vyvíja rodinnú rodinu Posix. Skoršie, PASSC bolo známe ako Technický výbor pre operácie.

Druhý účastník práce - ANSI (americký národný štandardný inštitút, americký národný štandardný inštitút; www.ansi.org) - súkromná nezisková organizácia, ktorá spravuje a koordinuje v Spojených štátoch o otázkach normalizácie. Zamestnáva len 75 ľudí, ale členovia ANSI sú viac ako 1000 spoločností, organizácií, vládnych agentúr a inštitúcií. ANSI predstavuje Spojené štáty v dvoch hlavných medzinárodných organizáciách pre normalizáciu - ISO a IEC.

Tretí účastník - ISO. Medzinárodná organizácia pre normalizáciu, medzinárodnú organizáciu pre normalizáciu; www.iso.org). Bola vytvorená v roku 1946 rozhodnutím o koordinácii noriem a Valného zhromaždenia OSN a oficiálne začal pracovať 23. februára 1947. ISO je sieť národných normalizačných inštitúcií zo 146 krajín (jedna krajina - jeden ISO člen) s centrálnym sekretariátom v Ženeve (Švajčiarsko). Normy ISO sú vyvinuté v technických výboroch, ktorého prvým výsledkom je návrh medzinárodného štandardného dokumentu (DIS), ktorý sa otáča po niekoľkých zodpovedajúcich v konečnom návrhu medzinárodnej normy (FDIS). Po tom, otázka súhlasu tento dokument voliť; S pozitívnym výsledkom sa stáva medzinárodným štandardom.

Nakoniec, - IEC. Medzinárodná elektrotechnická komisia, Medzinárodná elektrotechnická komisia - IEC; www.iec.ch/), založená v roku 1906, IEC pripravuje a zverejňuje medzinárodné normy pre všetky elektronické a súvisiace technológie. Od 1. novembra 2004 boli národné výbory zo 64 krajín platnými členmi tejto komisie. IEC tiež zverejňuje odporúčania, ktoré vychádzajú v angličtine a francúzštine a vykonávajú stav medzinárodných noriem. Sú založené na regionálnych a národných normách. Technické výbory (TC) sú zodpovedné za prípravu noriem v rôznych oblastiach činností IEC a zahŕňajú aj národné výbory, ktoré majú záujem o činnosti TC.

IEC. - Kľúčová organizácia pri príprave medzinárodných noriem pre informačné technológie. Táto oblasť má spoločný technický výbor pre informačné technológie - JTC 1 vytvorené v roku 1987 v súlade s Dohodou medzi IEC a ISO. JTC1 má 17 podvýborov, ktorí dohliadajú na všetky vývoj - od softvéru až po programovanie jazykov, počítačovej grafiky a editácii obrázkov, prepojenia zariadení a bezpečnostných metód.

Príprava nových noriem IEC zahŕňa niekoľko stupňov (predbežné, etapy dodávok, prípravných, štádiu technického výboru, fáza žiadosti, schválenie, publikácie). Ak sa plánuje, že dokument IEC bude len technickou špecifikáciou, a nie medzinárodná norma, revidovaná verzia dokumentu sa zasiela ústrednému úradu na zverejnenie. Pre vývoj konečného projektu medzinárodnej normy (FDI), štyri mesiace sú uvedené. Ak sú schválené všetci členovia technického výboru, ide do ústredia na publikovanie bez štádia schvaľovania FDIS. Po tom, FDIS spadá do národných výborov, aby ho schválila do dvoch mesiacov. FDIS sa považuje za schválené, ak za neho hlasovali viac ako dve tretiny národných výborov a počet negatívnych hlasov nepresahuje 25%. Ak dokument nie je schválený, zasiela sa na revíziu technických výborov a podvýborov. Štandard sa musí uverejniť najneskôr dva mesiace po schválení FDI.

Niekoľko ďalších organizácií súvisí s rozvojom a prijatím štandardov POSIX.

Otvorená skupina. - Medzinárodná organizácia pre štandardizáciu softvéru, ktorá kombinuje takmer 200 výrobcov a užívateľských komunitách pracujúcich v oblasti informačných technológií (www.opengroup.org/) .Odgroup bol vytvorený v roku 1995 zlúčením dvoch predchodcov: X / Open a Open Software Foundation ( OSF). Otvorená skupina sa špecializuje na vývoj metodík a testovania na dosiahnutie súladu s určitými požiadavkami. Najmä otvorená skupina je certifikovaná pre oblasti, ako je platforma COE, CORBA, LDAP, ŠTANDARDNÁ BASE LINUX, ŠKOLY RÁMCIU INTEROPERAČNOSTI (SIF), S / MIME Gateway, Single UNIX špecifikácie, bezdrôtové aplikačné protokoly špecifikácie (WAP) a nakoniec rodina posix Normy (www.opengroup.org/certifikácia/).

AustinCommonstandardsRevisionGroup (CSRG) - United Technická pracovná skupina vytvorená v roku 2002 ISO, IEC a Otvorená skupina na vytvorenie a udržanie najnovších verzií štandardu 1003.1, ktorý bude tvorený na základe ISO / IEC 9945-1996, IE / IEC 9945-2-1993 , IEEE STD 1003.1-1996, IEEE STD 1003.2-1992 a jednotná špecifikácia UNIX (www.opengroup.org/press/14nov02.htm).

Národný inštitút štandardov a technológií (NIST) - Federálna agentúra dodržiavala technologickú správu obchodu (www.nist.gov/public_affairs/general2.htm), založená v Spojených štátoch v roku 1901. Nistovej úlohy je rozvoj a propaganda štandardov a technológií s cieľom zlepšiť kvalitu výrobkov. NIST zahŕňa laboratórium informačných technológií. Laboratórium informačných technológií - ITL)Jedným z výsledkov, z ktorých sú Federálne štandardy spracovania informácií (Federálne štandardy spracovania informácií - FIPS, www.opengroup.org/testing/fips/general_info.html).nist/itl ponúkol v roku 1991 počiatočný súbor testov pre certifikáciu POSIX v roku 1991 V rámci plôch PUB 151-1 1990.

Čo je POSIX?

Formálne termín Posix. Navrhol Richard Stallman (Richard Stallman) ako skratka pre P. \\ tskutočnosť. O.rozumný S.rozhranie ystem pre OSN Ix (Prenosné rozhranie operačných systémov pre UNIX). Posix bol vyvinutý pre operačné systémy podobné UNIX (ich prvé verzie počítajú od začiatku 70. rokov), aby sa zabezpečila prenosnosť aplikácií na úrovni zdrojového kódu.

Počiatočný opis rozhrania bol publikovaný v roku 1986, potom sa nazýval IEEE-IX (verzia IEEE UNIX). Názov sa však rýchlo zmenil, zmenil sa na Posix a už v ďalšej publikácii (v roku 1986) bola použitá táto nová verzia. Už nejaký čas pod POSIX sa odkaz (alebo synonymum) chápe ako skupina IEEE 1003.1-1988 Súvisiace dokumenty a časť ISO / IEC 9945, a ako kompletné a schválené medzinárodné normy ISO / IEC 9945,1: 1990 POSIOP bol prijatý v 1990. POSIX ŠPECIFIKÁCIE Definovanie štandardného mechanizmu interakcie medzi aplikačným programom a OS a v súčasnosti zahŕňa viac ako 30 noriem pod záštitou IEEE, ISO, IEC a ANSI.

Počas svojej histórie, POSIX prešiel veľkou cestou, zatiaľ čo mnohokrát zmenil označenie špecifikácií, ich špecifického obsahu, postupov a logistiky ich overovania. V minulosti sa v rôznych medzinárodných organizáciách vydalo niekoľko vydaní štandardu POSIX.

Posix Standard Development História

Prvá verzia špecifikácie IEEE STD 1003.1 bola publikovaná v roku 1988. Následne boli ako medzinárodné normy prijaté mnohé vydania IEEE STD 1003.1. Posix vývojové fázy:

- 1990 Redakčný úrad prepustený v roku 1988 bol prepracovaný a stal sa základom pre ďalšie vydania a dodatky. Bol schválený ako medzinárodná norma ISO / IEC 9945-1: 1990.

- 1993 Redakčný úrad 1003.1b-1993 prichádza.

- 1996 IEEE STD 1003.1b-1993, IEEE STD 1003.1C-1995 a 1003.1I-1995 boli vykonané, ale hlavná časť dokumentu zostala nezmenená. V roku 1996 bola edícia IEEE STD 1003.1 schválená aj ako medzinárodná norma ISO / IEC 9945-1: 1996.

- 1998 Tam je prvý štandard pre "Real-Time" - IEEE STD 1003.13-1998. Toto je rozšírenie štandardu POSIX pre vstavané aplikácie v reálnom čase.

- 1999 Bolo rozhodnuté urobiť významné zmeny v hlavnom texte štandardu za posledných 10 rokov, vrátane zjednotenia so štandardom 1003,2 (shell a verejné služby), pretože do tohto momentu to boli samostatné normy. PACK sa rozhodol dokončiť zmenu základného textu po ukončení štandardov IEEE 1003.1A, 1003.1d, 1003,1 g, 1003.1J, 1003,1Q a 1003.2b.

- 2004 Redakčná rada zo 1003.1 bola dnes uverejnená 30. apríla a bola vydaná pod záštitou Aus Austin Common Normy Revízne. Zmeny týkajúce sa redakčnej rady z roku 2001. Formálne, redakčný úrad z roku 2004 je známy ako IEEE STD 1003.1, 2004 Edition, Open Group Technical Standard Base špecifikácie, vydanie 6 a zahŕňa IEEE STD 1003.1-2001, IEEE STD 1003.1-2001 / COR 1-2002 a IEEE STD 1003.1-2001 / COR 2-2004.

Najdôležitejšie štandardy POSIX pre RV OS

Pre operačné systémy v reálnom čase sú najdôležitejšie sedem štandardných špecifikácií, ale v komerčnom systéme boli široko podporované len tri.

1003.1A (definícia OS) definuje hlavné rozhrania OS, riadenia úloh, signálov, funkcií a zariadení súborových systémov, užívateľských skupín, dopravníkov, puferov FIFO;

1003.1b (rozšírenia v reálnom čase) opisuje rozšírenia v reálnom čase, ako je signalizácia v reálnom čase, prioritné dispečing, časovače, synchrónny a asynchrónny vstup, semafory, zdieľaná pamäť, správy. Spočiatku (do roku 1993) bol tento štandard uvedený ako POSIOP.4;

1003,1C (vlákna) Definuje funkcie podpory Stream (nite) - Riadenie prietoku, atribúty streamov, mutex, dispečing. Pôvodne označený ako POIIX.4A.

Okrem týchto štandardov sú pre RV dôležité tieto normy, ktoré boli realizované ako súčasť projektu STD 1003.1-2001:

IEEE 1003.1d-1999. Ďalšie rozšírenia v reálnom čase. Pôvodne označený ako POSIOP.4B;

IEEE 1003.1J-2000. Zlepšené (pokročilé) expanziu v reálnom čase;

IEEE 1003.1Q-2000. Sledovanie.

Certifikačný postup

Na splnenie štandardu POSIX musí byť operačný systém certifikovaný podľa výsledkov zodpovedajúcej skúšobnej súpravy. Od vzhľadu POSIX sa skúšobná súprava prešla formálnymi a skutočnými zmenami.

V roku 1991, NIST vyvinula testovací program POSIX v FIPS 151-1 (http://standards.ieee.org/regauth/posix/posix-a.fm5.pdf). Táto možnosť testovania bola založená na IEEE 1003.3 "Štandard pre skúšobné metódy na meranie zhody s POSIX", 3, 3. mája 1989. V roku 1993, NIST vyštudoval testovací program pre FIPS 151-1 a začal program pre FIPS 151 -2 (www.itl.nist.gov/fipyspubs/fip151-2.htm).Fips 151-2 Upravený "Informačné technológie - Prenosné prevádzkové systémové rozhranie (POSIX) - Časť 1: Systémové aplikačné rozhranie (API)," AUDIO ISO / IEC 9945-1: 1990 Štandard. Skúšobné súpravy pre FIPS 151-2 boli založené na štandarde IEEE 2003.1-1992 pre testovacie metódy na meranie zhody s POSIX ".

NIST rozlišuje dve certifikačné metodiky: seba-certifikácia (seba-certifikácia) a certifikácia akreditovaná v IEEE testovacích laboratóriách (akreditované testovacie laboratóriá Posix - APTL). V prvom prípade spoločnosť vykonáva testovanie nezávisle, ale podľa plánu schváleného NIST. V druhom prípade sa testovanie vykonáva nezávislé laboratórium pomocou automatizovaných testovacích súborov. Dva laboratóriá APTL boli akreditované: Mindcraft (www.mindcraft.com) a trvalka (www.peren.com).

V roku 1997 NIST / ITL oznámila svoj zámer ukončiť certifikáciu pre FIPS 151-2 na konci bežného roka (oficiálne - 31. december 1997), v tom istom čase Otvorená skupina oznámila, že to bude trvať 1. októbra Rok certifikačnej služby v súlade s FIPS 151-2 na základe programu NIST / ITL. Rovnaké funkcie od 1. januára 1998 predpokladali Asociáciu normalizácie IEEE (IEEE-SA) a tiež založené na FIPS 151-2.

V roku 2003, IEEE-SA a Open Group oznámila začiatok nového spoločného programu pre certifikáciu nedávnych verzií POSIX, počnúc IEEE 1003.1 (TM) 2001. Teraz Open Group má niekoľko testov, ktoré pokrývajú IEEE STD 1003.1-1996, IEEE STD 1003.

2-1992, IEEE STD 1003.1-2003 a IEEE STD 1003.13-1998 (www.opengroup.org/testing/testsuites/posix.html). Výrobok sa považuje za certifikovaný POSIX, ak prešiel celý certifikačný postup, podľa výsledkov testov, spĺňa všetky predložené požiadavky a je uvedený v oficiálnom registri certifikovaných výrobkov.

Testovacie súpravy zahŕňajú:

VSX-PCTS1990 (www.opengroup.org/testing/testsuites/vsxPCTS1990.htm) - súbor testov zhody pre systémové rozhrania IEEE STD 1003.1-1990;

VspSE54 (www.opengroup.org/testing/testsuites/vspse54.htm) - súbor testov zhody pre IEEE STD 1003.13-1998 Profil PSE54 (viacúčelový reálny čas);

VSX-PCTS2003 (www.opengroup.org/testing/testsuites/vsxPCTS2003.htm) - súbor testov zhody pre systémové rozhrania systému IEEE STD 1003.1-2003 (len povinné časti);

VSC-PCTS2003 (www.opengroup.org/testing/testsuites/vscppts2003.htm) - súbor skúšok zhody pre IEEE STD 1003.1-2003 (Shell a Utilities - Len povinné časti).

Okrem toho otvorená skupina vyvinula testy pre štandardy POSIX REALTIME a vloženého profilu noriem POSIX. Súbor testov pre Posix Realtime (www.opengroup.org/testing/testsuites/realtime.html) obsahuje nasledujúce testy:

IEEE POSIOP 1003.1B-1993 / 1003.1I-1995 Rozšírenie v reálnom čase a IEEE POSIX 1003.1,2003;

IEEE STD POSDIIX 1003.1C-1995 Threads (Phreads) Rozšírenie a IEEE POSIX 1003.1,2003 EDÍCIA;

IEEE POSIX 1003.1D-1999 Ďalšie rozšírenie v reálnom čase a IEEE POSIX 1003.1,2003 EDITION;

IEEE POSIX 1003.1J-2000 Advanced RealTim rozšírenie a IEEE POSIX 1003.1,2003 EDITION;

IEEE POSIX 1003.1Q-2000 TRACE A IEEE POSIX 1003.1,2003 EDÍCIA A IEEE POSIX 1003,1,2003 EDÍCIA;

Embedded Posix Standards Profile Tests Set (www.opengroup.org/testing/testsuites/embedded.html) obsahuje nasledujúce testy:

IEEE POSIX 1003.1-1990 (5310 testov);

IEEE POSIX 1003.1B-1993 / 1003.1I-1995 Rozšírenie v reálnom čase (1430 testov);

IEEE STD POSD POSIX 1003.1C-1995 Vlákna (PTHREADS) Rozšírenie (1232 test);

IEEE POSIX 1003.13-1998 Profil 52.

Trochu o zmätku v terminológii

Vo vzťahu k skupine noriem Posix v angličtine, nie jeden, ale až tri podmienky. Bohužiaľ, sú podobné v hodnote a sú často preložené rovnako, čo prináša určitý zmätok. Ide o to:

Kompatibilita (doslova "kompatibilita");

Dodržiavanie (doslova "súlad");

Sonformácia (doslova "konzistencia").

Prvý termín aplikovaný na POSIX nie je formálne definovaný. Druhým znamená, že organizácia je výrobcom softvéru nezávisle vyhlasuje, že tento výrobok (plne alebo čiastočne) spĺňa tieto normy NIST-PCTS. Tretí termín to znamená, že softvér Setový testovací systém bol odovzdaný buď pomocou akreditovaného laboratória alebo v rámci otvorenej skupiny, čo zahŕňa potvrdenie o dokumente (tzv. Vyhlásenie o zhode). Ďalej v texte článku všade bude originály pojmov na vylúčenie nejednoznačnosti.

Certified OS RV.

Ak dodržiavate prísne pravidlá, ktoré si vyžadujú, aby sa údaje o certifikovanom OS RV uverejňovali v oficiálnom registri a testovanie boli vykonané podľa úrovne zhodaV súčasnosti máte len dva certifikované OS RV (údaje sú uvedené v chronologickom poradí):

- Lynxos v.3. (Produkt Lynx Real-Time Systems, ktorý sa teraz nazýva Lynuxworks, Inc., www.lynuxworks.com) určené na rozvoj na vstavaných systémoch pôsobiacich v tvrdý režim Real-time, výrobcovia kompletných a telekomunikačných zariadení, najmä výrobcov palubných systémov vojenského použitia. Vývoj sa môže vykonávať na cieľovom systéme (samo-hostovaný) a na nástroj nástroj (hostiteľ), pripravený na určený na prácu na cieľovom systéme (cieľ). Lynxos v.3 je certifikovaný pre konzistenciu (Zhoda)Štandard POSIX na platforme Intel a PowerPC. Informácie o tom možno nájsť na internetovej stránke IEEE http://standards.ieeeee.org/regauth/posix/posix2.html.lynxos certifikovaný POSIX 1003.1-1996 Mindcraft, ktorý je IEEE POSIPIX AKREDITOVANÉ POSIXOVÉHO TESTOVANÉHO laboratória pre NIST FIPS 151 Testy 2 zhody. Testovací suite.. Číslo dokumentu potvrdzujúce certifikáciu: Referenčný súbor: IP-2LYX002, Referenčný súbor: IP-2LYX001.

- Integrity v.5 (Produkt spoločnosti Green Hills Software, www.ghs.com) je certifikovaný pre konzistenciu (Zhoda) Posix 1003.1-2003, systémové rozhrania pre architektúru PowerPC v júli 2004 (http://get.posixcertified.ieeee.org/selection_product.tpl). Sada testov VSX-PCTS 2003.

Operačný systém POSIX a QNX

QNX V.4.20(Developer - Firmy QNX softvérové \u200b\u200bsystémy, www.qnx.com) certifikovaný na dodržiavanie predpisov (Dodržiavanie) Posix 1003.1-1988 pre platformu Intel by DataFocus incorporated. Testovanie sa uskutočnilo 13. septembra 1993, dátum vydania dokumentu - 1. novembra 1993. Sada testov NIST PCTS 151-1, verzia 1.1.

QNX Neutrino (verzia 6.3) vyhovuje ďalším štandardom rodiny POSIX (www.qnx.com/download/download/8660/Pordability.pdf):

Posix.1 (IEEE 1003.1);

Posix.1a (IEEE 1003.1A);

Posix.2 (IEEE 1003.2);

Posix.4 (IEEE 1003.1b);

Posix.4a (IEEE 1003.1c);

Posix.1b (IEEE 1003.1D), IEEE 1003.1J;

Posix.12 (IEEE 1003,1G).

QNX softvérové \u200b\u200bsystémy, tvorca QNX neutrino, tiež plánuje certifikovať (zhoda) QNX neutrino podľa niektorých z týchto noriem; Práce sú naplánované na rok 2005 (www.qnx.com/news/pr_959_1.html).

Literatúra

1. Návod na obsluhu noriem IEEE. IEEE, október 2004.

2. Kevin M. Bezplatne.. POSIX v reálnom čase, vstavané systémy programovanie, 2001.

3. IEEE / ANSI Standard 1003.1: Informačné technológie - (POSIX) - Part1: Systémová aplikácia: Programové rozhranie (API).

4. Galmeister B. O. Programovanie reálneho sveta, Posix.4 Sebastopol, CA: O'Reilly & Associates, 1995.

5. Národný inštitút štandardov a technológií, PCTS: 151-2, testovací balík POSIX.

6. PODIX: CERTIFIKOVANÝ PODĽA IEEE A OTVORENÝCH SKUPINY. Certifikovaná politika. Otvorená skupina, 21. október 2003, Revízia 1.1.



Páči sa vám článok? Zdieľaj to