Menü
Ingyenes
becsekkolás
a fő  /  Problémák / UNIX operációs rendszerek és POSIX szabványosítása. A valós idejű operációs rendszerek szabványai

Az operációs rendszerek és a POSIX UNIX szabványosítása. A valós idejű operációs rendszerek szabványai

Általában a szabványokról

A szakemberek között a programozók úgy vélik, hogy a programozás szabványai egyáltalán nem szükségesek, mivel:

(1) Ezek eredetileg értelmetlenek, mivel szerzők nem írnak számítógépes programokat;

(2) Ők harcolnak a programozók kezdeményezésére;

(3) A programozók mindig megegyeznek a szabványok nélkül.

Talán ezt a véleményt nem szabad figyelmen kívül hagyni, ha nem két körülmény:

(1) Gyakorlásai kifejeznek, vagyis azok, akik "programtermékek" kiadása ";

(2) A fenti érvet a cikk szerzője fedezte fel az internet egyik kiadványában a C programozási nyelven, amelyet egyértelművé vált, hogy egy ilyen véleményt "nemzetközi szinten" terjesztették, és nemcsak arrogáns orosz "SuperFrograms".

A "standard" szó általában valami anyaggal (standard méretekkel, szabványnak van társítva elektromos feszültség stb.), Míg a számítógépes program egy immateriális objektum ("az új immateriális"), és talán az immateriális szférában lévő szabványok valóban értelmetlenek?

Van azonban egy visszautasító példa. Az orosz nyelv helyesírásának szabályainak kombinációja lényegében egy szabvány, bár a szabványosítási hatóságok nem hagyják jóvá. Továbbá, kivéve a helyesírás szabályait (vagy ha, a helyesírás követelményeit, vannak szintaktikai szabályok, és ami a legfontosabb, szemantika. Az utóbbi a "gyermekek" kérdését szemlélteti: Miért hívja a macskát? Van pontos válasz erre a kérdésre: mert az őseink megállapodtak; A brit ősei beleegyeztek abba, hogy ugyanazt a szörnyeteg macskát, a németek őseit, a cica stb. Általában a jelentés vagy a szemantika, vagy a szó értelmezésére vonatkozó szabályok vagy szavak kombinációja - a megállapodás kérdése.

A Standard Posix kinevezése és "szuperbate"

A név, a POSIX (hordozható) Operációs rendszer Interfész) egy szabványos párosítás (interfész) az operációs rendszer és az alkalmazásprogram között. Amikor a programozók a "meztelen" gép programjait írták (I / O programok, trigonometriai funkciók stb.), Trigonometriai funkciók stb. Végrehajtása. A szöveg POSIX többször hangsúlyozza, hogy a szabvány nem terjeszt elő az operációs rendszer működéséhez szükséges követelményeket; Ez az alkalmazási programozók és a fejlesztők közötti megállapodások összességének tekinthető operációs rendszer. Így (ismét, ellentétben egy meglehetősen népszerű véleményével), a POSIX nemcsak az operációs rendszerek fejlesztői számára érdekes, de elsősorban a programozók sokkal több programozója számára.

Az ilyen jellegű szükségességet az 1980-as években valósították meg, amikor a Unix operációs rendszerek széles körben elterjedtek. Kiderült, hogy bár ezt a rendszert egységesnek tekintették, a konkrét megvalósítások közötti különbségek arra a tényre vezetett, hogy az egyik rendszerre írt alkalmazási programokat nem lehetett végrehajtani egy másikban. Az adott probléma döntése alapján, a mobilitás problémájának ismert szoftver, POSIX célzott. A szabvány első kiadása 1988-ban jelent meg (van egy fordítás, lásd), amelyben a program mobilitásával kapcsolatos kérdések két részre oszlanak: (1) Alkalmazási felület (2) parancs tolmács (Felhasználói felület); Ezeket az alkatrészeket POSIX.1 és POSIX.2-nek nevezték11.

Meg fogjuk határozni, hogy ez a cikk csak az alkalmazási felület, a POSIX.1, a POSIX.1, a második (és az utolsó időpontban) vonatkozóan beszél.

A tájékoztató a szabvány részét is hangsúlyozza, hogy a POSIX nem egy leírást a felület néhány „ideális” operációs rendszer, de az eredmény az általánosítás és rendszerezése során szerzett tapasztalatok a fejlesztés a UNIX operációs rendszer. Ezenkívül a POSIX nem szolgálhat az operációs rendszerekhez vezető útmutatóként, bár az informatív rész ajánlásokat tartalmaz a programozók és a programok töredékei számára.

A szabvány arra utal, hogy lehetetlen teljes körű operációs rendszer létrehozása, amely kizárólag a benne leírt felületi funkciókra fókuszál. (Különösen a POSIX.1 nem tükrözi az ilyen kérdéseket hálózati és kapcsolódó interfész funkcióként vagy grafikus felületként.) Mindazonáltal a programok nongetabilitásának és az interfész egyesítésének szükségessége azonban olyan nagy, hogy a legtöbb gyártó inkább a gyártók előnyben részesítik Legalább néhány szabványnak van, mint senki. Ezért nagyon sok szoftverfejlesztő igyekszik navigálni a POSIX-on. Ez lehetővé teszi, ha nem szünteti meg teljesen a programok nonumatitását, akkor legalábbis jelentősen csökkenti a program kóstolatlan részét.

Szemantikáról

Amint már említettük, a POSIX az operációs rendszer fejlesztője és az alkalmazási programozó fejlesztője közötti megállapodásoknak tekinthető. "Megállapodás": a szavak és kifejezések értelmezésének (szemantika) elsőbbsége. A következő példák a megállapodás megvalósításának nehézségét szemléltetve.

Hogyan lehet közvetíteni a jelentést fordításkor

Először is emlékeztetnie kell arra, hogy a POSIX szabvány angol nyelvű, amely a természetben kétértelmű (például ugyanaz a szó lehet főnevek, melléknév és ige), és a "szemantikus csapdák" szinte minden oldalon hallgattak. Az említett jó illusztráció a fikció példája. Oscar Wilde egyik leghíresebb műve, amely ragyogóan használta az angol nyelv ezen jellemzőjét, - a komolyság fontossága - az orosz nyelven ismert, "mennyire fontos, hogy komoly legyen". Azonban az angol névnek második jelentése van: komoly (komoly) - az egyik karakter vezetékneve, és a név másként lefordítható: "Mennyire fontos az Ernst". Van egy orosz vezetéknév Ezüst, és ha komoly vezetéknév volt, a fordítás tökéletesen pontos lenne, mindkét jelentés átadásával.

Ugyanez a helyzet a szabvány neve: hordozható operációs rendszer interfész. A melléknév hordozható (mobil) utal az operációs rendszer, és az alkalmazási program, de ez nem lehet kifejezni azt rövidesen orosz, akkor lefordítani, mint a „mobil operációs rendszer interfész” vagy „operációs rendszer interfész, amely mobilitása Alkalmazási programok. " A második lehetőség jobban tükrözi a standard fejlesztők szándékait, de ugyanakkor elveszett az első mosott (az ismerős első opció megmaradt).

A "Standard" szó szemantikája

A szabvány fő szövegét a preambulum preambuluma, amelyben az IEEE szabványok szójának jelentése magyarázható. Az ezen pontosításokból az alábbiak szerint az oroszul beszélő időszakban legalább három szemantikai különbség van:

(1) Intuitív módon úgy véli, hogy a GOST rendelkezik azzal a joggal, amelynek jogsértése üldözött; A POSIX olyan követelményrendszer, amely a következők szerint kizárólag önkéntes.

(2) A GOST a törléstől függ (sok, valószínűleg hallani kellett a "gost senki törlése" kifejezést); A POSIX POSIX preambulumában azt mondják, hogy ha a szabványt 5 évig nem módosították, akkor ez azt jelenti, hogy a legvalószínűbb kérdések elvesztették a relevanciát, és automatikusan törölhetők;

(3) GOST ANOONNEN; A POSIX bevezető részében a jelen standard fejlesztésében részt vevő személyek listáját adják meg, és megadja a címet, amelyben értelmezési kérelmeket küldhet; Azt is elmondják, hogy az egyes kérelmekre adott válasz a koordinációs eljárás hatálya alá tartozik (más szóval, a szabvány szerzői egyetértenek egymással a válasz megadása előtt).

Így az ilyen jól ismert szó, mint a szabványos "standard" kifejezés megjegyzést igényel.

A "MUIL", "NEM MEGHATÁROZOTT", "NEM MEGHATÁROZOTT" szavak szemantikája "

