posix rendszerek. Fájlhierarchia a POSIX rendszerekben

posix rendszerek. Fájlhierarchia a POSIX rendszerekben

POSIX és RTOS: rendszerezési kísérlet

Szergej Zolotarev, Nyikolaj Gorbunov

Ennek a cikknek a célja, hogy némi világosságot hozzon a POSIX szabvány valós idejű operációs rendszerekkel (RTOS) kapcsolatos fejlődéstörténetébe.

Bevezetésként: miért kell szabványosítani az API-t?

A POSIX szabvány egyik legfontosabb tulajdonsága, hogy meghatároz egy "szabványosított programozási felületet", amelyet a komplex hardver- és szoftverrendszerek fejlesztőinek be kell tartaniuk. E rendszerek készítői olyan követelményekkel kénytelenek szembenézni, mint a rövid piacra kerülési idő (a kiélezett verseny miatt), a költségek minimalizálása és a befektetések megtérülésének gyorsítása. A fejlesztési folyamat lassulásából adódó költségek oroszlánrésze ugyanakkor abból adódik, hogy a programozóknak „újra kell találniuk a kereket”, újra és újra megvalósítva a régóta elérhető funkcionalitást. De ez elkerülhető lett volna:

  • korábbi és párhuzamos projektekből származó kódok újrafelhasználása;
  • kód portolása más operációs rendszerekről;
  • fejlesztők bevonása más projektekből (beleértve a más operációs rendszereket használókat is).

Mindez egy szabványos API-val rendelkező operációs rendszer használatának köszönhetően lehetséges. Ezenkívül, ha az első esetben elegendő egy szervezetnek egy bizonyos belső szabványa (ami különösen jellemző a védett operációs rendszerekre), akkor a második két esetben csak általánosan elismert szabványok - például POSIX - megléte szükséges.

Így a POSIX-kompatibilis operációs rendszert projektjeik platformjaként használva a fejlesztő lehetőséget kap a kész kód átvitelére a forrásszöveg szintjén mind a korábbi vagy párhuzamos projektekből, mind pedig a harmadik féltől származó projektekből. Ez nemcsak a szoftverfejlesztés idejét jelentősen csökkenti, hanem a minőségét is javítja, hiszen a tesztelt kód mindig kevesebb hibát tartalmaz.

Ki kicsoda a POSIX fejlesztésben

És nem magával a POSIX szabvánnyal kezdjük, hanem az azon dolgozó szervezetek szerepének racionalizálásával.

Az első tag az IEEE(Villamos- és Elektronikai Mérnöki Intézet, Villamos- és Elektronikai Mérnöki Intézet), szakmai közhasznú nonprofit egyesület. Az IEEE 1884-re nyúlik vissza (formálisan 1963), 380 000 egyéni tagot számlál 150 országból, a számítógépes alkalmazások, menedzsment, elektromos és információtechnológia szakirodalmának egyharmadát és több mint 100 folyóiratot ad ki, amelyek népszerűek a szakemberek körében; emellett az egyesület több mint 300 nagy konferenciát tart évente. Az IEEE több mint 900 létező szabvány kidolgozásában vett részt (www.ieee.ru/ieee.htm). Ez az intézet ma szabványok előkészítésével, koordinálásával, jóváhagyásával, közzétételével foglalkozik, de formai státuszából adódóan nem rendelkezik olyan dokumentumok átvételi jogkörével, mint a nemzetközi vagy nemzeti szabványok. Ezért az IEEE értelmezésében a „szabvány” kifejezést inkább „specifikációként” kell érteni, ami jobban megfelel a szövetség által elfogadott dokumentumok státuszának. Az IEEE-vel összhangban részt vesz számos nemzetközi és regionális szervezet - IEC, ISO, ITU (Nemzetközi Távközlési Unió), ETSI (Európai Távközlési Szabványügyi Intézet), CENELEC (Európai Elektrotechnikai Szabványügyi Bizottság) - programjaiban és nemzeti programokat, például egy olyan szervezet programjában, mint az ANSI.

Az IEEE magában foglalja a PASC-t (Portable Application Standards Committee), egy egyesületi bizottságot, amely a POSIX szabványcsaládot fejleszti (www.pasc.org/). Korábban a PASC Operációs Rendszerek Technikai Bizottsága néven volt ismert.

A munka második résztvevője - ANSI(American National Standards Institute, American National Standards Institute) egy non-profit magánszervezet, amely adminisztrálja és koordinálja a szabványosítási tevékenységeket az Egyesült Államokban. Mindössze 75 főt foglalkoztat, de több mint 1000 vállalat, szervezet, kormányzati szerv és intézmény tagja az ANSI-nak (www.ansi.org). Az ANSI képviseli az Egyesült Államokat a két nagy nemzetközi szabványügyi szervezetben, az ISO-ban és az IEC-ben.

Harmadik tag - ISO(Nemzetközi Szabványügyi Szervezet, Nemzetközi Szabványügyi Szervezet). 1946-ban hozták létre a Szabványok Koordinációs Bizottsága és az ENSZ Közgyűlése határozatával, és hivatalosan 1947. február 23-án kezdte meg munkáját (www.iso.org). Az ISO 146 ország nemzeti szabványügyi intézeteinek hálózata (egy ország, egy ISO-tag), központi titkársággal Genfben, Svájcban. Az ISO szabványokat műszaki bizottságokban dolgozzák ki, melynek első eredménye a Nemzetközi Szabványtervezet (DIS) dokumentum, amely többszöri jóváhagyás után a Final Draft International Standard (FDIS) lesz. Ezt követően szavazásra bocsátják e dokumentum jóváhagyásának kérdését; pozitív eredménnyel nemzetközi mércévé válik.

És végül - IEC(International Electrotechnical Commission, International Electrotechnical Commission – IEC), 1906-ban alapították. Az IEC nemzetközi szabványokat készít és tesz közzé minden elektromos, elektronikus és kapcsolódó technológiára vonatkozóan (www.iec.ch/). 2004. november 1-jén 64 ország nemzeti bizottsága volt a bizottság teljes jogú tagja. Az IEC ajánlásokat is közzétesz, amelyeket angol és francia nyelven tesznek közzé, és nemzetközi szabvány státuszúak. Ezek alapján regionális és nemzeti szabványokat dolgoznak ki. A szabványok elkészítéséhez in különböző területek Az IEC tevékenységére technikai bizottságok (TC) válaszolnak, amelyekben az adott TC tevékenységében érdekelt nemzeti bizottságok is részt vesznek.

Az IEC kulcsfontosságú szervezet a nemzetközi szabványok előkészítésében információs technológia. Ezen a területen létezik egy közös információtechnológiai bizottság – a JTC 1, amelyet 1987-ben hoztak létre az IEC és az ISO közötti megállapodásnak megfelelően. A JTC1-nek 17 albizottsága van, amelyek mindent felügyelnek a szoftvertől a programozási nyelvekig, a számítógépes grafikákig és a képszerkesztésig, a hardverek összekapcsolásáig és a biztonsági gyakorlatokig.

Az új IEC szabványok előkészítése több szakaszból áll (előzetes, javaslati szakasz, előkészítő szakasz, műszaki bizottsági szakasz, vizsgálati szakasz, jóváhagyási szakasz, közzétételi szakasz). Ha egy IEC-dokumentum csak műszaki specifikációvá kíván válni, nem pedig nemzetközi szabvány, akkor a dokumentum felülvizsgált változatát el kell küldeni a címre. Központi iroda közzétételre. Négy hónap áll rendelkezésre a végleges nemzetközi szabványtervezet (FDIS) kidolgozására. Ha a technikai bizottság valamennyi tagja jóváhagyja, az FDIS jóváhagyási szakasza nélkül elküldi a központi irodának közzététel céljából. Ezt követően az FDIS eljut a nemzeti bizottságokhoz, amelyeknek két hónapon belül jóvá kell hagyniuk. Az FDIS akkor tekinthető jóváhagyottnak, ha a nemzeti bizottságok több mint kétharmada megszavazta, és a nemleges szavazatok száma nem haladja meg a 25%-ot. Ha a dokumentumot nem hagyják jóvá, elküldik a műszaki bizottságoknak és albizottságoknak felülvizsgálatra. A szabványt legkésőbb két hónappal az FDIS jóváhagyását követően közzé kell tenni.