A szabvány 2. szakasza "terminológia és általános követelmények". Nemcsak speciális feltételek (például "folyamat" vagy "szemapár" fogalommeghatározását tartalmazza, hanem úgy tűnik, hogy az önértelmű szavak úgy tűnik, mint "kell" vagy "május". Mivel a POSIX.1 szabvány az interfészen, követelményei mind az operációs rendszerhez, mind az Alkalmazási Programhoz kapcsolódnak. A kifejezett követelményt a "Must" (kell) szó kifejezi, például: "A sikeres befejezés esetén a link () funkciónak vissza kell adnia a nulla értéket." Ebben a példában az operációs rendszerre vonatkozó követelményről beszélünk: a link () függvényt úgy kell végrehajtani, hogy sikeres befejezés esetén a nulla érték visszaadja.

A "nem meghatározott" és a "nem definiált" kifejezés ugyanazt az elképzelést fejezze ki, hogy a szabvány elismeri a választás szabadságát, de ezeknek a feltételeknek a jelentése változik. A "nem meghatározott" kifejezés azt jelenti, hogy bizonyos helyes (műveletek, szoftverszerkezetek stb.) És a "nem definiált" kifejezésről beszélünk, a helytelenül (hibás). A szabvány informatív része a következő magyarázatot adja.

A "nem meghatározott" kifejezés azt jelenti, hogy számos lehetőség (kimenet, a függvényhívás eredményei stb.) Ismeretes, és a szabvány lehetővé teszi közülük; Az operációs rendszer konkrét megvalósításában bárki kiválasztható, és egy ilyen rendszert a vonatkozó szabványnak tekintik. Alkalmazott programot (szigorúan releváns szabvány) kell írni úgy, hogy bármely változatban megfelelően működjön; Lényegében ez a kifejezés implicit módon kifejezte egy alkalmazási program követelményét.

Adunk egy példát: "ReadDir () függvénynek vissza kell adnia egy mutatót a következő könyvtár elemre vonatkozó szerkezethez. A könyvtár elemei a "DOT" és a "Point - Point" nevekkel kerülnek vissza, a szabvány nincs megadva. " Ebben a példában négy kimenetel lehetséges, és az alkalmazási program követelménye az, hogy bármelyiknek kell megtervezni.

Egy másik példa: „Ha a SigWait () függvény, amely előírja a várakozás a jelet a meghatározott számú okozza több vezérlési patakok, majd amikor a jelet, nem több, mint egy közülük, hogy megtérjen Sigwait (). Milyen irányítási áramlás történik, a szabvány nincs megadva. " Ebben a példában sok lehetséges eredmény lehet több, de ismeretesek, és az alkalmazási program követelménye, hogy bármilyen kimenetelűen jól kell működnie.

A "nem definiált" kifejezés azt jelenti, hogy még sok eredmény nem ismert, minden kimenetel lehetséges, akár sajnálhatatlan (például a rendszer összeomlása, az adatvesztés stb.). Lényegében ez a kifejezés implicit módon fejezte ki az alkalmazási program követelményét, hogy ne használja a megfelelő adatokat vagy formatervezést. Például: "Ha a Sirp argumentum funkciója a Readdir () nem utal az aktuálisan nyitott könyvtárra, az eredmény nincs meghatározva."

Ez a példa olyan kérést tartalmaz, amely argumentum READDIR () funkció csak egy nyitott könyvtárhoz kapcsolódik; Ennek a követelménynek a megsértése katasztrofális következményekkel járhat, és a felelősség az alkalmazás programozóhoz van rendelve.

Itt van egy másik példa: "A sikeres befejezés esetén az olvasó () függvénynek vissza kell adnia egy egész számot, amely jelzi a gyakorlatilag olvasott bájtok számát. Ellenkező esetben, a függvény kell rendelni egy hibakód a errno és visszatérő -1, és a tartalmát a puffert, amelyben a BUF argumentum adja nincs definiálva. "

Használja az alkalmazási programban egy pufferből az olvasott () függvény hibája esetén a standard tiltja, és ennek a követelménynek a megsértésének következményei az alkalmazási programozóra vonatkoznak.

A "végrehajtás által meghatározott" kifejezés jelentése különbözik az intuitív. Nyilvánvaló, hogy egy adott operációs rendszerben nem lehet "nem tanácsi" vagy "bizonytalan" eredmény, bizonyos eredményt kapunk. A "végrehajtás által meghatározott" kifejezés az operációs rendszer dokumentációjára vonatkozó szabvány követelményét fejezi ki: az eredményt nemcsak tisztázni kell (az operációs rendszer fejlesztője egyébként), hanem kifejezetten tükrözi a a rendszer.

A szemantika alapértelmezett

A szabályozási dokumentum nem fedezheti az olyan esetek teljes skáláját, amelyek a gyakorlatban találkozhatnak, így elkerülhetetlen a Silent3-ról. Például, a leírás a funkció azt mondhatjuk, hogy elmélete értékeket vehet fel egy bizonyos tartományban, de semmi azt mondja, hogy ez lesz az eredmény, ha az argumentum nem esik ebbe a tartományba. Nyilvánvaló, hogy elkerülhető a félreértések elkerülése érdekében, szükség van egy alapértelmezett szemantikára. A szabvány informatív részében kíváncsi kifejezés: "Az alapértelmezett általánosan elfogadott szemantika tilos." Ez az állítás ellentmond az évtizedes jól ismert szlogennek "Minden, ami nyilvánvalóan nem tiltott, megengedett. Nyilvánvaló, hogy annyira gyökeredett volt a polgárok tudatában, hogy sok, még a programozók sem értenek egyet a standard beszerzési nyilatkozatával. Eközben, ha bármely design használata nyilvánvalóan nem megengedett, és nem követi a leírást, akkor bármely gyakorló programozó rájön, hogy a felhasználása kockázatos, és ha nem működik, akkor nem fordul elő.

Folyamatok és ellenőrzési folyamatok

Mindkét kifejezés kifejezi a végrehajtás párhuzamosságának ötletét. A UNIX operációs rendszert eredetileg fogant, mint a multiplayer, és a programok, amelyek által indított különböző felhasználók biztonságosan kell egymástól elkülönítve, hogy véletlenül se torzítja a „mások” az adatokat. Ezt az elkülönítést az a tény biztosítja, hogy a felhasználói programot egy bizonyos folyamaton belül végrehajtják saját virtuális címterületén. Még akkor is, ha a program globális adatokkal rendelkezik, amikor különböző folyamatokban elindul, akkor automatikusan "elváltak" különböző címterek.

Azonban a folyamatok mechanizmusa nem elég kielégítő, ha valós idejű feladatok programozása. A valós idejű alkalmazásprogram (ugyanazon felhasználó nevében eljárva) gyakran természetesen képviselhető a végrehajtható részekkel párhuzamosan, amelyeket "vezérlési folyamatok" (szál) neveznek. A folyamatok legjelentősebb különbsége az, hogy az összes vezérlési áramlás egyetlen címterületen alakul ki; Ez biztosítja a globális adatokhoz való gyors hozzáférést, ugyanakkor a torzítások véletlen torzításának kockázata, és ez nem fordul elő, meg kell felelnie bizonyos fegyelmi programozásnak. A vonatkozó ajánlások a szabvány informatív részét tartalmazzák.

Hangsúlyozni kell, hogy a multithreading ötlete számos valós idejű operációs rendszerben valósul meg, és másképp valósul meg abban az értelemben, hogy az attribútumok és az interfész funkciók különböző csoportjai megfelelnek az egyes vezérlési folyamoknak; Néha a "Control Flow" kifejezés helyett (menet) a "Feladat" (feladat) kifejezést használja. A félreértések elkerülése érdekében a standard hangsúlyozza, hogy kizárólag a POSIX vezérlőáramokról szól, és a megfelelő interfész funkciók neve a pthread_ előtag (például pthread_create (), pthread_join () stb.).

A szabványnak való megfelelés. A "megfelelő" szó szemantikája

Intuitív, hogy ha két tantárgyat készítenek ugyanolyan szabványnak megfelelően, akkor garantálják, hogy "illeszkednek" egymással, és együtt fognak dolgozni egy párban; Ebben az esetben, hogy a konjugáció (interfész) szabvány bevezetésének célja. Mivel a POSIX szabvány az interfészen, beszélhet az operációs rendszer szabványának betartásáról és alkalmazási program.

A POSIX.1 szabvány több száz (ha nem ezer) követelményt tartalmaz; Ez magától értetődőnek tekinthető, hogy ha legalább egyikük nem teljesül, a rendszer (vagy az alkalmazásprogram) nem felel meg a szabványnak. Ugyanakkor az ilyen számos UNIX operációs rendszer és alkalmazásprogramok eddig meg vannak írva, ami valószínűleg nem igényel ésszerűen a meghatározott értelemben betöltött teljes levelezést. Az ilyen jellegű nemzetközi szabvány kidolgozásának nehézségeit súlyosbítja a különböző nemzeti nyelvek létezésével. Még akkor is, ha elfelejtené a nemzeti nyelveken lévő szövegek feldolgozására irányuló alkalmazásprogramokat, szinte bármilyen alkalmazást kell kiadnia néhány diagnosztikai üzenetet és / vagy érzékeli az üzemeltető által megadott szövegeket.

  • szigorú betartás a POSIX.1 szabványnak;
  • megfelel a POSIX nemzetközi változatainak betartása;
  • a POSIX nemzeti verziójának betartása;
  • a megfelelés POSIX.1 bővítményekkel.

Másodszor, sok interfészalap nem minősül (opcionális); A szabvány megköveteli, hogy az opcionális interfészfunkciókat a szabvány által előírt módon dolgozzák ki, vagy mindig egy speciális hibakódot, enosys-t adtak vissza (azaz a funkció nem valósul meg). Az opcionális eszközök több csoportra vannak osztva, amelyek mindegyike megfelel bizonyos konfigurációs állandónak, amelyet a megfelelő fejléc fájlban (#define operátor) kijelölnek; Ez biztosítja annak lehetőségét, hogy megtudja, hogy a funkció a fordítási fázisban valósul meg.

A mobilitás leírt felvételét nem a POSIX szerzői, és régen alkalmazták a gyakorlatban; Számos operációs rendszerben konfigurációs konstansokat alkalmaznak a rendszer azonosítására vagy annak verziójára. És itt a szabvány nem kínál semmit alapvetően új, de csak a meglévő gyakorlatot rendszerezi.

Szabványosítási objektumok és standard szerkezetek

Röviden beszélve, a szabványosítási POSIX.1 tárgyai a nevek és a szemantika. Pontosabban, az alábbiakról beszélünk.

  • Interfész funkciók. A 357 funkciók szabványosítottak, és 107 funkciót veszünk a Standard SI könyvtárakból (matematikai, sorfeldolgozás, bemenet / kimenet stb.); Ezeket a funkciókat a POSIX.1 szabvány részét képezik, de teljes leírásukat a szabványos programozási nyelv tartalmazza.
  • Rendszeradattípusok neve. Ezek a nevek rendelkeznek egy _t utótaggal.
  • A fejlécfájlok nevei, valamint ezeknek a fájloknak a minimális összetétele.
  • A rendszerszintű globális változók nevei (például ERRNO).
  • A funkciók kidolgozásakor telepíthető hibakódok szimbolikus nevei. Ezek a nevek kezdődnek az E betűvel (ePermum, enotempty stb.).
  • Állandó konfigurációs nevek. Ezek a nevek előtag _posix_.
  • Jelképek szimbolikus nevei; Ezek a nevek SIG előtaggal rendelkeznek. Amellett, hogy a 20 „hagyományos” jelek (SIGABRT, SIGALRM stb), valós idejű jeleket szabványosított, a számok, amelyek kell elfoglalni néhány szilárd tartományban Sigrtmin a SigrtMax inclusive, amely nem kevesebb RTSig_max számokat.
  • Szimbolikus nevek, amelyek megfelelnek bizonyos funkciók egyedi argumentumainak értékeinek (például a CMD argumentum funkciója FCNTL () vehetnek f_dupfd, f_getfd, f_getlk értékeket stb.).
  • Makrók, konstansok, bit zászlók neve, környezeti változók.

Általánosságban elmondható, hogy a szabvány körülbelül két nagy részből áll, mintegy azonos mennyiségű. Az első félév a szabályozási rész - tartalmazza a szabvány (18 szekció) követelményeit és ajánlását, a második információs rész - olyan alkalmazásokat tartalmaz, amelyek a referenciák, megjegyzések és magyarázatok listáját tartalmazzák, a fejlécek összetétele , a standard (Dánia) profiljának ("vetítés") példájára, a legfontosabb funkciók teljesítményének mérésére szolgáló jellemzők és módszerek, valamint a további interfész funkciók leírása valós idejű fájlokkal; Várható, hogy a szabvány következő kiadásaiban ezek a funkciók szerepelnek a szabályozási részben.

Az operációs rendszer által az operációs rendszertípusok elgondolását a szabvány fedezi, megadja a "standard szakaszok összefoglalójának" összegét.

Következtetés

A POSIX szabvány fő tartalma az interfész funkciók szemantikája. A szemantika szabványosítása - Az ügy maga nem könnyű (mindenki tudja, mennyire nehéz megegyezni még két embernek), és a nehézségek súlyosbítják sok ember jelenleg részt vesznek a programozási tevékenységekben. Például a párhuzamos végrehajtás paradigma által kifejezett olyan kifejezések, mint a „folyamat”, „feladat” és a „menedzsment flow”, hanem a szempontból gyakorlati programozási „Task” az IBM OS / 360 operációs rendszer és a A VXWorks valós idejű operációs rendszere nem egy és is. Egy másik példa a szemaforák. A szemaforák bináris, egész szám ("mérővel") és kölcsönös kivétel (amely egyébként a programozók "mutexes" -nek nevezik, a félreértések elkerülésére irányuló spheliálisan keresik). És egész a szemafor, például a VxWorks operációs rendszer, egyáltalán nem ugyanaz, mint a POSIX szemaforok.

A POSIX szabvány szerzői, tökéletesen felismerve, hogy mennyire nehéz az emberek elhagyni szokásaikat (amelyeket hívnak a "bevált gyakorlat"), nyilatkozzon arról, hogy logikusan összekapcsolt és minimális interfészfunkciókat készítettek, amelyek a hagyományosan nyújtott szolgáltatások nagy részét lefednek az operációs rendszer, részletesen leírta a pontos szemantikai ezen funkciók és kínálnak mindenki használja őket developments4.

A standard olvasásakor néha felmerül a benyomás, hogy egyes készítményeknek egyetlen célja volt: nem vonja vissza egyes alkalmazásprogramokat vagy operációs rendszereket a kategóriából. Az ilyen célt valóban beállították és egyértelműen megfogalmazták a bevezetésben: a szabványnak figyelembe kell vennie a jelenlegi gyakorlatot, hogy maximalizálja a mértékét. A fő cél azonban az alkalmazási programok mobilitásának biztosítása.

Hiteles

Sergey RomaniaUK - a System Research Intézet vezető kutatója, a POSIX szabványos fordításcsoport vezetője. Kapcsolatba léphet vele email A cím: [E-mail védett]

1 Hozzá kell tenni, hogy a szabványos munka több éven át folytatódik; Új kérdések azonosíthatók, és azok a meglévő részek egyikébe tartoznak, vagy külön rész formájában vannak, amelyek később törölhetők. Ez történt például a felület segítségével valós idejű, amelyeket először bejelentették, POSIX.4, később szerepel POSIX.1.

2 Az IEEE olyan szervezet, amelyben a POSIX szabványt fejlesztették ki.

3 Itt a "Mistor" csendes, nem alapértelmezett; Ez nem olyan implikált értékekről szól, amelyeket ténylegesen bejelentettek, hanem a megemlítési nyilatkozatról egyáltalán.

4 A standard orosz fordítását 2000 elején teszik közzé.

Irodalom

Nemzetközi szabvány ISO / IEC 9945-1 (ANSI / IEEE STD 1003.1) második kiadás. 1996-07-12. Informatika - hordozható operációs rendszer interfész (POSIX) - 1. rész: Rendszeralkalmazás program interfész (API).

M.I. Belyakov, Yu.i. Wereruve, A.l.Fridman. Mobil operációs rendszer. Könyvtár. Moszkva, rádió és kommunikáció, 1991.

ISO / IEC 9899: 1990, programozási nyelvek - C.

1. szakasz - Bevezetés
2. szakasz. - Terminológia és definíciók
3. szakasz. - Folyamatkezelési funkciók (képek, felvételek, befejezés) és jelek létrehozása (maszkgazdálkodás, jel válasz)
4. szakasz. - azonosítás (folyamatok, felhasználók, rendszerek, terminál), a folyamat végrehajtására fordított idők, a környezeti változó felmérése.
5. szakasz. - Fájlok és katalógusok kezelése
6. szakasz. - Bemeneti és kimeneti funkciók
7. szakasz. - Terminál menedzsment funkciók
8. szakasz. - A szabványtól kölcsönzött funkciók
9. szakasz. - Hozzáférés a felhasználói adatbázisokhoz és a felhasználói csoportokhoz
10. szakasz. - adatformátumok archiválási és csere (tar és cpio)
11. szakasz. - Szinkronizációs eszközök: Szemapátorok, Mutexes és Változó feltételek
12. szakasz. - Memóriakezelési funkciók: Rögzítés és nézeteltérés folyamat Címterület, megjeleníti a memóriafájlokat, a memóriavédelmet, a megosztott memóriát
13. szakasz. - A tervezési folyamatokhoz és a vezérlési folyamatokhoz kapcsolódó funkciók
14. szakasz. - Az órák és az időzítők kezelése
15. szakasz. - Jelentés sorok kezelése
16. szakasz. - A vezérlési folyásokhoz kapcsolódó alapfunkciók
17. szakasz. - Egyéni vezérlési adatfolyamok (szál-specifikus adatok)
18. szakasz. - a kontroll áramlások megsemmisítése

Szabványok

Sergey Zolotarev,

E cikk célja, hogy megpróbáljon egyértelművé tenni a POSIX szabvány fejlesztési előzményeit a valós idejű operációs rendszerek (OS RV) tekintetében.

Bevezetésként: Miért van szükség egy programozási felület szabványosítására?

A POSIX szabvány egyik legfontosabb tulajdonsága az, hogy meghatározza a "szabványosított programozási felületet", amelyet a komplex szoftverek és hardverrendszerek fejlesztőinek be kell tartaniuk a fejlesztőknek. Ezeknek a rendszereknek az alkotói arra kényszerülnek, hogy az ilyen követelmények rövid idő alatt legyenek a piacra (merev verseny miatt), minimalizálják a költségek és a befektetési megtérülések felgyorsítását. Ugyanakkor az oroszlán részesedése a fejlesztési folyamat lelassulása által okozott költségek miatt az a tény, hogy a programozóknak meg kell "feltalálniuk egy kerékpárt", ismét és újra megvalósítani a funkcionalitást, amely már régóta elérhető. De ez elkerülhető:

Újrafelhasználás kódja a múltbeli és párhuzamos projektekből;

A kód átvitele más operációs rendszerből;

A fejlesztők vonzása más projektekből (beleértve az egyéb operációs rendszert is).

Mindez lehetséges az operációs rendszer szabványosított API használatával. Ráadásul, ha az első esetben a szervezet elég ahhoz, hogy egy bizonyos belső standard (amely különösen a márkás OS-re jellemző), akkor a második két eset csak az általánosan elfogadott szabványok rendelkezésre állását igényli - például POSIX.

Így a POSIX-kompatibilis OS projekt platformként történő felhasználásával a fejlesztő lehetőséget kap arra, hogy átadja készenléti kód A forrásszöveg szintjén mind a múltbeli, mind a párhuzamos projektjeikből és a harmadik cégek projektjeiből származik. Ez nem csak jelentősen csökkenti a szoftverfejlesztés időzítését, hanem javítja annak minőségét is, mivel a bizonyított kód mindig kevesebb hibát tartalmaz.

Ki az, aki a POSIX fejlesztésében

És kezdjük el a nagyon szabványos POSIX-et, de a szervezetben részt vevő szervezetek szerepének elrendeléséhez.

Az első résztvevő IEEE. IEEE Intézet Villanyszerelő Mérnökök és elektronika), Közhasznú Egyesület szakembereknek. Az IEEE 1884 óta vezeti a történelmét (hivatalosan - 1963 óta), ötvözi a 380 000 egyes tag 150 országból, közzéteszi a technikai szakirodalom harmadik részét a számítógépek, a menedzsment, az elektromos és információs technológiák, valamint több mint 100 magazin használatával kapcsolatban, népszerű a szakemberek környezetében; Ezenkívül az egyesület évente több mint 300 fő konferenciát tartalmaz. IEEE részt vett a több mint 900 meglévő szabvány (www.ieee.ru/ieeeee.htm) fejlesztésében. Ma ez az intézet elkészíti, jóváhagyja, jóváhagyja, közzétételi szabványokat, de formális státusában nem rendelkezik hatáskörrel az ilyen dokumentumok nemzetközi vagy nemzeti szabványok elfogadására. Ezért a "standard" kifejezés az IEEE megértésében inkább azt jelenti, hogy "specifikáció", amely jobban megfelel az egyesület által hozott dokumentumok állapotának. Az IEEE-vel összhangban részt vesznek számos nemzetközi és regionális szervezet programjában - az IEC, az ISO, az ITU (az Európai Távközlési Standard Standard Intézet az Elektrotechnikai Standard-i programok) és a nemzeti programok, például egy olyan szervezet programja, mint az Ansi.

IEEE magában PASC (Portable Application Standards Committee; www.pasc.org/) - Bizottság Egyesület, amely a fejlődő POSIX család család. Korábban a PASCC a Műveletek Műszaki Bizottságának ismert.

A második munka résztvevője - ANSI (Amerikai Nemzeti Szabványügyi Intézet, Amerikai Nemzeti Szabványügyi Intézet, www.ansi.org) - olyan magán nonprofit szervezet, amely az Egyesült Államokban a szabványosítási kérdésekben kezeli és koordinálja. Csak 75 embert foglalkoztat, de az ANSI tagjai több mint 1000 vállalat, szervezet, kormányzati szerv és intézmény. ANSI képviseli az Egyesült Államokat két fő nemzetközi szervezetben a szabványosításhoz - ISO és IEC.

Harmadik résztvevő - ISO. Nemzetközi szabványosítási szervezet, Nemzetközi Szabványosítási Szervezet; www.iso.org). 1946-ban hozták létre az 1947. február 23-án, az ENSZ Közgyűlésének összehangolásáról szóló határozatban, és 1947. február 23-án hivatalosan megkezdődött. Az ISO a nemzeti szabványosítási intézmények hálózatát 146 országból (egy ország - egy ISO tag) a Genf központi titkárságával (Svájc). Az ISO szabványokat a műszaki bizottságokban fejlesztették ki, amelynek első eredménye a nemzetközi szabványos dokumentum (DIS) tervezete, a végső nemzetközi szabvány (FDIS) számos illeszkedése után fordul elő. Ezután a dokumentum jóváhagyási kérdése szavazásra kerül; Pozitív eredmény, ez nemzetközi szabvány.

Végül, - IEC. Nemzetközi Elektrotechnikai Bizottság, a nemzetközi elektrotechnikai bizottság - IEC; www.iec.ch/), amelyet 1906-ban alapítottak, az IEC előkészíti és közzéteszi az összes elektromos, elektronikus és kapcsolódó technológiára vonatkozó nemzetközi szabványokat. 2004. november 1-jétől a 64 ország nemzeti bizottságai voltak a Bizottság érvényes tagjai. Az IEC közzéteszi az angol és a francia nyelven megjelenő ajánlásokat is, és elvégzi a nemzetközi szabványok állapotát. Regionális és nemzeti szabványokon alapulnak. A műszaki bizottságok (TC) felelősek a szabványok előkészítéséért az IEC-tevékenységek különböző területein, és részt vesznek a TC tevékenységeiben érdekelt nemzeti bizottságok is.

IEC. - Kulcsszervezet az információs technológia nemzetközi szabványainak előkészítésében. Ez a terület közös technikai bizottsággal rendelkezik - az IEC és az ISO közötti megállapodással összhangban 1987-ben alakult az informatika - JTC 1. A JTC1 17 albizottsággal rendelkezik, aki felügyeli az összes fejlesztést - a szoftvertől a programozási nyelvek, a számítógépes grafika és szerkesztési képek, a berendezések összekapcsolása és a biztonsági módszerek.