Számos más szervezet is részt vesz a POSIX szabványok kidolgozásában és elfogadásában.

nyílt csoport egy nemzetközi szoftverszabványügyi szervezet, amely közel 200 informatikai területen dolgozó gyártót és felhasználói közösséget tömörít (www.opengroup.org/). Az Open Group 1995-ben jött létre két elődje, az X/Open és az Open Software Foundation (OSF) egyesülésével. Az Open Group a szoftvertanúsítási módszerek fejlesztésére és a speciális követelményeknek való megfelelés tesztelésére specializálódott. Az Open Group különösen olyan területek tanúsításával foglalkozik, mint a COE Platform, CORBA, LDAP, Linux Standard Base, Schools Interoperability Framework (SIF), S/MIME Gateway, Single UNIX Specification, Wireless Application Protocol Specifications (WAP) és, végül a POSIX szabványcsalád (www.opengroup.org/certification/).

Austin Common Standards Revision Group (CSRG) egy közös műszaki munkacsoport, amelyet 2002-ben az ISO, az IEC és az Open Group hozott létre és tart fenn legújabb verziói 1003.1 szabvány, amely ISO/IEC 9945-1-1996, ISO/IEC 9945-2-1993, IEEE Std 1003.1-1996, IEEE Std 1003.2-1992 és Single UNIX Specification (www.org/open/group) 14nov02.htm).

National Institute of Standards and Technology (NIST) a Kereskedelmi Minisztérium Technológiai Igazgatóságán (www.nist.gov/public_affairs/general2.htm) tartozó szövetségi ügynökség, amelyet 1901-ben alapítottak az Egyesült Államokban. A NIST küldetése, hogy szabványokat és technológiákat dolgozzon ki és népszerűsítsen a termékminőség javítása érdekében. A NIST tartalmaz egy Informatikai Laboratóriumot (ITL), amelynek egyik eredménye a Szövetségi Információfeldolgozási Szabványok (FIPS, www.opengroup.org/testing/fips/general_info.html). A NIST/ITL 1991-ben javasolta a POSIX-tanúsítvány kezdeti tesztsorozatát a FIPS PUB 151-1 1990 szerint.

Mi az a POSIX?

Formálisan a kifejezés POSIX Richard Stallman javasolta a rövidítéseként P ortable O perating S rendszer interfész az un IX(hordozható interfész operációs rendszer Unix számára). A POSIX-et UNIX-szerű operációs rendszerekre fejlesztették ki (első verzióik az 1970-es évek elejére nyúlnak vissza), azzal a céllal, hogy forráskód szinten biztosítsák az alkalmazások hordozhatóságát.

Az interfész kezdeti leírása 1986-ban jelent meg, majd IEEE-IX (a UNIX IEEE verziója) nevet kapta, a név azonban gyorsan megváltozott, POSIX lett, és már a következő kiadványban (még 1986-ban) ez Az új verziót egy ideig az IEEE 1003.1-1988 kapcsolódó dokumentumok csoportjára és az ISO / IEC 9945 részeire való hivatkozásként (vagy szinonimájaként), valamint az ISO / IEC 9945.1: 1990 kitöltött és jóváhagyott nemzetközi szabványként értelmezték. A POSIX-et 1990-ben fogadták el. A POSIX specifikációk szabványos interakciós mechanizmust határoznak meg alkalmazási programés OS, és jelenleg több mint 30 szabványt tartalmaz az IEEE, ISO, IEC és ANSI égisze alatt.

Története során a POSIX hosszú utat tett meg, számos változást hajtott végre a specifikációs megjelölésekben, azok konkrét tartalmában, eljárásaiban és ellenőrzésük logisztikájában. Azóta a POSIX szabvány több kiadását is kiadták különböző nemzetközi szervezetek.

A POSIX szabvány története

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 elfogadták nemzetközi szabványként.

POSIX mérföldkövek:

1990

Az 1988-ban megjelent kiadást felülvizsgálták, és ez a további kiadások és kiegészítések alapja lett. Az ISO/IEC 9945-1:1990 nemzetközi szabványnak minősül.

1993

Megjelent az 1003.1b-1993 verzió.

1996

Az IEEE Std 1003.1b-1993, IEEE Std 1003.1c-1995 és 1003.1i-1995 módosult, de a dokumentum fő része nem változott. 1996-ban az IEEE Std 1003.1-et ISO/IEC 9945-1:1996 nemzetközi szabványként is jóváhagyták.

1998

Megjelent az első "valós idejű" szabvány - IEEE Std 1003.13-1998. Ez a POSIX szabvány kiterjesztése a beágyazott valós idejű alkalmazásokhoz.

1999

Elhatározták, hogy az elmúlt 10 év során megtörténik az első jelentős változtatások a szabvány főszövegében, beleértve az 1003.2 szabvánnyal való egyesülést (Shell és segédprogramok), mivel akkorra ezek külön szabványok voltak. A PASC úgy döntött, hogy az IEEE 1003.1a, 1003.1d, 1003.1g, 1003.1j, 1003.1q és 1003.2b szabványok befejezése után véglegesíti az alapszöveg módosításait.

2004

Az 1003.1 szabvány eddigi legújabb változatát április 30-án tették közzé, és az Austin Common Standards Revision Group égisze alatt adták ki. A 2004-es kiadás formálisan IEEE Std 1003.1, 2004 Edition, The Open Group Technical Standard Base Specifications, Issue 6 néven ismert, és tartalmazza az IEEE Std 1003.1-2001, IEEE Std 1003.1-2001-12003 St. /Cor 1-2002 és IEEE Std 1003.1-2001/Cor 2-2004.

A legfontosabb POSIX szabványok az RTOS számára

A valós idejű operációs rendszerek esetében a szabvány hét specifikációja a legfontosabb (1003.1a, 1003.1b, 1003.1c, 1003.1d, 1003.1j, 1003.21 ), de csak három kapott széles körű támogatást a kereskedelmi operációs rendszerekben:

  • 1003.1a (OS definíció) meghatározza a fő operációs rendszer interfészeket, a feladatvezérlést, a jeleket, a funkciókat fájlrendszerés dolgozzon eszközökkel, felhasználói csoportokkal, csővezetékekkel, FIFO pufferekkel;
  • 1003.1b (valós idejű bővítmények) leírja a valós idejű kiterjesztéseket, mint például a valós idejű jeleket, prioritás ütemezést, időzítőket, szinkron és aszinkron I/O, szemaforok, megosztott memória, üzenetek. Kezdetben (1993-ig) ezt a szabványt POSIX.4-nek nevezték.
  • 1003.1c (szálak) szál (szál) támogató funkciókat határoz meg - szálkezelés, szálattribútumok, mutexek, ütemezés. Eredeti neve POSIX.4a.

Ezeken a szabványokon kívül a következő szabványok fontosak az OS RV számára, amelyeket az Std 1003.1-2001 projekttel kapcsolatos munka részeként vezettek be:

  • IEEE 1003.1d-1999. További bővítmények valós idő. Eredetileg POSIX.4b;
  • IEEE 1003.1j-2000. Továbbfejlesztett (fejlett) valós idejű bővítmények;
  • IEEE 1003.1q-2000. nyomon követése.

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