Az új IEC szabványok előkészítése több szakaszot tartalmaz (előzetes, ellátási szakasz, előkészítő, a műszaki bizottság, a kérelem szakasza, a jóváhagyás, a közzététel). Ha azt tervezzük, hogy az IEC-dokumentum csak technikai specifikáció lesz, és nem nemzetközi szabvány, a dokumentum felülvizsgált változata a Központi Hivatalnak küldendő. A nemzetközi szabvány (FDIS) végleges projektjének fejlesztése érdekében négy hónapot adunk meg. Ha a Technikai Bizottság valamennyi tagja jóváhagyásra kerül, akkor az FDIS jóváhagyási szakasza nélkül közzéteszi a Központi Hivatalt. Ezután az FDIS két hónapon belül jóváhagyja a nemzeti bizottságokat. Az FDIS-t jóváhagyottnak tekintik, ha a nemzeti bizottságok több mint kétharmada szavazott neki, és a negatív szavazások száma nem haladja meg a 25% -ot. Ha a dokumentumot nem hagyta jóvá, elküldjük a technikai bizottságok és albizottságok felülvizsgálatára. A szabványt legkésőbb két hónappal az FDIS jóváhagyása után kell közzétenni.

Néhány több szervezet kapcsolódik a POSIX szabványok kidolgozásához és elfogadásához.

Nyílt csoport. - nemzetközi szoftveres szabványosítási szervezet, amely közel 200 gyártót és felhasználói közösséget ötvözi az információs technológia területén (www.opengroup.org/) .Opengroup-ot 1995-ben hozták létre a két előd elődek egyesítésével: x / nyitott és nyílt szoftveralapítvány ( OSF). A Nyílt Csoport szakosodott a szoftver tanúsítási módszerek fejlesztésére és az egyes követelményeknek való megfelelésre vonatkozó tesztelésre. Különösen a nyitott csoport olyan területeken, mint például a COE platform, a CORBA, az LDAP, a Linux Standard Base, az iskolák kölcsönös átjárhatósági keretei (SIF), S / MIME átjáró, egyetlen Unix specifikáció, vezeték nélküli alkalmazás protokoll specifikáció (WAP) és végül POSIX család szabványok (www.opengroup.org/certification/).

AustinCommonStandardsReviongroup (CSRG) - A 2002-es ISO, az IEC és a nyitott csoportban létrehozott United Műszaki Munkacsoport az ISO / IEC 9945-1-1996, IEE / IEC 9945-2-1993 alapú 1003.1, az ISE / IEC 9945-2-1993 alapján alakul ki. , IEEE STD 1003.1-1996, IEEE STD 1003.2-1992 és egyetlen Unix specifikáció (www.opengroup.org/press/14nov02.htm).

Nemzeti Szabványügyi és Technológiai Intézet (NIST) - A Szövetségi Ügynökség eleget tett a Kereskedelmi Minisztérium Technológiai adminisztrációjával (www.nist.gov/public_affairs/general2.htm), amelyet 1901-ben alapítottak. A NIST feladata a szabványok és technológiák fejlesztése és propagandaja a termékminőség javítása érdekében. A NIST tartalmaz információtechnológiai laboratóriumot. Informatikai laboratórium - ITL)Melyek egyik eredménye a szövetségi információfeldolgozási szabványok (szövetségi információfeldolgozási szabványok - FIPS, www.opengroup.org/testing/fips/general_info.html).nist/itl) 1991-ben a POSIX tanúsítás kezdeti tesztje 1991-ben A FIPS Pub 151-1 1990-ben.

Mi a POSIX?

Formálisan POSIX. Richard Stallman (Richard Stallman) által javasolt rövidítés P.ortable. O.elzárás S.az ENSZ igstéri felülete Ix (Az UNIX operációs rendszerek hordozható felülete). A POSIX-t az UNIX-szerű operációs rendszerekhez fejlesztették ki (az első verziók az 1970-es évek elejétől számítanak) annak érdekében, hogy biztosítsák az alkalmazások hordozhatóságát a forráskód szintjén.

Az interfész első leírása 1986-ban jelent meg, majd az IEEE-IX (IEEE UNIX verziója). Azonban a név gyorsan megváltozott, bekapcsolva a POSIX-et, és már a következő kiadványban (1986-ban vissza) ezt az új verziót használták. Egy ideig POSIX alatt a hivatkozás (vagy szinonimáj) az IEEE 1003.1-1988 kapcsolódó dokumentumok és az ISO / IEC 9945 részeként értendő, és teljes és jóváhagyott nemzetközi ISO / IEC szabvány 9945.1: 1990 POSIX-t fogadtak el 1990. POSIX specifikációk meghatározzák az alkalmazási program és az operációs rendszer közötti kölcsönhatás mechanizmust, és jelenleg több mint 30 szabványt tartalmaznak az IEEE, az ISO, az IEC és az ANSI égisze alatt.

A történelem során a POSIX nagyszerűen telt el, míg sokszor megváltoztatta a specifikációk megjelölését, azok sajátos tartalmait, eljárásait és logisztikájukat. Az elmúlt időben a POSIX szabvány számos kiadását különböző nemzetközi szervezetekben adták ki.

POSIX szabványos fejlesztési előzmények

Az IEEE STD 1003.1 specifikáció első verziója 1988-ban jelent meg. Ezt követően az IEEE STD 1003.1 számos kiadását nemzetközi szabványként fogadták el. POSIX fejlesztési szakaszok:

- 1990 Az 1988-ban kiadott szerkesztői iroda újratervezett, és a további kiadások és kiegészítések alapja lett. Ezt nemzetközi ISO / IEC 9945-1: 1990 szabványként hagyták jóvá.

- 1993 A 1003.1B-1993 szerkesztői hivatal jön.

- 1996 IEEE STD 1003.1B-1993, IEEE STD 1003.1C.1C-1995 és 1003.1I-1995, de a dokumentum fő része változatlan maradt. 1996-ban az IEEE STD 1003.1 kiadását nemzetközi ISO / IEC 9945-1: 1996 nemzetközi szabványként is jóváhagyták.

- 1998 Van egy első szabvány a "valós idejű" - IEEE STD 1003.13-1998. Ez a POSIX szabvány bővítése a beágyazott valós idejű alkalmazásokhoz.

- 1999 Úgy döntöttek, hogy az elmúlt 10 évben jelentős változásokat hajt végre az elmúlt 10 évben, beleértve az egyesítést a 1003.2 szabvány (héj és segédprogramok), hiszen ez a pillanatban ezek különös szabványok voltak. A PASC úgy döntött, hogy befejezte az alapszöveg megváltoztatását az IEEE 1003.1A, 1003.1D, 1003.1G, 1003.1J, 1003.1Q és 1003.2B szabványok befejezése után.

- 2004 Legkésőbb ma az 1003.1 szerkesztőbizottság április 30-án jelent meg, és az Austin Common Standard felülvizsgálati csoport égisze alatt jelent meg. A 2001. évi szerkesztőigazgatótól függően változott. Formálisan a 2004-es szerkesztői hivatal az IEEE STD 1003.1, 2004 Edition, a Nyílt Csoport műszaki szabvány szerinti alapelvei, a 6. kiadás és az IEEE STD 1003.1-2001, IEEE STD 1003.1-2001 / COR 1-2002 és IEEE STD 1003.1-2001 / COR 2-2004.

A POSIX legfontosabb szabványai az RV OS számára

A valós idejű operációs rendszerekhez hét standard specifikáció a legfontosabb, de csak három széles körben támogatott a kereskedelmi operációs rendszerben:

1003.1a (OS Definíció) meghatározza az operációs rendszer alapvető interfészeit, a munkakezelést, a jeleket, a funkciókat fájlrendszer és dolgozzon eszközökkel, felhasználói csoportokkal, szállítószalagokkal, FIFO pufferekkel;

1003.1b (valós idejű bővítmények) a valós idejű kiterjesztéseket, például valós idejű jelátvitelt, prioritási feladatot, időzítőket, szinkron és aszinkron bemenetet, szemföldeket, megosztott memóriát, üzeneteket írnak le. Kezdetben (1993-ig), ezt a szabványt POSIX.4-nek jelöltük;

1003.1c (szálak) Meghatározza a Stream Support funkciókat (szálak) - áramlásszabályozás, stream attribútumok, mutex, küldemény. Eredetileg POSIX.4A-ként jelölték meg.

Ezen szabványok mellett a következő szabványok fontosak az RV számára, amelyeket az STD projekt részeként hajtottak végre 1003.1-2001:

IEEE 1003.1D-1999. A valós idejű további bővítések. Kezdetben POSIX.4B-nek nevezték;

IEEE 1003.1J-2000. Javított (fejlett) valós idejű bővítés;

IEEE 1003.1Q-2000. Nyomon követés.

Tanúsítási eljárás

A POSIX szabványnak való megfelelés érdekében az operációs rendszert a megfelelő tesztkészlet eredményei szerint kell tanúsítani. A POSIX megjelenése óta a tesztkészlet formális és tényleges változásokon ment keresztül.

1991-ben a NIST kifejlesztett egy POSIX tesztprogramot a FIPS 151-1 (http://standards.ieee.org/regauth/posix/posix-a.fm5.pdf) belül. Ez a tesztelési lehetőség az IEEE 1003,3 "szabványon alapult a POSIX-hoz való megfelelés mérésére szolgáló vizsgálati módszerekhez." 1989. május 10., 1993. május 3-án. 1993-ban a NIST 151-1-es tesztprogramból végzett, és 151 -2-es programot kezdett. (www.itl.nist.gov/fipspubs/fip151-2.htm).FIPS 151-2 Adaptált "Informatika - hordozható operációs rendszer interfész (POSIX) - 1. rész: Rendszeralkalmazás program interfész (API)," Audio ISO / IEC 9945-1: 1990 szabvány. A 151-2-es FIP-k tesztkészletei az IEEE 2003.1-1992 "szabványon alapultak a POSIX-hoz való megfelelés mérésére szolgáló vizsgálati módszerekhez".

A NIST megkülönbözteti a két tanúsítási módszert: önbizalmat (önkigazolás) és az IEEE tesztlaboratóriumokban akkreditált tanúsítás (akkreditált POSIX teszt laboratóriumok - APTL). Az első esetben a vállalat önállóan vizsgálja a tesztelést, de a NIST-ben jóváhagyott terv szerint. A második esetben a tesztelést egy önálló laboratórium végzi automatizált tesztkészletekkel. Két APTL laboratórium akkreditált: Mindcraft (www.mindcraft.com) és évelő (www.peren.com).

1997-ben a NIST / ITL bejelentette azon szándékát, hogy a jelenlegi év végén (hivatalosan - 1997. december 31-én) a FIPS-hez (1997. december 31-én) a FIPS-es tanúsítást megszüntesse, ugyanakkor a nyílt csoport bejelentette, hogy október 1-jén fog venni A tanúsítási szolgáltatás éve a FIPS 151-2 szabványnak megfelelően, a NIST / ITL program alapján. Ugyanezek a funkciók 1998. január 1-jétől az IEEE szabványügyi szövetség (IEEE-SA), valamint a 151-2-es FIP-k alapján is feltételezték.

2003-ban az IEEE-SA és a Open Group bejelentette a legutóbbi POSIX verziók tanúsításának új közös programjának kezdetét, kezdve az IEEE 1003.1 (TM) 2001-et. Most a Open Group több tesztet tartalmaz, amelyek az IEEE STD 1003.1-1996-ot tartalmazzák, az IEEE STD 1003.

2-1992, IEEE STD 1003.1-2003 és IEEE STD 1003.13-1998 (www.opengroup.org/testing/testsuites/posix.html). A terméket a POSIX tanúsítvánnyal kell tekinteni, ha a teljes tanúsítási eljárás során a vizsgálati eredmények szerint teljesíti az összes bemutatott követelményt, és szerepel a tanúsított termékek hivatalos nyilvántartásában.

A tesztkészletek a következők:

VSX-PCTS1990 (www.opengroup.org/testing/testsuites/vsxpcts1990.htm) - A rendszer interfészeinek megfelelőségi tesztjei IEEE STD 1003.1-1990;

VSPSE54 (www.opengroup.org/testing/testsuites/vspse54.htm) - Az IEEE STD 1003.13-1998 profilja PSE54 (többcélú valós idejű).

VSX-PCTS2003 (www.opengroup.org/testing/testsuites/vsxpcts2003.htm) - Az IEEE STD rendszer interfészeinek megfelelő mérési tesztek száma 1003.1-2003 (csak kötelező részek);

VSC-PCTS2003 (www.opengroup.org/testing/testsuites/vscppcts2003.htm) - Az IEEE STD 1003.1-2003 (Shell and Utilities - csak kötelező részei) megfelelőségi tesztek.

Ezenkívül a Open Group a POSIX valós idejű szabványok és a beágyazott POSIX szabványok profiljának tesztelését fejezte ki. A POSIX REALTIME (www.opengroup.org/testing/testsuites/realtime.html) tesztje a következő teszteket tartalmazza:

IEEE POSIX 1003.1B-1993 / 1003.1I-1995 valós idejű kiterjesztés és IEEE POSIX 1003.1 2003 kiadás;

IEEE STD POSIX 1003.1C-1995 szálak (pthreads) kiterjesztés és IEEE POSIX 1003.1 2003 kiadás;

IEEE POSIX 1003.1D-1999 További valós idejű kiterjesztés és IEEE POSIX 1003.1 2003 kiadás;

IEEE POSIX 1003.1J-2000 Advanced RealTim Extension és IEEE POSIX 1003.1 2003 kiadás;

IEEE POSIX 1003.1Q-2000 Trace és IEEE POSIX 1003.1 2003 Edition és IEEE POSIX 1003.1 2003 kiadás;

Beágyazott POSIX szabványok Profil tesztek (www.opengroup.org/testing/testsuites/embedded.html) A következő teszteket tartalmazza:

IEEE POSIX 1003.1-1990 (5310 teszt);

IEEE POSIX 1003.1B-1993 / 1003.1I-1995 valós idejű kiterjesztés (1430 teszt);

IEEE STD POSIX 1003.1C-1995 szálak (pthreads) kiterjesztés (1232 teszt);

IEEE POSIX 1003.13-1998 profil 52.

Egy kicsit a terminológia zavartságáról

Az angol nyelvű szabványok csoportjával kapcsolatban nem, nem pedig egy, hanem három kifejezéssel. Sajnos hasonló értékűek, és gyakran ugyanúgy lefordulnak, ami bizonyos zavart okoz. Ezek a feltételek:

Kompatibilitás (szó szerint "kompatibilitás");

Megfelelés (szó szerint "megfelelés");

Sonformance (szó szerint "konzisztencia").

A POSIX-ra alkalmazott első kifejezés nem hivatalosan definiálható. A második azt jelenti, hogy a szervezet olyan szoftvergyártó, amely önállóan kijelenti, hogy ez a termék (teljes mértékben vagy részben) megfelel a következő NIST-PCTS szabványoknak. A harmadik kifejezés azt jelenti, hogy a szoftver elhaladt telepített rendszer Az akkreditált laboratórium vagy a nyitott csoporton belüli tesztek, és ez dokumentált megerősítéssel rendelkezik (az úgynevezett megfelelőségi nyilatkozat). A cikk szövegében mindenhol az eredetik az olyan kifejezések, amelyek kizárják a kétértelműséget.

Certified OS RV.

Ha úgy véli, hogy szigorú szabályokat követel meg, amelyek azt kérik, hogy a tanúsított OS RV-re vonatkozó adatokat közzé kell tenni a hivatalos nyilvántartásban, és a tesztet szinten végezték megfelelésJelenleg csak két tanúsított OS RV van (az adatok időrendi sorrendben vannak megadva):

- Lynxos v.3. (A Lynx Real-Time Systems, amelyet most Lynxworks, Inc., www.lynuxworks.com) neveznek, a kemény valós idejű gyártók, a teljes és távközlési berendezések gyártói által működő beépített rendszerek fejlesztésére szolgál, Különösen a katonai használat fedélzeti rendszereinek gyártói. A fejlesztés elvégezhető mind a célrendszeren (önkészült) és a szerszámgépen (Host), amely készen áll a célrendszerre (cél). A Lynxos V.3 konzisztenciájára hitelesített (Megfelelőség)pOSIX szabvány az Intel és a PowerPC platformon. Információ erről az IEEE honlapján található http://standards.ieeeee.org/regauth/posix/posix2.html.lynxos által tanúsított POSIX 1003.1-1996 A Mindcraft, amely az IEEE POSIX akkreditált POSIX tesztelő laboratórium a NIST FIPS számára 151 teszteli 2 megfelelőségi tesztcsomagot. Dokumentumszám igazolja a tanúsítványt: Referenciafájl: IP-2LEX002, hivatkozási fájl: IP-2LEX001.

- Integrity v.5 (A Green Hills szoftver, a www.ghs.com) terméke a következetességgel rendelkezik (Megfelelőség) A POSIX 1003.1-2003, a rendszer interfészei a PowerPC architektúrához 2004 júliusában (http://get.posixcertified.iee.org/select_product.tpl). VSX-PCTS 2003 tesztek készlete.

POSIX és QNX operációs rendszer

QNX v.4.20(Fejlesztő - cég QNX Software Systems, www.qnx.com) A megfeleléshez igazolt (Megfelelés) POSIX 1003.1-1988 A platformhoz Intel Company Adatfokusz beépített. A tesztelést 1993. szeptember 13-án végezték, a dokumentum kibocsátásának időpontját - 1993. november 1-én. Vizsgálatok száma NIST PCTS 151-1, 1.1 verzió.

QNX Neutrino (6.3-as verzió) megfelel (megfelel a POSIX család következő szabványainak (www.qnx.com/download/download/8660/portability.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).

A QNX szoftverrendszerek, a QNX neutrino alkotója is azt tervezi, hogy ilyen szabványoknak megfelelően igazolja (megfelel) qnx neutrino; A munkák 2005-re vannak ütemezve (www.qnx.com/news/pr_959_1.html).

Irodalom

1. Az IEEE szabványügyi kikapcsolási műveleti kézikönyv. IEEE, 2004. október.

2. Kevin M. Obeland.. POSIX valós idejű, beágyazott rendszerek programozásában, 2001.

3. IEEE / ANSI Standard 1003.1: Informatika - (POSIX) - PART1: Rendszeralkalmazás: Program interfész (API).

4. Gallmeister B. O. Programozás a valós világ, POSIX.4 Sebastopol, CA: O'Reilly & Associates, 1995.

5. Nemzeti Szabványügyi és Technológiai Intézet, PCTS: 151-2, POSIX TEST SUCITE.

6. POSIX: az IEEE és a nyitott csoport által tanúsított. Tanúsított politika. A nyílt csoport, 2003. október 21., felülvizsgálat 1.1.

Szoftver) - Kivételes jelentőségű és összetett feladat; Napjainkban ez a körülmény alig van szükség kiterjedt indokokra. Az egyik általánosan elfogadott módja a szoftver mobilitásának növelésére szolgál az alkalmazások környezetének szabványosítása: programozási interfészek, segédprogramok stb. Szinten rendszerszolgáltatások Hasonló környezet leírja a POSIX szabványt (hordozható operációs rendszer interfész - mobil operációs rendszer interfész); A nevet egy jól ismert szakember javasolja, a Richard Tornen ingyenes szoftveralapítvány alapítója.

Figyelembe vesszük a 2003-ig módosított POSIX szabvány legmodernebb elérhető verzióit, amelyek "standard háromszorosnak" nevezhetők, nevezetesen: IEEE STD 1003.1 szabvány, Műszaki szabvány Nyissa meg a csoportot és (lásd [6]), amely a legfontosabb számunkra, a nemzetközi ISO / IEC 9945 szabvány (lásd [1], [2], [3], [4]].

A változat létrehozásának története ilyen. 1998 elején a képviselői három szervezet - a bizottság Mobile Application Standards Institute of Electrical Engineering Mérnöki és Elektronikai Intézet Open Group és munkacsoportja 15 Albizottság 22 vegyesbizottság 1 (JTC1 / SC22 / WG15), a Nemzetközi Szabványügyi Szervezet - kezdte konzultáció egyesülés és a fejlesztési interfész szabványok által felügyelt azokat rendszer szolgáltatás: IEEE STD 1003,1, IEEE STD 1003.2, az alapvető előírásokat Open Group, az ISO / IEC 9945-1, ISO / IEC 9945-2. Ugyanebben az évben az Austin városában, Texasban, a cél eléréséhez képzett csoport szervezeti találkozója (lásd: http://www.opengroup.org/austin) az IBM irodában történt.

Az alapvető dokumentum a felülvizsgált standard, az első projekt, amelyet be 1999 júliusában volt az alapvető előírások az Open Group, hiszen benne rendelkezéseinek IEEE és az ISO / IEC szabványoknak. 2001-ben az előkészítő munka befejezése után a szabvány a következő négy részből állt:

  1. fő fogalommeghatározások (feltételek, fogalmak és interfészek, amelyek az összes részre közösek);
  2. leírás alkalmazás C-interfész rendszerszolgáltatásokhoz;
  3. az interfész leírása a rendszerszolgáltatásokhoz a szinten parancsnoki nyelv és szolgáltatási programok ;
  4. a szabványos rendelkezések részletes magyarázata, a meghozott döntések iránti igazolása.

Az ISO, az IEEE és a nyílt csoportban nagyobb vagy kisebb sebességgel (2001-2002-ben) az új POSIX szabvány hivatalos jóváhagyása telt el. Időközben viszonylag kisebb korrekciókat halmoztak fel, figyelembe vették a 2003. évben.

A szabvány kialakításával a "POSIX" kifejezés értelmezése bővült. Kezdetben az IEEE STD 1003.1-1988-ra hivatkozott, leírta alkalmazási program interfész OS osztály UNIX. Miután szabványosította a kezelőfelületet a parancsnyelvi szinten és a szervizprogramokon, a "POSIX" szabvány szerint jobban érthető, a fent felsorolt \u200b\u200b2. és 3. részt jelölve a POSIX .1 és a POSIX .2 IEEE és ISO / IEC dokumentumok.

A POSIX szabvány főbb elképzelései

A POSIX szabvány számos alapvető, rendszerszolgáltatást ír le az alkalmazások működéséhez. A hozzájuk való hozzáférést a C, parancs nyelv és közös szolgáltatási programokhoz megadott felület biztosítja.

Minden interfésznek két oldala van: okozza és hívják. A POSIX szabvány elsősorban a híváshoz igazodik. Célja az alkalmazások készítése mobil a forrásnyelvi szinten. Ez különösen azt jelenti, hogy a C-programok egy másik működési platformra történő átvitele során az újrafelvizsgálatra lesz szükség. A végrehajtható programok és / vagy objektumfájlok mobilitásáról nem számít.

A POSIX szabvány nem korlátozódik a UNIX környezeti keretre. Vannak operációs rendszerek (OS) "független eredet" (például, valós idejű rendszerek), A szükséges szolgáltatások nyújtása, és ezáltal támogatja a POSIX-alkalmazások végrehajtását. Azt állíthatjuk, hogy a POSIX szabvány követése megkönnyíti az alkalmazások továbbítását szinte bármilyen közös működési platformra. A fejlesztési szakasz során csatolt mobilitás javítására irányuló további erőfeszítések biztosan kifizetik.

A rendszerszolgáltatásokhoz való interfész meghatározása, a POSIX elhagyja a végrehajtás kereteit. Különösen nem különböztetünk meg rendszerhívások és könyvtári funkciók. Nem a szabványosítási eszköz tárgya adminisztráció, A hardver korlátozások és funkciók csak szükségesek szuper utódMi ismét hangsúlyozza a szabvány fókuszát

Ma megpróbáljuk megtudni, hogy mi a POSIX szabvány. A szabványok célja annak biztosítása, hogy a számítógépem kölcsönhatásba léphessen a sajátoddal. Köszönjük nekik, két hasonló weblap számítógépen vagy a valós időben sugárzott videó egyformán megjelenik.

A szabvány azonban nagyobb feladatokra szól, mint a felhasználók közötti adatok egyszerű cseréje. Egyes szabványok határozzák meg egy különleges modell, amelynek köszönhetően jellemzői, amelyek jelentősen jobbak értékük kompatibilitását fájlokat vagy hálózatok. A POSIX szabvány a számukra utal.

Mi a POSIX?

POSIX (kimondott "Posiks") hordozható operációs rendszer interfész. De mit jelent ez? Először is meg kell jelölnie a "hordozhatóság" fogalmának területét, ebben konkrét esetés döntse el a "interfész" fogalmát. Ennek megtudja, hogy el kell hagynia, hogy mindkét fogalom elválaszthatatlanul kapcsolódik.

A "hordozhatóság", a POSIX szabvány összefüggésében hivatkozik forráskód (Nem a bináris, akiket ezekből a nagyon forrásokból gyűjtenek). Most megtudja, mi az "interfész". A programozás során az "interfész" a kóddal a kód többi részével való kölcsönhatása. Az interfész várja a kódextől származó konkrét információk biztosítását. A kódot viszont magában foglalja bizonyos információk megszerzését az interfészről. Jó példa - Fopen () funkció az SI-ben. Két részből származó információt vár: a fájl elérési útja és az üzemmód, amelyben megnyílik. Ezen adatok felhasználásával az operációs rendszer egy másik "fájlleíró" nevű információkat ad vissza. A fájlfogantyú használható a fájl elolvasására, vagy írható a fájlra. Ez az interfész. Mindezekből következik, hogy a POSIX-kompatibilis kód bármely POSIX-kompatibilis operációs rendszerrel összeállítható, jelentős változások nélkül, ami azt jelenti, hogy hordozható lesz.

A POSIX szabványhoz kapcsolódó interfészek listája azonban még annak ellenére is, hogy hatalmas hosszúságú, lehetséges, hogy hiányos. A POSIX nem korlátozódik a rendszer kihívásaira, hanem az operációs rendszerek héjakra is meghatározza (polcok, egyébként - interfészek) parancs sor), a rendszer segédprogramok, például az "Awk" vagy az "Echo", a rendszerkönyvtárak és sok más dolog.

A POSIX szabvány 1985-ben Richard Pokalman projekt formájában jelent meg, és az IEEE STD 1003.-1998-ban díszített. Amint az a névből látható, 1998 volt a hivatalos kiadvány éve. Azóta számos kiegészítések és bővítmények POSIX már megjelent, amely fokozatosan alakul egész család a szabványok, hivatalos nevén IEEE 1003, elismert nemzetközi, kijelölésével SO / IEC 9945, hívták a POSIX Családi szabvány.

Az operációs rendszer egyáltalán nem szükséges POSIX-kompatibilis vagy még inkább, így POSIX tanúsítvánnyal rendelkezik, de lehetővé teszi a fejlesztők számára, hogy alkalmazások, eszközök és platformok létrehozása, újraírása nélkül, de csak kiegészíti és csatlakozzon a készenléthez -Befejez. Nem szükséges POSIX-kompatibilis kód írása egyáltalán, de ez jelentősen javítja az operációs rendszerek közötti projektek hordozhatóságát. Ez azt jelenti, hogy a POSIX szabványsal kompatibilis kód írása önmagában értékes, és természetesen nagyon hasznos a karrier számára. Nagy projektek, mint például a GNOME vagy KDE, tartsák be a POSIX szabvány, amely garantálja a munkájukat a különböző operációs rendszereken. A POSIX alrendszert még akkor is végrehajtják legutóbbi kérdések Ablakok. Linux, mint tudja, támogatja a POSIX szabványhoz kapcsolódó rendszerhívások nagy részét, valamint a nagy kiterjesztést, amelyet a "Standard Linux Base" neveznek, amelyet a Linux-eloszlások kombinálására terveztek a forráskód és a bináris adatok támogatása szempontjából .

Remélem, hogy megvilágítjuk a fényt a "Mi a POSIX" kérdésre. Érdekes információkat tartalmaz a témáról? Kérjük, ossza meg a megjegyzésekben.

POSIX ÉS OS RV: Kísérlet a rendszerezésre

Sergey Zolotarev, Nikolai Gorbunov

E cikk célja, hogy megpróbáljon egyértelművé tenni a POSIX szabvány fejlesztési előzményeit a valós idejű operációs rendszerek (OS RV) tekintetében.

Bevezetésként: Miért van szükség egy programozási felület szabványosítására?

A POSIX szabvány egyik legfontosabb tulajdonsága az, hogy meghatározza a "szabványosított programozási felületet", amelyet a komplex szoftverek és hardverrendszerek fejlesztőinek be kell tartaniuk a fejlesztőknek. Ezeknek a rendszereknek az alkotói arra kényszerülnek, hogy az ilyen követelmények rövid idő alatt legyenek a piacra (merev verseny miatt), minimalizálják a költségek és a befektetési megtérülések felgyorsítását. Ugyanakkor az oroszlán részesedése a fejlesztési folyamat lelassulása által okozott költségek miatt az a tény, hogy a programozóknak meg kell "feltalálniuk egy kerékpárt", ismét és újra megvalósítani a funkcionalitást, amely már régóta elérhető. De ez elkerülhető:

  • újrafelhasználás kódja a múltbeli és párhuzamos projektekből;
  • a kód átvitele más operációs rendszerből;
  • a fejlesztők vonzása más projektekből (beleértve az egyéb operációs rendszert is).

Mindez lehetséges az operációs rendszer szabványosított API használatával. Ráadásul, ha az első esetben a szervezet elég ahhoz, hogy egy bizonyos belső standard (amely különösen a márkás OS-re jellemző), akkor a második két eset csak az általánosan elfogadott szabványok rendelkezésre állását igényli - például POSIX.

Így a POSIX-kompatibilis operációs rendszerek platformként történő felhasználásával a fejlesztő képes a forráskód szintjén átadni a forráskód szintjét a múltbeli vagy párhuzamos projektjeitől és a harmadik féltől származó projektektől. Ez nem csak jelentősen csökkenti a szoftverfejlesztés időzítését, hanem javítja annak minőségét is, mivel a bizonyított kód mindig kevesebb hibát tartalmaz.

Ki az, aki a POSIX fejlesztésében

És kezdjük el a nagyon szabványos POSIX-et, de a szervezetben részt vevő szervezetek szerepének elrendeléséhez.

Az első résztvevő IEEE. IEEE Intézet Villanyszerelő Mérnökök és elektronika), Közhasznú Egyesület szakembereknek. Az IEEE 1884 óta vezeti a történelmét (hivatalosan - 1963 óta), ötvözi a 380 000 egyes tag 150 országból, közzéteszi a technikai szakirodalom harmadik részét a számítógépek, a menedzsment, az elektromos és információs technológiák, valamint több mint 100 magazin használatával kapcsolatban, népszerű a szakemberek környezetében; Ezenkívül az egyesület évente több mint 300 fő konferenciát tartalmaz. IEEE részt vett a több mint 900 meglévő szabvány (www.ieee.ru/ieeeee.htm) fejlesztésében. Ma ez az intézet elkészíti, jóváhagyja, jóváhagyja, közzétételi szabványokat, de formális státusában nem rendelkezik hatáskörrel az ilyen dokumentumok nemzetközi vagy nemzeti szabványok elfogadására. Ezért az IEEE megértésének "standard" kifejezést inkább "specifikációnak" kell értelmezni, ami jobban felelős az egyesület által hozott dokumentumok státuszaért. Az IEEE-vel összhangban részt vesznek számos nemzetközi és regionális szervezet programjában - az IEC, az ISO, az ITU (az Európai Távközlési Standard Standard Intézet az Elektrotechnikai Standard-i programok) és a nemzeti programok, például egy olyan szervezet programja, mint az Ansi.

Az IEEE magában foglalja a PASC (Hordozható Alkalmazásvédelmi Szabványügyi Bizottságot) - Szövetségi Bizottság, amely a szabványok POSIX (www.pasc.org/) fejlesztését fejleszti. Korábban a PASCC a Műveletek Műszaki Bizottságának ismert.

A második munka második résztvevője - ANSI. (Amerikai Nemzeti Szabványügyi Intézet, Amerikai Nemzeti Szabványügyi Intézet) - magán nonprofit szervezet, amely a szabványosítási kérdésekben az Egyesült Államokban kezeli és koordinálja az Egyesült Államokban. Csak 75 embert foglalkoztat, de az ANSI tagjai több mint 1000 vállalat, szervezet, kormányzati szerv és intézmény (www.ansi.org). ANSI képviseli az Egyesült Államokat két fő nemzetközi szervezetben a szabványosításhoz - ISO és IEC.

Harmadik résztvevő - ISO. Nemzetközi szabványosítási szervezet, nemzetközi szabványosítási szervezet). 1946-ban hozták létre a szabványok összehangolási bizottságának és az ENSZ Közgyűlésének, és hivatalosan 1947. február 23-án (www.iso.org). Az ISO 146 országból származó nemzeti szabványosítási intézmények hálózata (egy ország egy ISO tag) Genf központi titkárságával (Svájc). Az ISO szabványokat a műszaki bizottságokban fejlesztették ki, amelynek első eredménye a nemzetközi szabványos dokumentum (DIS) tervezete, a végső nemzetközi szabvány (FDIS) számos illeszkedése után fordul elő. Ezután a dokumentum jóváhagyási kérdése szavazásra kerül; Pozitív eredmény, ez nemzetközi szabvány.