A POSIX szabványnak való megfelelés érdekében az operációs rendszert tanúsítani kell a megfelelő tesztsorozat eredményei alapján. A POSIX bevezetése óta a tesztcsomag formai és ténybeli változásokon ment keresztül.

1991-ben a NIST kifejlesztette a FIPS 151-1 POSIX tesztelési programot (http://standards.ieee.org/regauth/posix/POSIX-A.FM5.pdf). Ez a tesztelési lehetőség az IEEE 1003.3 „Standard for Test Methods for Measuring Conformance for POSIX” 10. tervezeten, 1989. május 3-án alapul. (www.itl.nist.gov/fipspubs/fip151-2.htm). A FIPS 151-2 szabványhoz igazított „Információs technológia – Hordozható operációs rendszer interfész (POSIX) – 1. rész: Rendszeralkalmazási program interfész (API)”, amely ISO/IEC 9945-1:1990 szabvány. A FIPS 151-2 tesztkészletei az IEEE 2003.1-1992 "Standard for Test Methods for Measuring Conformance to POSIX" szabványon alapultak.

A NIST két tanúsítási módszert különböztet meg: az öntanúsítást és az IEEE Accredited POSIX Testing Laboratories (APTL) általi tanúsítást. Az első esetben a cég saját maga végzi a tesztelést, de a NIST által jóváhagyott terv szerint. A második esetben a vizsgálatot független laboratórium végzi automatizált tesztkészletek segítségével. Összesen két APTL laboratórium kapott akkreditációt: a Mindcraft (www.mindcraft.com) és a Perennial (www.peren.com).

1997-ben a NIST/ITL bejelentette azon szándékát, hogy megszünteti a FIPS 151-2 tanúsítványt az év végén. jelen év(hivatalosan - 1997. december 31.), ezzel egy időben az Open Group bejelentette, hogy ugyanazon év október 1-jétől átveszi a FIPS 151-2 szerinti tanúsítási szolgáltatást a NIST / ITL program alapján. . Ugyanezeket a funkciókat az IEEE Standards Association (IEEE-SA) vette át 1998. január 1-től, és szintén a FIPS 151-2 alapján.

2003-ban az IEEE-SA és az Open Group új közös programot jelentett be a legújabb POSIX-verziók hitelesítésére az IEEE 1003.1™ 2001-től kezdve. Az Open Group több tesztcsomaggal rendelkezik, amelyek lefedik az IEEE Std 1003.1-1996, IEEE Std 1003.2, 1992-1996 szabványokat. IEEE Std 1003.1-2003 és IEEE Std 1003.13-1998 (www.opengroup.org/testing/testsuites/posix.html). Egy termék akkor minősül POSIX-tanúsítvánnyal rendelkezőnek, ha a teljes tanúsítási eljáráson átesett, a vizsgálati eredmények alapján minden követelménynek megfelel, és szerepel a tanúsított termékek hivatalos nyilvántartásában.

A tesztcsomagok a következőket tartalmazzák:

  • VSX-PCTS1990 (www.opengroup.org/testing/testsuites/vsxpcts1990.htm) megfelelőségi tesztcsomag IEEE Std 1003.1-1990 rendszerinterfészekhez;
  • VSPSE54 (www.opengroup.org/testing/testsuites/VSPSE54.htm) megfelelőségi tesztcsomag az IEEE Std 1003.13-1998 PSE54 profilhoz (többcélú valós idejű);
  • VSX-PCTS2003 (www.opengroup.org/testing/testsuites/vsxpcts2003.htm) megfelelőségi tesztcsomag az IEEE Std 1003.1-2003 rendszerinterfészekhez (csak a szükséges alkatrészekhez);
  • A VSC-PCTS2003 (www.opengroup.org/testing/testsuites/vscpcts2003.htm) az IEEE Std 1003.1-2003 szabványnak megfelelő megfelelőségi tesztek sorozata (csak a shell és a segédprogramok kötelező részei).

Ezenkívül az Open Group teszteket fejlesztett ki a POSIX Realtime szabványokhoz és az Embedded POSIX szabványok profiljához. A POSIX Realtime tesztcsomag (www.opengroup.org/testing/testsuites/realtime.html) a következő teszteket tartalmazza:

  • IEEE POSIX 1003.1b-1993/1003.1i-1995 valós idejű kiterjesztés és IEEE POSIX 1003.1, 2003-as kiadás;
  • IEEE Std POSIX 1003.1c-1995 Threads (pthreads) kiterjesztés és IEEE POSIX 1003.1, 2003-as kiadás;
  • IEEE POSIX 1003.1d-1999 kiegészítő valós idejű bővítmény és IEEE POSIX 1003.1, 2003-as kiadás;
  • IEEE POSIX 1003.1j-2000 Advanced Realtime Extension és IEEE POSIX 1003.1, 2003-as kiadás;
  • IEEE POSIX 1003.1q-2000 Trace és IEEE POSIX 1003.1, 2003 kiadás és IEEE POSIX 1003.1, 2003 kiadás;

Az Embedded POSIX Standards Profile Test Suite (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ése (1232 teszt);
  • IEEE POSIX 1003.13-1998 52. profil.

Egy kicsit a terminológiai zavarról

Alkalmazva a POSIX szabványok csoportjára ben angol nyelv gyakran nem egy, hanem három kifejezést használnak. Sajnos jelentésükben hasonlóak, és gyakran ugyanúgy fordítják őket, ami némi zavart okoz. Ezek a kifejezések:

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

A POSIX-szel kapcsolatos első kifejezés formálisan nincs meghatározva. A második azt jelenti, hogy a szoftvertermék gyártója önállóan kijelenti, hogy ez a termék (teljesen vagy részben) megfelel a felsorolt ​​NIST-PCTS szabványoknak. A harmadik kifejezés azt jelenti szoftver akkreditált laboratórium segítségével vagy az Open Group keretein belül teljesítette a kialakított vizsgálati rendszert, és erről okirati bizonyíték is van (ún. Megfelelőségi nyilatkozat). A cikk szövegében a továbbiakban a félreérthetőségek kiküszöbölése érdekében az eredeti kifejezéseket mindenhol megadjuk.

Tanúsított RT OS

Ha betartjuk azokat a szigorú szabályokat, amelyek megkövetelik, hogy a tanúsított RT OS adatait hivatalos nyilvántartásban tegyék közzé, és a tesztelést a megfelelőségi szinten kell elvégezni, akkor jelenleg csak két tanúsított RT OS van (az adatok időrendben vannak megadva):

LynxOS v.3(a Lynx Real-Time Systems terméke, jelenleg LynuxWorks, Inc., www.lynuxworks.com) kemény valós idejű beágyazott rendszerszoftverek fejlesztésére szolgál az OEM-ek és a távközlési berendezések gyártói, különösen a katonai repülőgép-rendszerek gyártói által. A fejlesztés elvégezhető magán a célrendszeren (saját hosztolás), és a műszeres számítógépen (host), a kész szoftvert úgy tervezték, hogy a célrendszeren (cél) működjön. A LynxOS v.3 POSIX megfelelőségi tanúsítvánnyal rendelkezik Intel és PowerPC platformokon. Ezzel kapcsolatos információk az IEEE webhelyén találhatók: http://standards.ieee.org/regauth/posix/posix2.html. A LynxOS a POSIX 1003.1-1996 szabványt a Mindcraft, az IEEE POSIX akkreditált POSIX tesztelő laboratóriuma, a NIST FIPS 151-2 megfelelőségi tesztcsomag alapján tanúsította. Tanúsítvány száma: Referenciafájl: IP-2LYX002, Hivatkozási fájl: IP-2LYX001.

INTEGRITÁS v.5(a Green Hills Software terméke, www.ghs.com) a POSIX 1003.1-2003 szabványnak való megfelelést a System Interfaces tanúsította a PowerPC architektúrához 2004 júliusában (http://get.posixcertified.ieee.org/select_product. tpl). VSX-PCTS 2003 tesztcsomag.

POSIX és QNX operációs rendszer

A QNX v.4.20 (fejlesztő: QNX Software Systems, www.qnx.com) rendelkezik a POSIX 1003.1-1988 szabványnak való megfeleléssel a platformon az Intel által DataFocus Incorporated. Tesztelve 1993. szeptember 13-án, a dokumentum kiadása: 1993. november 1. NIST PCTS 151-1 tesztcsomag, 1.1-es verzió.

A QNX Neutrino (6.3-as verzió) megfelel a következő POSIX családszabványoknak (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 Software Systems, a QNX Neutrino megalkotója szintén azt tervezi, hogy tanúsítja (megfelelő) a QNX Neutrino-t ezen szabványok némelyikének; a munkát 2005-re tervezik (www.qnx.com/news/pr_959_1.html).

Irodalom

  1. IEEE Szabványszövetség üzemeltetési kézikönyve. IEEE, 2004. október.
  2. Kevin M. Obeland. POSIX valós időben, beágyazott rendszerek programozása, 2001.
  3. IEEE/ANSI 1003.1 szabvány: Információtechnológia – (POSIX) – 1. rész: Rendszeralkalmazás: Programinterfész (API).
  4. Gallmeister, B.O. Programozás a való világ számára, POSIX.4 Sebastopol, CA: O'Reilly & Associates, 1995.
  5. National Institute of Standards and Technology, PCTS:151-2, POSIX Test Suite.
  6. POSIX: Az IEEE és a The Open Group tanúsítványa. Tanúsított szabályzat. The Open Group, 2003. október 21., 1.1. változat.

A kurzus a Mobile Operating System Interface (POSIX) szabványt, valamint az ezen a szabványon alapuló alkalmazások programozási technikáit és módszereit tárgyalja, számos példával illusztrálva. A többfolyamatos rendszerek programozásának kérdéseit, az alkalmazások interakcióját az elosztott konfigurációk keretében érinti. A szoftverek (SW) mobilitásának (hordozhatóságának, hordozhatóságának) biztosítása rendkívül fontos és összetett feladat; manapság ez a körülmény aligha szorul alapos indoklásra. A rendszerszolgáltatások szintjén egy ilyen környezetet a POSIX (Portable Operating System Interface) szabvány ír le; a nevet egy ismert szakember, a Free Software Foundation alapítója, Richard Stallman javasolta.

A kurzus a 2003-as kiadás legmodernebb változatának tekinti, amelyet "hármas szabványnak" nevezhetünk, nevezetesen: az IEEE Std 1003.1 szabványt, műszaki szabvány Open Group és ami a legfontosabb, az ISO / IEC 9945 nemzetközi szabvány. A kurzus fő célja a szabványos segédprogramok és funkciók használatának technikáinak és módszereinek megértése. Nem a szabvány újramondása volt a cél, kiemelve az operációs rendszer megvalósításának minden finomságát, minden lehetséges hibakódot stb. A lényeg szerintünk az, hogy érezzük a színvonal szellemiségét, megtanuljuk, hogyan lehet mobil módon kihasználni a benne rejlő lehetőségeket. Feltételezve, hogy az olvasó ismeri a C nyelvet, nem vettük figyelembe sem a szintaxisát, sem a tankönyvtár funkcióit. Ami a szabványos parancsnyelvet és annak értelmezőjét illeti, ezt a témát részletesen tárgyaljuk, bár sok gyakorló programozó előszeretettel használ más tolmácsokat. Jelentős helyet kapnak - mind mennyiségi, mind szerepköri szempontból - a műsorpéldák. A szabvány számos rendelkezése (mondjuk a hibahelyzetek kezelésével kapcsolatos) nem a főszövegben, hanem a megfelelő példákban szerepel, ez utóbbiakat lehetőség szerint több hardver és szoftver platformon is összeállították és végrehajtották, bizonyos mértékig azt állítva, hogy megfelel a POSIX szabványnak. A mulasztások azonban természetesen lehetségesek. Hálásak leszünk minden észrevételért és javaslatért, mind a kurzus egészével, mind az egyes programpéldákkal kapcsolatban.

A POSIX szabvány létrehozásának története és jelenlegi állapota.

A szoftverek (SW) mobilitásának (hordozhatóságának, hordozhatóságának) biztosítása rendkívül fontos és összetett feladat; korunkban ez a körülmény aligha szorul kiterjedt indoklásra. A szoftver hordozhatóság növelésének egyik általánosan elfogadott módja az alkalmazási környezet szabványosítása: biztosított programozási interfészek, segédprogramok stb. A rendszerszolgáltatások szintjén egy ilyen környezetet a POSIX (Portable Operating System Interface) szabvány ír le; a nevet az ismert szakember, a Free Software Foundation alapítója, Richard Stallman javasolta.

Címlap.
Kimenet.
1. előadás. A POSIX szabvány alapfogalmai és ötletei.
2. előadás Shell nyelv.
3. előadás. A „felhasználó” fogalmát szolgáló segédprogramok és funkciók.
4. előadás A fájlrendszer felépítése.
5. előadás Fájlbevitel/kimenet.
6. előadás Strukturált adatfeldolgozási eszközök.
Előadás 7. Folyamatok.
8. előadás A folyamatok közötti kommunikáció eszközei.
9. előadás Közös terminál interfész.
10. előadás Gazdagépek jellemzőinek lekérdezése és alkalmazásokban való felhasználása.
11. előadás Hálózati lehetőségek.
12. előadás. Idő és munka vele.
13. előadás Nyelvi és kulturális környezet.
14. előadás Konklúzió.
Bibliográfia.


Ingyenes letöltés e-könyv kényelmes formátumban, nézze meg és olvassa el:
Töltse le a Programozás a POSIX szabványban, 1. rész, Galatenko V.A., 2016 - fileskachat.com könyvet gyorsan és ingyenesen.

SZABVÁNYOK

Szergej Zolotarev,

Ennek a cikknek a célja, hogy némi világosságot hozzon a POSIX szabvány valós idejű operációs rendszerekkel (RTOS) kapcsolatos fejlődéstörténetébe.

Bevezetésként: miért kell szabványosítani az API-t?

A POSIX szabvány egyik legfontosabb tulajdonsága, hogy meghatároz egy "szabványosított programozási felületet", amelyet a komplex hardver- és szoftverrendszerek fejlesztőinek be kell tartaniuk. E rendszerek készítői olyan követelményekkel kénytelenek szembenézni, mint a rövid piacra kerülési idő (a kiélezett verseny miatt), a költségek minimalizálása és a befektetések megtérülésének gyorsítása. A fejlesztési folyamat lassulásából adódó költségek oroszlánrésze ugyanakkor abból adódik, hogy a programozóknak „újra kell találniuk a kereket”, újra és újra megvalósítva a régóta elérhető funkcionalitást. De ez elkerülhető lett volna:

Korábbi és párhuzamos projektekből származó kódok újrafelhasználása;

Kód portolása más operációs rendszerekből;

Fejlesztők bevonása más projektekből (beleértve a más operációs rendszert használókat is).

Mindez egy szabványos API-val rendelkező operációs rendszer használatának köszönhetően lehetséges. Ezenkívül, ha az első esetben elegendő egy szervezetnek egy bizonyos belső szabványa (ami különösen jellemző a védett operációs rendszerekre), akkor a második két esetben csak általánosan elismert szabványok - például POSIX - megléte szükséges.

Így a POSIX-kompatibilis operációs rendszert projektjeik platformjaként használva a fejlesztő lehetőséget kap a kész kód átvitelére a forrásszöveg szintjén mind a korábbi vagy párhuzamos projektekből, mind pedig a harmadik féltől származó projektekből. Ez nemcsak a szoftverfejlesztés idejét jelentősen csökkenti, hanem a minőségét is javítja, hiszen a tesztelt kód mindig kevesebb hibát tartalmaz.

Ki kicsoda a POSIX fejlesztésben

És nem magával a POSIX szabvánnyal kezdjük, hanem az azon dolgozó szervezetek szerepének racionalizálásával.

Az első tag az IEEE(Villamos- és Elektronikai Mérnöki Intézet, Villamos- és Elektronikai Mérnöki Intézet), szakmai közhasznú nonprofit egyesület. Az IEEE 1884-re nyúlik vissza (formálisan 1963 óta), 380 000 egyéni tagot számlál 150 országból, kiadja a harmadik kötetet a számítástechnikai alkalmazásokról, menedzsmentről, elektromos és információtechnológiáról, valamint több mint 100 folyóiratot, népszerű a szakemberek körében; emellett az egyesület több mint 300 nagy konferenciát tart évente. Az IEEE több mint 900 létező szabvány kidolgozásában vett részt (www.ieee.ru/ieee.htm). Ez az intézet ma szabványok előkészítésével, koordinálásával, jóváhagyásával, közzétételével foglalkozik, de formai státuszából adódóan nem rendelkezik olyan dokumentumok átvételi jogkörével, mint a nemzetközi vagy nemzeti szabványok. Ezért a "szabvány" kifejezés az IEEE értelmezésében inkább "specifikációt" jelent, ami jobban megfelel a szövetség által elfogadott dokumentumok státuszának. Az IEEE-nek megfelelően számos nemzetközi és regionális szervezet - IEC, ISO, ITU (Nemzetközi Távközlési Unió), ETSI (Európai Távközlési Szabványügyi Intézet), CENELEC (Európai Elektrotechnikai Szabványügyi Bizottság) - és nemzeti programokban vesz részt. például egy olyan szervezet programjában, mint az ANSI.

Az IEEE magában foglalja a PASC-t (Portable Application Standards Committee; www.pasc.org/), egy egyesületi bizottságot, amely a POSIX szabványcsaládot fejleszti. Korábban a PASC Operációs Rendszerek Technikai Bizottsága néven volt ismert.

A munka második résztvevője az ANSI (American National Standards Institute, www.ansi.org) – egy magán non-profit szervezet, amely adminisztrálja és koordinálja a szabványosítási tevékenységeket az Egyesült Államokban. Mindössze 75 főt foglalkoztat, de az ANSI tagjai több mint 1000 vállalat, szervezet, kormányzati szerv és intézmény. Az ANSI képviseli az Egyesült Államokat a két nagy nemzetközi szabványügyi szervezetben, az ISO-ban és az IEC-ben.

Harmadik tag - ISO(International Organization for Standardization, International Organization for Standardization; www.iso.org). 1946-ban jött létre a Szabványügyi Koordinációs Bizottság és az ENSZ Közgyűlése határozatával, és hivatalosan 1947. február 23-án kezdte meg munkáját. Az ISO 146 ország nemzeti szabványügyi intézeteinek hálózata (egy ország az ISO egyik tagja) központi titkársággal Genfben (Svájc). Az ISO szabványokat műszaki bizottságokban dolgozzák ki, melynek első eredménye a Nemzetközi Szabványtervezet (DIS) dokumentum, amely többszöri jóváhagyás után a Final Draft International Standard (FDIS) lesz. Ezt követően szavazásra bocsátják e dokumentum jóváhagyásának kérdését; pozitív eredménnyel nemzetközi mércévé válik.

És végül - IEC(Nemzetközi Elektrotechnikai Bizottság, Nemzetközi Elektrotechnikai Bizottság – IEC; www.iec.ch/), alapítva 1906. Az IEC nemzetközi szabványokat készít és tesz közzé minden elektromos, elektronikus és kapcsolódó technológiára vonatkozóan. 2004. november 1-jén 64 ország nemzeti bizottsága volt a bizottság teljes jogú tagja. Az IEC ajánlásokat is közzétesz, amelyeket angol és francia nyelven tesznek közzé, és nemzetközi szabvány státuszúak. Ezek alapján regionális és nemzeti szabványokat dolgoznak ki. Az IEC különböző tevékenységi területein a szabványok előkészítéséért a technikai bizottságok (TC) a felelősek, amelyekben az adott TC tevékenységében érdekelt nemzeti bizottságok is részt vesznek.

IEC- kulcsfontosságú szervezet az információtechnológiai nemzetközi szabványok előkészítésében. Ezen a területen létezik egy közös információtechnológiai bizottság – a JTC 1, amelyet 1987-ben hoztak létre az IEC és az ISO közötti megállapodásnak megfelelően. A JTC1-nek 17 albizottsága van, amelyek mindent felügyelnek a szoftvertől a programozási nyelvekig, a számítógépes grafikákig és a képszerkesztésig, a hardverek összekapcsolásáig és a biztonsági gyakorlatokig.

Az új IEC szabványok előkészítése több szakaszból áll (előzetes, javaslati szakasz, előkészítő szakasz, műszaki bizottsági szakasz, vizsgálati szakasz, jóváhagyási szakasz, közzétételi szakasz). Ha egy IEC-dokumentumot csak műszaki specifikációvá kívánnak tenni, nem pedig nemzetközi szabványt, a dokumentum felülvizsgált változatát közzététel céljából elküldik a központi irodának. Négy hónap áll rendelkezésre a végleges nemzetközi szabványtervezet (FDIS) kidolgozására. Ha a technikai bizottság valamennyi tagja jóváhagyja, az FDIS jóváhagyási szakasza nélkül elküldi a központi irodának közzététel céljából. Ezt követően az FDIS eljut a nemzeti bizottságokhoz, amelyeknek két hónapon belül jóvá kell hagyniuk. Az FDIS akkor tekinthető jóváhagyottnak, ha a nemzeti bizottságok több mint kétharmada megszavazta, és a nemleges szavazatok száma nem haladja meg a 25%-ot. Ha a dokumentumot nem hagyják jóvá, elküldik a műszaki bizottságoknak és albizottságoknak felülvizsgálatra. A szabványt legkésőbb két hónappal az FDIS jóváhagyását követően közzé kell tenni.

Számos más szervezet is részt vesz a POSIX szabványok kidolgozásában és elfogadásában.

nyílt csoport- közel 200 informatikai területen dolgozó gyártót és felhasználói közösséget tömörítő nemzetközi szoftverszabványügyi szervezet (www.opengroup.org/) Az OpenGroup 1995-ben jött létre két elődjének összevonásával: X / Open és a Open Software Foundation (OSF). Az Open Group a szoftvertanúsítási módszerek fejlesztésére és a speciális követelményeknek való megfelelés tesztelésére specializálódott. Az Open Group különösen olyan területek tanúsításával foglalkozik, mint a COE Platform, CORBA, LDAP, Linux Standard Base, Schools Interoperability Framework (SIF), S/MIME Gateway, Single UNIX Specification, Wireless Application Protocol Specifications (WAP) és, végül a POSIX szabványcsalád (www.opengroup.org/certification/).

Austin Common Standards Revision Group (CSRG)- az ISO, az IEC és az Open Group által 2002-ben létrehozott közös műszaki munkacsoport az 1003.1 szabvány legújabb verzióinak elkészítésére és karbantartására, amely az ISO / IEC 9945-1-1996, ISO / IEC 9945 alapján jön létre. -2-1993, IEEE Std 1003.1-1996, IEEE Std 1003.2-1992 és egységes UNIX specifikáció (www.opengroup.org/press/14nov02.htm).

National Institute of Standards and Technology (NIST)- egy szövetségi ügynökség a Kereskedelmi Minisztérium Technológiai Igazgatóságán belül (www.nist.gov/public_affairs/general2.htm), amelyet 1901-ben alapítottak az USA-ban. A NIST feladata szabványok és technológiák kidolgozása és népszerűsítése a termékminőség javítása érdekében. A NIST-nek van információs technológiai laborja (Információs Technológiai Laboratórium – ITL), amelynek egyik eredménye a Szövetségi Információfeldolgozási Szabványok (FIPS, www.opengroup.org/testing/fips/general_info.html). A NIST/ITL 1991-ben javasolta a POSIX-tanúsítvány kezdeti tesztkészletét a FIPS PUB 151- alapján. 1 1990.

Mi az a POSIX?

Formálisan a kifejezés POSIX Richard Stallman javasolta a rövidítéseként P ortable O perating S rendszer interfész az un IX(hordozható operációs rendszer interfész Unixhoz). A POSIX-et UNIX-szerű operációs rendszerekre fejlesztették ki (első verzióik az 1970-es évek elejére nyúlnak vissza), azzal a céllal, hogy forráskód szinten biztosítsák az alkalmazások hordozhatóságát.

Az interfész eredeti leírása 1986-ban jelent meg, amikor IEEE-IX-nek (a UNIX IEEE verziója) nevezték el. A név azonban gyorsan POSIX-re változott, és a következő kiadvány (1986-ban) ezt az új változatot használta. A POSIX-et egy ideig az IEEE 1003.1-1988 kapcsolódó dokumentumok csoportjára és az ISO / IEC 9945 részeire való hivatkozásként (vagy szinonimájaként) értelmezték, és teljes és jóváhagyott nemzetközi szabványként az ISO / IEC 9945.1: 1990-ben fogadták el a POSIX-et. 1990. A POSIX specifikációk szabványt határoznak meg az alkalmazási program és az operációs rendszer közötti interakció mechanizmusára vonatkozóan, és jelenleg több mint 30 szabványt tartalmaznak az IEEE, ISO, IEC és ANSI égisze alatt.

Története során a POSIX hosszú utat tett meg, számos változást hajtott végre a specifikációs megjelölésekben, azok konkrét tartalmában, eljárásaiban és ellenőrzésük logisztikájában. Azóta a POSIX szabvány több kiadását is kiadták különböző nemzetközi szervezetek.

A POSIX szabvány története

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 elfogadták nemzetközi szabványként. POSIX mérföldkövek:

- 1990 Az 1988-ban megjelent kiadást felülvizsgálták, és ez a további kiadások és kiegészítések alapja lett. Az ISO/IEC 9945-1:1990 nemzetközi szabványnak minősül.

- 1993 Megjelent az 1003.1b-1993 verzió.

- 1996 Az IEEE Std 1003.1b-1993, IEEE Std 1003.1c-1995 és 1003.1i-1995 módosult, de a dokumentum fő része nem változott. 1996-ban az IEEE Std 1003.1-et ISO/IEC 9945-1:1996 nemzetközi szabványként is jóváhagyták.

- 1998 Megjelent az első "valós idejű" szabvány - IEEE Std 1003.13-1998. Ez a POSIX szabvány kiterjesztése a beágyazott valós idejű alkalmazásokhoz.

- 1999Úgy döntöttek, hogy az elmúlt 10 év első jelentős módosításait a szabvány főszövegében hajtják végre, beleértve az 1003.2 szabvánnyal való egyesülést (Shell és segédprogramok), mivel akkorra ezek külön szabványok voltak. A PASC úgy döntött, hogy az IEEE 1003.1a, 1003.1d, 1003.1g, 1003.1j, 1003.1q és 1003.2b szabványok befejezése után véglegesíti az alapszöveg módosításait.

- 2004 Az 1003.1 szabvány eddigi legújabb változatát április 30-án tették közzé, és az Austin Common Standards Revision Group égisze alatt adták ki. A 2004-es kiadás formálisan IEEE Std 1003.1, 2004 Edition, The Open Group Technical Standard Base Specifications, Issue 6 néven ismert, és tartalmazza az IEEE Std 1003.1-2001, IEEE Std 1003.1-2001-12003 St. /Cor 1-2002 és IEEE Std 1003.1-2001/Cor 2-2004.

A legfontosabb POSIX szabványok az RTOS számára

A valós idejű operációs rendszerek esetében a szabvány hét specifikációja a legfontosabb, de csak három kapott széles körű támogatást a kereskedelmi operációs rendszerekben:

Az 1003.1a (OS Definition) meghatározza a fő operációs rendszer interfészeket, a jobvezérlést, a jeleket, a fájlrendszer- és eszközfunkciókat, a felhasználói csoportokat, a folyamatokat, a FIFO puffereket;

A 1003.1b (Realtime Extensions) olyan valós idejű bővítményeket ír le, mint a valós idejű jelek, prioritási ütemezés, időzítők, szinkron és aszinkron I/O, szemaforok, megosztott memória, üzenetek. Eredetileg (1993 előtt) erre a szabványra POSIX.4 néven hivatkoztak;

A 1003.1c (Threads) száltámogatási funkciókat határoz meg – szálkezelés, szálattribútumok, mutexek, ütemezés. Eredetileg POSIX.4a néven emlegették.

Ezeken a szabványokon kívül a következő szabványok fontosak az OS RV számára, amelyeket az Std 1003.1-2001 projekttel kapcsolatos munka részeként vezettek be:

IEEE 1003.1d-1999. További valós idejű bővítmények. Eredetileg POSIX.4b;

IEEE 1003.1j-2000. Továbbfejlesztett (fejlett) valós idejű bővítmények;

IEEE 1003.1q-2000. nyomon követése.

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

A POSIX szabványnak való megfelelés érdekében az operációs rendszert tanúsítani kell a megfelelő tesztsorozat eredményei alapján. A POSIX bevezetése óta a tesztcsomag formai és ténybeli változásokon ment keresztül.

1991-ben a NIST kifejlesztette a FIPS 151-1 POSIX tesztelési programot (http://standards.ieee.org/regauth/posix/POSIX-A.FM5.pdf). Ez a tesztelési lehetőség az IEEE 1003.3 „Standard for Test Methods for Measuring Conformance for POSIX” 10. tervezeten, 1989. május 3-án alapul. (www.itl.nist.gov/fipspubs/fip151-2.htm). A FIPS 151-2 adaptálta az „Information Technology – Portable Operating System Interface (POSIX) – 1. rész: Rendszeralkalmazási program interfész (API)” címet. ISO/IEC 9945-1:1990. A FIPS 151-2 tesztkészletei az IEEE 2003.1-1992 "Standard for Test Methods for Measuring Conformance to POSIX" szabványon alapultak.

A NIST két tanúsítási módszert különböztet meg: az öntanúsítást és az IEEE által akkreditált tesztlaborok (Accredited POSIX Testing Laboratories – APTL) általi tanúsítást. Az első esetben a cég saját maga végzi a tesztelést, de a NIST által jóváhagyott terv szerint. A második esetben a vizsgálatot független laboratórium végzi automatizált tesztkészletek segítségével. Összesen két APTL laboratórium kapott akkreditációt: a Mindcraft (www.mindcraft.com) és a Perennial (www.peren.com).

1997-ben a NIST/ITL bejelentette, hogy a folyó év végén (hivatalosan 1997. december 31-én) megszünteti a FIPS 151-2 tanúsítványt, míg az Open Group bejelentette, hogy október 1-jétől átveszi ugyanezt. évfolyam, a NIST/ITL programon alapuló FIPS 151-2 tanúsítási szolgáltatás. Ugyanezeket a funkciókat az IEEE Standards Association (IEEE-SA) vette át 1998. január 1-től, és szintén a FIPS 151-2 alapján.

2003-ban az IEEE-SA és az Open Group új közös programot jelentett be a legújabb POSIX-verziók hitelesítésére az IEEE 1003.1(tm) 2001-től kezdve. Az Open Group több tesztcsomaggal rendelkezik, amelyek lefedik az IEEE Std 1003.1-1996 és IEEE Std 1003 szabványokat.

2-1992, IEEE Std 1003.1-2003 és IEEE Std 1003.13-1998 (www.opengroup.org/testing/testsuites/posix.html). Egy termék akkor minősül POSIX-tanúsítvánnyal rendelkezőnek, ha a teljes tanúsítási eljáráson átesett, a vizsgálati eredmények alapján minden követelménynek megfelel, és szerepel a tanúsított termékek hivatalos nyilvántartásában.

A tesztcsomagok a következőket tartalmazzák:

VSX-PCTS1990 (www.opengroup.org/testing/testsuites/vsxpcts1990.htm) – megfelelőségi tesztcsomag az IEEE Std 1003.1-1990 rendszerinterfészekhez;

VSPSE54 (www.opengroup.org/testing/testsuites/VSPSE54.htm) megfelelőségi tesztcsomag az IEEE Std 1003.13-1998 PSE54 profilhoz (többcélú valós idejű);

VSX-PCTS2003 (www.opengroup.org/testing/testsuites/vsxpcts2003.htm) – megfelelőségi tesztcsomag az IEEE Std 1003.1-2003 rendszerinterfészekhez (csak a szükséges alkatrészekhez);

A VSC-PCTS2003 (www.opengroup.org/testing/testsuites/vscpcts2003.htm) az IEEE Std 1003.1-2003 szabványnak megfelelő megfelelőségi tesztek sorozata (héj és segédprogramok – csak kötelező alkatrészek).

Ezenkívül az Open Group teszteket fejlesztett ki a POSIX Realtime szabványokhoz és az Embedded POSIX szabványok profiljához. A POSIX Realtime tesztcsomag (www.opengroup.org/testing/testsuites/realtime.html) a következő teszteket tartalmazza:

IEEE POSIX 1003.1b-1993/1003.1i-1995 valós idejű kiterjesztés és IEEE POSIX 1003.1, 2003-as kiadás;

IEEE Std POSIX 1003.1c-1995 Threads (pthreads) kiterjesztés és IEEE POSIX 1003.1, 2003-as kiadás;

IEEE POSIX 1003.1d-1999 kiegészítő valós idejű bővítmény és IEEE POSIX 1003.1, 2003-as kiadás;

IEEE POSIX 1003.1j-2000 Advanced Realtime Extension és IEEE POSIX 1003.1, 2003-as kiadás;

IEEE POSIX 1003.1q-2000 Trace és IEEE POSIX 1003.1, 2003 kiadás és IEEE POSIX 1003.1, 2003 kiadás;

Az Embedded POSIX Standards Profile Test Suite (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ése (1232 teszt);

IEEE POSIX 1003.13-1998 52. profil.

Egy kicsit a terminológiai zavarról

Az angol POSIX szabványcsoporttal kapcsolatban gyakran nem egy, hanem három kifejezést használnak. Sajnos jelentésükben hasonlóak, és gyakran ugyanúgy fordítják őket, ami némi zavart okoz. Ezek a kifejezések:

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

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

Megfelelőség (szó szerint - "konzisztencia").

A POSIX-szel kapcsolatos első kifejezés formálisan nincs meghatározva. A második azt jelenti, hogy a szervezet – a szoftvertermék gyártója – önállóan kijelenti, hogy ez a termék (teljesen vagy részben) megfelel a felsorolt ​​NIST-PCTS szabványoknak. A harmadik kifejezés azt jelenti, hogy a szoftvertermék akár egy akkreditált laboratórium segítségével, akár az Open Groupon belül megfelelt a kialakított tesztrendszernek, és ennek dokumentált bizonyítéka van (ún. Megfelelőségi nyilatkozat). A cikk szövegében a továbbiakban a félreérthetőségek kiküszöbölése érdekében az eredeti kifejezéseket mindenhol megadjuk.

Tanúsított RT OS

Ha valaki betartja azokat a szigorú szabályokat, amelyek megkövetelik, hogy a tanúsított RT OS adatait hivatalos nyilvántartásban közzé kell tenni, és a tesztelést a szintnek megfelelően kell elvégezni. megfelelés, akkor jelenleg csak két hitelesített OS RT van (az adatok időrendben vannak megadva):

- LynxOS v.3(a Lynx Real-Time Systems terméke, jelenleg LynuxWorks, Inc., www.lynuxworks.com) kemény valós idejű beágyazott rendszerszoftverek fejlesztésére szolgál az OEM-ek és a távközlési berendezések gyártói, különösen a katonai repülőgép-rendszerek gyártói által. A fejlesztés elvégezhető magán a célrendszeren (saját hosztolás), és a műszeres számítógépen (host), a kész szoftvert úgy tervezték, hogy a célrendszeren (cél) működjön. LynxOS v.3 tanúsítvánnyal rendelkezik a konzisztencia érdekében (megfelelés) POSIX szabvány Intel és PowerPC platformokon. Az ezzel kapcsolatos információk az IEEE webhelyén találhatók: http://standards.ieee.org/regauth/posix/posix2.html. A LynxOS-t a Mindcraft, az IEEE POSIX akkreditált POSIX tesztelőlaboratóriuma, a NIST FIPS szerint tanúsította a POSIX 1003.1-1996 szabvány szerint. 151- tesztcsomag 2 Megfelelőségi tesztcsomag. Tanúsítvány száma: Referenciafájl: IP-2LYX002, Hivatkozási fájl: IP-2LYX001.

- INTEGRITÁS v.5(a Green Hills Software terméke, www.ghs.com) konzisztencia tanúsítvánnyal rendelkezik (megfelelés) a POSIX 1003.1-2003, System Interfaces for the PowerPC Architecture szerint 2004 júliusában (http://get.posixcertified.ieee.org/select_product.tpl). VSX-PCTS 2003 tesztcsomag.

POSIX és QNX operációs rendszer

QNX v.4.20(fejlesztő – QNX Software Systems, www.qnx.com) megfelelőségi tanúsítvánnyal rendelkezik (megfelelés) a POSIX 1003.1-1988 szerint Intel platformok a DataFocus Incorporated által. Tesztelve 1993. szeptember 13-án, a dokumentum kiadása: 1993. november 1. NIST PCTS 151-1 tesztcsomag, 1.1-es verzió.

A QNX Neutrino (6.3-as verzió) megfelel a következő POSIX családszabványoknak (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 Software Systems, a QNX Neutrino megalkotója szintén azt tervezi, hogy tanúsítja (megfelelő) a QNX Neutrino-t ezen szabványok némelyikének; a munkát 2005-re tervezik (www.qnx.com/news/pr_959_1.html).

Irodalom

1. IEEE Szabványszövetség üzemeltetési kézikönyv. IEEE, 2004. október.

2. Kevin M. Obeland. POSIX valós időben, beágyazott rendszerek programozása, 2001.

3. IEEE/ANSI 1003.1 szabvány: Információtechnológia – (POSIX) – 1. rész: Rendszeralkalmazás: Programinterfész (API).

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

5. National Institute of Standards and Technology, PCTS:151-2, POSIX Test Suite.

6. POSIX: IEEE és The Open Group tanúsítvánnyal rendelkezik. Tanúsított szabályzat. The Open Group, 2003. október 21., 1.1. változat.

A Posix név a "Portable Operating System Interface" szóból származik, ami nagyjából "Portable Operating System Interface"-t jelent. Ez nem egy szabvány, hanem egy egész család, amelyet az Institute for Electrical and Electronics Engineers (IEEE) fejlesztett ki. A Posix szabványokat az ISO (Nemzetközi Szabványügyi Szervezet, Nemzetközi Szabványügyi Szervezet) és az IEC (International Electrotechnical Commission, International Electrotechnical Commission) vagy az ISO/IEC is elfogadta nemzetközi szabványként. A Posix szabványok több fejlődési szakaszon mentek keresztül.

Az IEEE 1003.1-1988 (317 oldal) volt az első Posix szabvány. A C nyelv és a Unix típusú kernel közötti interfészt a következő területeken határozta meg: folyamatmegvalósítási primitívek (fork, exec hívások, jelek és időzítők), folyamatkörnyezet (felhasználói azonosítók, folyamatcsoportok), fájlok és könyvtárak (minden I/ O függvények), terminálműködés, rendszeradatbázisok (jelszó- és csoportfájlok), tar és cpio archív formátumok.

JEGYZET

Az első Posix szabvány IEEEIX néven működő verzióban jelent meg 1986-ban. A Posix nevet Richard Stallman javasolta.

Aztán jött az IEEE 1003.1-1990 szabvány (356 oldal). Ez volt az ISO/IEC 9945-1:1990 nemzetközi szabvány is. Az 1988-as verzióhoz képest az 1990-es verzió módosításai minimálisak voltak. A címhez hozzáadva: „1. rész: Rendszeralkalmazási felület (API)” („1. rész: Rendszerprogramozási felület (API) [C nyelv])”, ami azt jelentette, hogy a szabvány a C programozási felületet (API) írja le.

Az IEEE 1003.2-1992 két kötetben jelent meg, összesen körülbelül 1300 oldal terjedelemben, és a címe a "2. rész: Shell és segédprogramok" (2. rész: "Interpreter and Utilities") sort tartalmazta. Ez a rész meghatározta az értelmezőt (a Unix System V Bourne shellje alapján) és körülbelül száz segédprogramot (általában az értelmezőtől meghívott programokat, az awk-tól és az alapnévtől a vi és wac-ig). Ebben a könyvben erre a szabványra Posix néven hivatkozunk. 2.

Az IEEE 1003.1b-1993 (590 oldal) eredetileg IEEE P1003.4 néven volt ismert. Ez a szabvány az 1003.1-1990 szabvány kiegészítése volt, és az általa fejlesztett valós idejű bővítményeket tartalmazta. munkacsoport P1003.4: fájlszinkronizálás, aszinkron I/O, szemaforok, memóriakezelés, ütemezés, órák, időzítők és üzenetsorok.

IEEE 1003.1, 1996-os kiadás (743 oldal), 1003.1-1990 (alap API), 1003.1b-1993 (valós idejű kiterjesztések), 1003.1-1995 (Pthreads) és 1003.1i-1995 (3.10.b0technikai módosítások) Ezt a szabványt ISO/IEC 9945-1:1996-nak is nevezik. Három fejezettel bővült a szálak és további szakaszok a szálak szinkronizálásáról (kölcsönös kizárási és feltételváltozók), a szálvégrehajtás ütemezéséről és a szinkronizálás ütemezéséről. Ebben a könyvben erre a szabványra Posix.1 néven hivatkozunk.

JEGYZET

A szabvány 743 oldalának több mint negyede "Indoklás és megjegyzések" ("Indoklás és megjegyzés") című függelék volt. Ez az indoklás történelmi információkat és magyarázatot tartalmaz arra vonatkozóan, hogy miért kerültek vagy nem kerültek be a szabványba bizonyos jellemzők. Gyakran az indoklás ugyanolyan hasznos, mint maga a szabvány.

Sajnos az IEEE szabványok nem érhetők el szabadon az interneten keresztül. A könyv rendelési helyéről a link alatti bibliográfiában található információ. Vegye figyelembe, hogy a szemaforokat a valós idejű kiterjesztési szabványban határozták meg, elkülönülve a mutexektől és a feltételváltozóktól (amelyek a Pthreads szabványban voltak definiálva), ami megmagyaráz néhány különbséget ezen eszközök API-jában.

Végül vegye figyelembe, hogy az olvasási/írási zárak nem részei a Posix szabványoknak. Erről részletesebben a 8. fejezet szól.

Tervezett megjelenés a jövőben új verzió IEEE 1003.1, amely tartalmazza a P1003.1g szabványt, hálózati interfészeket (socket és XTI), amelyek leírása a könyv első kötetében található.

Az 1996-os Posix.1 szabvány előszava kimondja, hogy az ISO/IEC 9945 szabvány a következő részekből áll:

1. Rendszerprogramozási felület (API) (C nyelv).

2. Tolmács és segédprogramok.

3. Rendszeradminisztráció (fejlesztés alatt).

Az 1. és 2. részt Posix.1-nek és Posix.2-nek nevezzük.

A Posix szabványok kidolgozása folyamatosan zajlik, a hozzájuk kapcsolódó könyvek szerzőinek mozgó célpontra való lövöldözéssel kell megküzdeniük. A szabványok jelenlegi állapota megtalálható a http://www.pasc.org/standing/sd11.html oldalon.

- (IPAEng|ˈpɒzɪks) vagy Portable Operating System Interface idézi a webet | cím = POSIX | url = http://standards.ieee.org/regauth/posix/ | munka = Szabványok | kiadó = IEEE] az IEEE által meghatározott kapcsolódó szabványok családjának gyűjtőneve… Wikipédia

POSIX- est le nom d une famille de standards définie depuis 1988 par l Institute of Electrical and Electronics Engineers et formellement désignée IEEE 1003. Ces standards ont émergé d un projet de standardization des API des logiciels destinés àen… Wikip

Posix- est le nom d une famille de standards définie depuis 1988 par l IEEE et formellement désignée IEEE 1003.

POSIX- es el acrónimo de Portable Operating System Interface; la X egy UNIX como seña de identidad de la API. El termino fue sugerido by Richard Stallman en respuesta a la demanda de la IEEE, que buscaba un nombre fácil de recordar. Una traducción Wikipedia Español

POSIX- , 1986 im Standard 1003.1 der IEEE niedergelegte Spezifikation für Zugriffe auf System Functionnen unter Unix. Sowohl Unix Sy … Universal-Lexikon

POSIX- standartai statusas T terület informatika meghatározásais Standartų grupė, apibrėžianti operacinės sistemos sąsajas tarp joje įvykių programų bei tarnybų. Pirmuosius standartus meghatározott Elektros ir elektronikos inžinierių institutas (IEEE) Linukso… … Enciklopedinis kompiuterijos žodynas

POSIX- es el acrónimo de Portable Operating System Interface, az X de UNIX-on keresztül, az API jelölésével (System Operativo Portable Basado en UNIX). Estos son una familia de estándares de llamadas al sistema… … Enciclopedia Universal

POSIX- (UniX alapú hordozható operációs rendszer interfész) n. szabványgyűjtemény Unix (számítógép) alapú operációs rendszerekhez… Angol kortárs szótár

POSIX

Posix- A hordozható operációs rendszer interfész (POSIX [ˈpɒsɪks]) az IEEE és a Unix szabványos univerzális alkalmazásprogramozási interfész nyílt csoportja, a Schnittstelle zwischen Applikation und dem… … Deutsch Wikipedia

Könyvek

  • , Steven A. Rago, W. Richard Stevens. A "UNIX. Professzionális programozás" a legrészletesebb útmutató, amely 20 éve segíti a professzionális C programozókat abban, hogy kizárólag ...
  • UNIX. Professzionális programozás, Stephens W. Richard, Rago Stephen A. Ez a könyv méltán népszerű a komoly programozók körében szerte a világon, mert tartalmazza a UNIX és Linux kernelek kezelésével kapcsolatos legfontosabb és legpraktikusabb információkat. Ezek nélkül...