Végül, - IEC. Nemzetközi Elektrotechnikai Bizottság, Nemzetközi Electrochnikai Bizottság - IEC), 1906-ban alapított IEC, az IEC előkészíti és közzéteszi az összes elektromos, elektronikus és kapcsolódó technológiához (www.iec.ch/) számára. 2004. november 1-jétől a 64 ország nemzeti bizottságai voltak a Bizottság érvényes tagjai. Az IEC közzéteszi az angol és a francia nyelven megjelenő ajánlásokat is, és elvégzi a nemzetközi szabványok állapotát. Regionális és nemzeti szabványokon alapulnak. A műszaki bizottságok (TC) felelősek a szabványok előkészítéséért az IEC-tevékenységek különböző területein, és részt vesznek a TC tevékenységeiben érdekelt nemzeti bizottságok is.

Az IEC kulcsfontosságú szervezet az információs technológia nemzetközi szabványainak előkészítésében. Ez a terület közös technikai bizottsággal rendelkezik - az IEC és az ISO közötti megállapodással összhangban 1987-ben alakult az informatika - JTC 1. A JTC1 17 albizottsággal rendelkezik, akik felügyelik az összes fejlesztést - a szoftvertől a programozási nyelvekre, a számítógépes grafikákra és szerkesztésére, a berendezések és a biztonsági módszerek összekapcsolására.

Az új IEC szabványok előkészítése több szakaszot tartalmaz (előzetes, ellátási szakasz, előkészítő, a műszaki bizottság, a kérelem szakasza, a jóváhagyás, a közzététel). Ha azt tervezzük, hogy az IEC-dokumentum csak technikai specifikáció lesz, és nem nemzetközi szabvány, a dokumentum felülvizsgált változata a Központi Hivatalnak küldendő. A nemzetközi szabvány (FDIS) végleges projektjének fejlesztése érdekében négy hónapot adunk meg. Ha a Technikai Bizottság valamennyi tagja jóváhagyásra kerül, akkor az FDIS jóváhagyási szakasza nélkül közzéteszi a Központi Hivatalt. Ezután az FDIS két hónapon belül jóváhagyja a nemzeti bizottságokat. Az FDIS-t jóváhagyottnak tekintik, ha a nemzeti bizottságok több mint kétharmada szavazott neki, és a negatív szavazások száma nem haladja meg a 25% -ot. Ha a dokumentumot nem hagyta jóvá, elküldjük a technikai bizottságok és albizottságok felülvizsgálatára. A szabványt legkésőbb két hónappal az FDIS jóváhagyása után kell közzétenni.

Néhány több szervezet kapcsolódik a POSIX szabványok kidolgozásához és elfogadásához.

Nyílt csoport. - Nemzetközi szoftver-szabványosítási szervezet, amely közel 200 gyártót és felhasználói közösséget hoz létre az információs technológia területén (www.opengroup.org/). A nyitott csoportot 1995-ben hozták létre a két előd elődek egyesítésével: x / nyitott és nyílt szoftveralapítvány (OSF). A Nyílt Csoport szakosodott a szoftver tanúsítási módszerek fejlesztésére és az egyes követelményeknek való megfelelésre vonatkozó tesztelésre. Különösen a nyitott csoport olyan területeken, mint például a COE platform, a CORBA, az LDAP, a Linux Standard Base, az iskolák kölcsönös átjárhatósági keretei (SIF), S / MIME átjáró, egyetlen Unix specifikáció, vezeték nélküli alkalmazás protokoll specifikáció (WAP) és végül POSIX család szabványok (www.opengroup.org/certification/).

Austin Common Standard Revision Group (CSRG) - A 2002-es ISO, az IEC és a nyitott csoportban létrehozott United Műszaki Munkacsoport az ISO / IEC 9945-1-1996, IEE / IEC 9945-2-1993 alapú 1003.1, az ISE / IEC 9945-2-1993 alapján alakul ki. , IEEE STD 1003.1-1996, IEEE STD 1003.2-1992 és egyetlen Unix specifikáció (www.opengroup.org/press/14nov02.htm).

Nemzeti Szabványügyi és Technológiai Intézet (NIST) - A Szövetségi Ügynökség eleget tett a Kereskedelmi Minisztérium Technológiai adminisztrációjával (www.nist.gov/public_affairs/general2.htm), amelyet 1901-ben alapítottak. A NIST feladata a szabványok és technológiák fejlesztése és propagandaja a termékminőség javítása érdekében. A NIST tartalmaz egy informatikai laboratóriumot (ITL), a szövetségi információs szabványok (szövetségi információs szabványok - FIPS, www.opengroup.org/testing/fips/general_info.html). NIST / ITL 1991-ben felajánlotta a POSIX tanúsítás kezdeti tesztje a FIPS Pub 151-1 1990 alatt.

Mi a POSIX?

Formálisan POSIX. Richard Stallman (Richard Stallman) által javasolt rövidítés P.ortable. O.elzárás S.az ENSZ igstéri felülete Ix (Az UNIX operációs rendszerek hordozható felülete). A POSIX-t az UNIX-szerű operációs rendszerekhez fejlesztették ki (az első verziók az 1970-es évek elejétől számítanak) annak érdekében, hogy biztosítsák az alkalmazások hordozhatóságát a forráskód szintjén.

Az interfész kezdeti leírását 1986-ban tették közzé, majd IEEE-IX (IEEE "s unix verziója). Azonban a név gyorsan megváltozott, POSIX-be vált, és ezt az új verziót a következő kiadványban használták fel (1986-ban). Egy ideig POSIX alatt a hivatkozás (vagy szinonimáj) az IEEE 1003.1-1988 kapcsolódó dokumentumok és az ISE / IEC 9945 részeként értendő, és teljes és jóváhagyott nemzetközi ISO / IEC szabvány 9945.1 1990-es POSIX-t fogadtak el 1990-ben. A POSIX specifikációk meghatározzák az alkalmazási program és az operációs rendszer közötti kölcsönhatás szabványos mechanizmust, és jelenleg több mint 30 szabványt tartalmaznak az IEEE, az ISO, az IEC és az ANSI égisze alatt.

A történelem során a POSIX nagyszerűen telt el, míg sokszor megváltoztatta a specifikációk megjelölését, azok sajátos tartalmait, eljárásait és logisztikájukat. Az elmúlt időben a POSIX szabvány számos kiadását különböző nemzetközi szervezetekben adták ki.

POSIX szabványos fejlesztési előzmények

Az IEEE STD 1003.1 specifikáció első verziója 1988-ban jelent meg. Ezt követően az IEEE STD 1003.1 számos kiadását nemzetközi szabványként fogadták el.

POSIX fejlesztési szakaszok:

1990

Az 1988-ban kiadott szerkesztői hivatal újrahasznosult, és a további szerkesztők és kiegészítések alapjává vált. Ezt nemzetközi ISO / IEC 9945-1: 1990 szabványként hagyták jóvá.

1993

A 1003.1B-1993 szerkesztői hivatal jön.

1996

IEEE STD 1003.1B-1993, IEEE STD 1003.1C.1C-1995 és 1003.1I-1995, de a dokumentum fő része változatlan maradt. 1996-ban az IEEE STD 1003.1 kiadását nemzetközi ISO / IEC 9945-1: 1996 nemzetközi szabványként is jóváhagyták.

1998

Van egy első szabvány a "valós idejű" - IEEE STD 1003.13-1998. Ez a POSIX szabvány bővítése a beágyazott valós idejű alkalmazásokhoz.

1999

Úgy döntöttek, hogy az elmúlt 10 évben jelentős változásokat hajt végre az elmúlt 10 évben, beleértve az Uniót a 1003.2 (héj és segédprogramok), mivel az idő alatt külön normák volt. A PASC úgy döntött, hogy befejezte az alapszöveg megváltoztatását az IEEE 1003.1A, 1003.1D, 1003.1G, 1003.1J, 1003.1Q és 1003.2B szabványok befejezése után.

2004

Legkésőbb ma az 1003.1 szerkesztőbizottság április 30-án jelent meg, és az Austin Common Standard felülvizsgálati csoport égisze alatt jelent meg. A 2001. évi szerkesztőigazgatótól függően változott. Formálisan a 2004-es szerkesztői hivatal az IEEE STD 1003.1, 2004 Edition, a Nyílt Csoport műszaki szabvány szerinti alapelvei, a 6. kiadás és az IEEE STD 1003.1-2001, IEEE STD 1003.1-2001 / COR 1-2002 és IEEE STD 1003.1-2001 / COR 2-2004.

A POSIX legfontosabb szabványai az RV OS számára

A valós idejű operációs rendszerekhez hét standard specifikáció a legfontosabb (1003.1a, 1003.1J, 1003.1C, 1003.1D, 1003.1J, 1003.21), de csak három széles körben támogatott a kereskedelmi operációs rendszerben:

  • 1003.1a (OS Definíció) Megadja az operációs rendszer, a munkakezelés, a jelek, a fájlrendszer funkciók és eszközök, felhasználói csoportok, szállítószalagok, FIFO pufferek alapvető interfészeit;
  • 1003.1b (valós idejű bővítmények) A valós idejű kiterjesztéseket, például a valós idejű jelátvitelt, az elsőbbségi diszpécsert, az időzítőket, a szinkron és aszinkron bemenetet, a szemapáiakat, a megosztott memóriát, az üzeneteket írja le. Kezdetben (1993-ig) ezt a szabványt POSIX.4-nek nevezték el.
  • 1003.1c (szálak) Meghatározza a Stream Támogatási funkciókat (szálak) - áramlásszabályozás, stream attribútumok, mutexek, küldemény. Eredetileg POSIX.4A-ként jelölték meg.

Ezen szabványok mellett a következő szabványok fontosak az RV számára, amelyeket az STD projekt részeként hajtottak végre 1003.1-2001:

  • IEEE 1003.1D-1999. A valós idejű további bővítések. Kezdetben POSIX.4B-nek nevezték;
  • IEEE 1003.1J-2000. Javított (fejlett) valós idejű bővítés;
  • IEEE 1003.1Q-2000. Nyomon követés.

Tanúsítási eljárás

A POSIX szabványnak való megfelelés érdekében az operációs rendszert a megfelelő tesztkészlet eredményei szerint kell tanúsítani. A POSIX megjelenése óta a tesztkészlet formális és tényleges változásokon ment keresztül.

1991-ben a NIST kifejlesztett egy POSIX tesztprogramot a FIPS 151-1 (http://standards.ieee.org/regauth/posix/posix-a.fm5.pdf) belül. Ez a tesztelési lehetőség az IEEE 1003,3 "szabványon alapult a POSIX-hoz való megfelelés mérésére szolgáló vizsgálati módszerekhez." 1989. május 10., 1993. május 3-án. 1993-ban a NIST 151-1-es tesztprogramból végzett, és 151 -2 (www.itl.nist.gov/fipspubs/fip151-2.htm). FIPS 151-2 igazítani "Information Technology - hordozható operációs rendszer interfész (POSIX) - 1. rész: System Application Program Interface (API)," Az ISO / IEC 9945-1: 1990 szabvány. A 151-2-es FIP-k tesztkészletei az IEEE 2003.1-1992 "szabványon alapultak a POSIX-hoz való megfelelés mérésére szolgáló vizsgálati módszerekhez".

A NIST megkülönbözteti a két tanúsítási módszert: önbizalmat (önkigazolás) és az IEEE tesztlaboratóriumokban akkreditált tanúsítás (akkreditált POSIX teszt laboratóriumok - APTL). Az első esetben a vállalat önállóan vizsgálja a tesztelést, de a NIST-ben jóváhagyott terv szerint. A második esetben a tesztelést egy önálló laboratórium végzi automatizált tesztkészletekkel. Két APTL laboratórium akkreditált: Mindcraft (www.mindcraft.com) és évelő (www.peren.com).

1997-ben a NIST / ITL bejelentette azon szándékát, hogy a jelenlegi év végén (hivatalosan - 1997. december 31-én) a FIPS-hez (1997. december 31-én) a FIPS-es tanúsítást megszüntesse, ugyanakkor a nyílt csoport bejelentette, hogy október 1-jén fog venni A tanúsítási szolgáltatás éve a FIPS 151-2 szabványnak megfelelően, a NIST / ITL program alapján. Ugyanezek a funkciók 1998. január 1-jétől az IEEE szabványügyi szövetség (IEEE-SA), valamint a 151-2-es FIP-k alapján is feltételezték.

2003-ban, az IEEE-SA és az Open Group bejelentette a kezdete egy új közös program a minősítésére utolsó változatát POSIX kiindulva IEEE 1003,1 ™ 2001 jelenleg az Open Group számos vizsgálatokat, hogy fedél IEEE STD 1.003,1-1.996, IEEE STD 1003.2-1992, IEEE STD 1003.1-2003 és IEEE STD 1003.13-1998 (www.opengroup.org/testing/testsuites/posix.html). A terméket a POSIX tanúsítvánnyal kell tekinteni, ha a teljes tanúsítási eljárás során a vizsgálati eredmények szerint teljesíti az összes bemutatott követelményt, és szerepel a tanúsított termékek hivatalos nyilvántartásában.

A tesztkészletek a következők:

  • VSX-PCTS1990 (www.opengroup.org/testing/testsuites/vsxpcts1990.htm) - A rendszer interfészeinek megfelelőségi tesztjei IEEE STD 1003.1-1990;
  • VSPSE54 (www.opengroup.org/testing/testsuites/vspse54.htm) - Az IEEE STD 1003.13-1998 profilja PSE54 (többcélú valós idejű).
  • VSX-PCTS2003 (www.opengroup.org/testing/testsuites/vsxpcts2003.htm) - Az IEEE STD rendszer interfészeinek megfelelő mérési tesztek száma 1003.1-2003 (csak kötelező részek);
  • VSC-PCTS2003 (www.opengroup.org/testing/testsuites/vscppcts2003.htm) - Az IEEE STD 1003.1-2003 (Shell and Utilities - csak kötelező részei) megfelelőségi tesztek.

Ezenkívül a Open Group a POSIX valós idejű szabványok és a beágyazott POSIX szabványok profiljának tesztelését fejezte ki. A POSIX REALTIME (www.opengroup.org/testing/testsuites/realtime.html) tesztje a következő teszteket tartalmazza:

  • IEEE POSIX 1003.1B-1993 / 1003.1I-1995 valós idejű kiterjesztés és IEEE POSIX 1003.1 2003 kiadás;
  • IEEE STD POSIX 1003.1C-1995 szálak (pthreads) kiterjesztés és IEEE POSIX 1003.1 2003 kiadás;
  • IEEE POSIX 1003.1D-1999 További valós idejű kiterjesztés és IEEE POSIX 1003.1 2003 kiadás;
  • IEEE POSIX 1003.1J-2000 Advanced RealTim Extension és IEEE POSIX 1003.1 2003 kiadás;
  • IEEE POSIX 1003.1Q-2000 Trace és IEEE POSIX 1003.1 2003 Edition és IEEE POSIX 1003.1 2003 kiadás;

Beágyazott POSIX szabványok Profil tesztek (www.opengroup.org/testing/testsuites/embedded.html) A következő teszteket tartalmazza:

  • IEEE POSIX 1003.1-1990 (5310 teszt);
  • IEEE POSIX 1003.1B-1993 / 1003.1I-1995 valós idejű kiterjesztés (1430 teszt);
  • IEEE STD POSIX 1003.1C-1995 szálak (pthreads) kiterjesztés (1232 teszt);
  • IEEE POSIX 1003.13-1998 profil 52.

Egy kicsit a terminológia zavartságáról

Az angol nyelvű szabványok csoportjával kapcsolatban nem, nem pedig egy, hanem három kifejezéssel. Sajnos hasonló értékűek, és gyakran ugyanúgy lefordulnak, ami bizonyos zavart okoz. Ezek a feltételek:

  • kompatibilitás (szó szerint "kompatibilitás");
  • megfelelés (szó szerint "megfelelés");
  • sonformance (szó szerint "konzisztencia").

A POSIX-ra alkalmazott első kifejezés nem hivatalosan definiálható. A második azt jelenti, hogy a szervezet olyan szoftvergyártó, amely önállóan kijelenti, hogy ez a termék (teljes mértékben vagy részben) megfelel a következő NIST-PCTS szabványoknak. A harmadik kifejezés azt jelenti, hogy a szoftver termék átadta a beállított vizsgálati rendszert, vagy akkreditált laboratóriumot vagy a nyílt csoporton belül, és ez dokumentált megerősítéssel rendelkezik (az úgynevezett megfelelőségi nyilatkozat). A cikk szövegében mindenhol az eredetik az olyan kifejezések, amelyek kizárják a kétértelműséget.

Certified OS RV.

Ha úgy véli, hogy szigorú szabályokat követel meg, amelyek azt kérik, hogy a hitelesített operációs rendszerre vonatkozó adatokat közzé kell tenni a hivatalos nyilvántartásban és a tesztelés során a megfelelőség szempontjából, most csak két tanúsított OS RV van (az adatok időrendi sorrendben vannak megadva):

Lynxos v.3. (A Lynx Real-Time Systems, amelyet most Lynxworks, Inc., www.lynuxworks.com) neveznek, a kemény valós idejű gyártók, a teljes és távközlési berendezések gyártói által működő beépített rendszerek fejlesztésére szolgál, Különösen a katonai használat fedélzeti rendszereinek gyártói. A fejlesztés elvégezhető mind a célrendszeren (önkészült) és a szerszámgépen (Host), amely készen áll a célrendszerre (cél). A Lynxos V.3 az Intel és a PowerPC platformon konzisztencia (megfelelőség) POSIX szabvány tanúsítása. Ez az információ megtalálható az IEEE honlapján http://standards.ieeee.org/regauth/posix/posix2.html. A Lynxos-t a POSIX 1003.1-1996 tanúsítja a Mindcraft, amely az IEEE POSIX akkreditált POSIX tesztelő laboratóriuma a NIST FIPS 151-2 megfelelőségi tesztcsomagvizsgálatához. Dokumentumszám igazolja a tanúsítványt: Referenciafájl: IP-2LEX002, hivatkozási fájl: IP-2LEX001.

Integrity v.5 (A Company Green Hills szoftver, www.ghs.com) terméke a POSIX 1003.1-2003., A POWERPC architektúra rendszer interfészei által tanúsított 2004 júliusa SELECT_PRODUCT. TPL). VSX-PCTS 2003 tesztek készlete.

POSIX és QNX operációs rendszer

QNX V.4.20 (Fejlesztő - határozott QNX szoftverrendszerek, www.qnx.com) A POSIX 1003.1-1988 által az Intel Platform által az Intel Platform által beépített Intel platformhoz igazolt. A tesztelést 1993. szeptember 13-án végezték, a dokumentum kibocsátásának időpontját - 1993. november 1-én. Vizsgálatok száma NIST PCTS 151-1, 1.1 verzió.

QNX Neutrino (6.3-as verzió) megfelel (megfelel a POSIX család következő szabványainak (www.qnx.com/download/download/8660/portability.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).

A QNX szoftverrendszerek, a QNX neutrino alkotója is azt tervezi, hogy ilyen szabványoknak megfelelően igazolja (megfelel) qnx neutrino; A munkák 2005-re vannak ütemezve (www.qnx.com/news/pr_959_1.html).

Irodalom

  1. IEEE Szabványügyi Szövetség kezelési útmutató. IEEE, 2004. október.
  2. Kevin M. Obeland. POSIX valós idejű, beágyazott rendszerek programozásában, 2001.
  3. IEEE / ANSI szabvány 1003.1: Informatika - (POSIX) - 1. rész: Rendszeralkalmazás: programfelület (API).
  4. Gallmeister, B. O. A valós világ programozása, POSIX.4 Sebastopol, CA: O'Reilly & Associates, 1995.
  5. Nemzeti Szabványügyi és Technológiai Intézet, PCTS: 151-2, POSIX TEST SUITE.
  6. POSIX: az IEEE és a nyitott csoport által tanúsított. Tanúsított politika. A nyílt csoport, 2003. október 21., felülvizsgálat 1.1.