posix sistemleri. POSIX Sistemlerinde Dosya Hiyerarşisi

posix sistemleri. POSIX Sistemlerinde Dosya Hiyerarşisi

POSIX ve RTOS: sistemleştirme girişimi

Sergey Zolotarev, Nikolay Gorbunov

Bu makalenin amacı, gerçek zamanlı işletim sistemleri (RTOS) ile ilgili POSIX standardının gelişim tarihine biraz açıklık getirme girişimidir.

Giriş olarak: API'yi neden standartlaştıralım?

POSIX standardının en önemli özelliklerinden biri, karmaşık donanım ve yazılım sistemlerinin geliştiricilerinin uyması gereken "standartlaştırılmış bir programlama arabirimi" tanımlamasıdır. Bu sistemlerin yaratıcıları, (şiddetli rekabet nedeniyle) pazara sunma süresinin kısa olması, maliyetlerin en aza indirilmesi ve yatırım getirisinin hızlandırılması gibi gereksinimlerle yüzleşmek zorunda kalıyor. Aynı zamanda, geliştirme sürecindeki yavaşlamanın neden olduğu maliyetlerdeki aslan payı, programcıların uzun süredir mevcut olan işlevselliği tekrar tekrar uygulayarak "tekerleği yeniden icat etmek" zorunda kalmalarından kaynaklanmaktadır. Ancak bu şu şekilde önlenebilirdi:

  • geçmiş ve paralel projelerdeki kodun yeniden kullanılması;
  • diğer işletim sistemlerinden kod taşıma;
  • diğer projelerden geliştiricileri çekmek (diğer işletim sistemlerini kullananlar dahil).

Tüm bunlar, standartlaştırılmış bir API'ye sahip bir işletim sisteminin kullanılması sayesinde mümkündür. Ayrıca, ilk durumda bir kuruluşun belirli bir dahili standarda sahip olması yeterliyse (bu, özellikle tescilli işletim sistemleri için tipiktir), o zaman ikinci iki durum sadece genel kabul görmüş standartların - örneğin POSIX - varlığını gerektirir.

Böylece, POSIX uyumlu bir işletim sistemini projeleri için bir platform olarak kullanan geliştirici, bitmiş kodu hem geçmiş veya paralel projelerinden hem de üçüncü taraf projelerinden kaynak metin düzeyinde aktarma fırsatı elde eder. Bu, yalnızca yazılım geliştirme süresini önemli ölçüde azaltmakla kalmaz, aynı zamanda test edilen kod her zaman daha az hata içerdiğinden kalitesini de artırır.

POSIX Geliştirmede Kim Kimdir?

Ve POSIX standardının kendisiyle değil, onun üzerinde çalışan kuruluşların rollerini modernize ederek başlayacağız.

ilk üye IEEE(Elektrik ve Elektronik Mühendisleri Enstitüsü, Elektrik ve Elektronik Mühendisleri Enstitüsü), kar amacı gütmeyen bir profesyoneller derneğidir. IEEE'nin geçmişi 1884'e (resmi olarak 1963) dayanmaktadır, 150 ülkeden 380.000 bireysel üyesi vardır, bilgisayar uygulamaları, yönetim, elektrik ve bilgi teknolojisi üzerine teknik literatürün üçte birini ve profesyoneller arasında popüler olan 100'den fazla dergiyi yayınlamaktadır; ayrıca dernek yılda 300'ün üzerinde büyük konferans düzenlemektedir. IEEE, 900'den fazla mevcut standardın geliştirilmesine dahil olmuştur (www.ieee.ru/ieee.htm). Günümüzde bu enstitü standartların hazırlanması, koordinasyonu, onaylanması, yayınlanması ile uğraşmaktadır ancak resmi statüsü gereği uluslararası veya ulusal standartlar gibi belgeleri kabul etme yetkisine sahip değildir. Bu nedenle, IEEE anlayışındaki "standart" terimi, daha çok dernek tarafından kabul edilen belgelerin durumuna uygun bir "şartname" olarak anlaşılmalıdır. IEEE uyarınca, bir dizi uluslararası ve bölgesel kuruluşun - IEC, ISO, ITU (Uluslararası Telekomünikasyon Birliği), ETSI (Avrupa Telekomünikasyon Standartları Enstitüsü), CENELEC (Avrupa Elektroteknik Standardizasyon Komitesi) ve ulusal programlarına katılmaktadır. programlar, örneğin ANSI gibi böyle bir organizasyonun programında.

IEEE, POSIX standart ailesini (www.pasc.org/) geliştiren bir dernek komitesi olan PASC'yi (Taşınabilir Uygulama Standartları Komitesi) içerir. Daha önce PASC, İşletim Sistemleri Teknik Komitesi olarak biliniyordu.

Çalışmadaki ikinci katılımcı - ANSI(Amerikan Ulusal Standartlar Enstitüsü, Amerikan Ulusal Standartlar Enstitüsü), Amerika Birleşik Devletleri'ndeki standardizasyon faaliyetlerini yöneten ve koordine eden, kar amacı gütmeyen özel bir kuruluştur. Yalnızca 75 kişiyi istihdam etmektedir, ancak 1000'den fazla şirket, kuruluş, devlet kurumu ve kurumu ANSI'nin (www.ansi.org) üyesidir. ANSI, Amerika Birleşik Devletleri'ni iki büyük uluslararası standart kuruluşu olan ISO ve IEC'de temsil etmektedir.

Üçüncü üye - ISO(Uluslararası Standardizasyon Örgütü, Uluslararası Standardizasyon Örgütü). 1946 yılında Standartlar Koordinasyon Komitesi ve BM Genel Kurulu kararı ile kurulmuş ve 23 Şubat 1947 tarihinde resmi olarak çalışmaya başlamıştır (www.iso.org). ISO, merkezi sekreteryası İsviçre'nin Cenevre kentinde bulunan 146 ülkenin (bir ülke, bir ISO üyesi) ulusal standartlar enstitülerinden oluşan bir ağdır. ISO standartları teknik komitelerde geliştirilir ve bunun ilk sonucu Taslak Uluslararası Standart (DIS) belgesidir ve birkaç onaydan sonra Nihai Taslak Uluslararası Standart (FDIS) haline gelir. Daha sonra bu belgenin onaylanması hususu oya sunulur; olumlu bir sonuç ile uluslararası bir standart haline gelir.

Ve sonunda - IEC(Uluslararası Elektroteknik Komisyonu, Uluslararası Elektroteknik Komisyonu - IEC), 1906'da kurulmuştur. IEC, tüm elektrik, elektronik ve ilgili teknolojiler için uluslararası standartlar hazırlar ve yayınlar (www.iec.ch/). 1 Kasım 2004 tarihi itibariyle 64 ülkenin ulusal komiteleri bu komisyonun tam üyesiydi. IEC ayrıca İngilizce ve Fransızca olarak yayınlanan ve uluslararası standart statüsüne sahip tavsiyeler yayınlamaktadır. Bunlara dayanarak, bölgesel ve ulusal standartlar geliştirilir. Standartların hazırlanması için çeşitli alanlar IEC'nin faaliyetleri, belirli bir TC'nin faaliyetleriyle ilgilenen ulusal komitelerin de yer aldığı teknik komiteler (TC) tarafından yanıtlanır.

IEC, uluslararası standartların hazırlanmasında kilit bir kuruluştur. Bilişim teknolojisi. Bu alanda, IEC ve ISO arasındaki bir anlaşma uyarınca 1987'de oluşturulmuş ortak bir bilgi teknolojisi komitesi - JTC 1 vardır. JTC1, yazılımdan programlama dillerine, bilgisayar grafikleri ve görüntü düzenlemeye, donanım ara bağlantılarına ve güvenlik uygulamalarına kadar her şeyi denetleyen 17 alt komiteye sahiptir.

Yeni IEC standartlarının hazırlanması birkaç aşama içerir (ön hazırlık, teklif aşaması, hazırlık aşaması, teknik komite aşaması, sorgulama aşaması, onay aşaması, yayın aşaması). Bir IEC belgesinin uluslararası bir standart olmayıp yalnızca teknik bir şartname olması amaçlanıyorsa, belgenin revize edilmiş bir versiyonu şu adrese gönderilir: Ana ofis yayın için. Nihai taslak uluslararası standardın (FDIS) geliştirilmesi için dört ay ayrılmıştır. Teknik komitenin tüm üyeleri tarafından onaylandığı takdirde FDIS onay aşamasına geçmeden yayınlanmak üzere merkez ofise gönderilir. Bundan sonra FDIS, onu iki ay içinde onaylaması gereken ulusal komitelere ulaşır. Ulusal Komitelerin üçte ikisinden fazlası lehte oy kullanırsa ve olumsuz oy sayısı %25'i geçmezse, bir FDIS onaylanmış kabul edilir. Belge onaylanmazsa, incelenmek üzere teknik komitelere ve alt komitelere gönderilir. Standart, FDIS onayından en geç iki ay sonra yayınlanmalıdır.

POSIX standartlarının geliştirilmesi ve benimsenmesinde başka birçok kuruluş yer almaktadır.

açık grup bilgi teknolojileri alanında çalışan 200'e yakın üretici ve kullanıcı topluluğunu bir araya getiren uluslararası bir yazılım standardizasyon kuruluşudur (www.opengroup.org/). Açık Grup, 1995 yılında iki öncülün birleşmesiyle oluşturuldu: X/Open ve Açık Yazılım Vakfı (OSF). Open Group, yazılım sertifika metodolojileri geliştirmede ve belirli gereksinimlere uygunluğu test etmede uzmanlaşmıştır. Open Group, özellikle COE Platformu, CORBA, LDAP, Linux Standard Base, Schools Interoperability Framework (SIF), S/MIME Gateway, Single UNIX Spesifikasyonu, Wireless Application Protocol Spesifikasyonları (WAP) ve, son olarak, POSIX standart ailesi (www.opengroup.org/certification/).

Austin Ortak Standartlar Revizyon Grubu (CSRG) oluşturmak ve sürdürmek için ISO, IEC ve Açık Grup tarafından 2002 yılında oluşturulmuş ortak bir teknik çalışma grubudur. son sürümler ISO/IEC 9945-1-1996, ISO/IEC 9945-2-1993, IEEE Std 1003.1-1996, IEEE Std 1003.2-1992 ve Tek UNIX Spesifikasyonuna (www.opengroup.org/press/) dayalı olacak 1003.1 standardı 14nov02.htm).

Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) 1901'de Amerika Birleşik Devletleri'nde kurulan Ticaret Departmanının Teknoloji İdaresi (www.nist.gov/public_affairs/general2.htm) bünyesindeki federal bir kurumdur. NIST'in misyonu, ürün kalitesini iyileştirmek için standartlar ve teknolojiler geliştirmek ve teşvik etmektir. NIST, sonuçlarından biri Federal Bilgi İşleme Standartları (FIPS, www.opengroup.org/testing/fips/general_info.html) olan bir Bilgi Teknolojisi Laboratuvarı (ITL) içerir. NIST/ITL, 1991'de FIPS PUB 151-1 1990 kapsamında POSIX sertifikası için bir ilk test seti önerdi.

POSIX nedir?

Resmi olarak, terim POSIX kısaltması olarak Richard Stallman tarafından önerilmiştir. P taşınabilir Öçalışmak S un için sistem arabirimi IX(taşınabilir arayüz işletim sistemleri Unix için). POSIX, kaynak kod düzeyinde uygulama taşınabilirliği sağlamak amacıyla UNIX benzeri işletim sistemleri (ilk sürümleri 1970'lerin başlarına kadar uzanır) için geliştirilmiştir.

Arayüzün ilk açıklaması 1986'da yayınlandı, ardından IEEE-IX (IEEE'nin UNIX sürümü) olarak adlandırıldı. Ancak, ad hızla değişti, POSIX'e dönüştü ve zaten bir sonraki yayında (1986'da) bu yeni versiyon kullanıldı POSIX, bir süre, IEEE 1003.1-1988 ve ISO/IEC 9945'in bir grup ilgili belgesine referans (veya eşanlamlı) ve tamamlanmış ve onaylanmış bir uluslararası standart ISO/IEC 9945.1:1990 olarak anlaşıldı. POSIX, 1990 yılında benimsenmiştir. POSIX spesifikasyonları, standart etkileşim mekanizmasını tanımlar. uygulama programı ve OS ve şu anda IEEE, ISO, IEC ve ANSI himayesinde 30'dan fazla standart içermektedir.

POSIX, tarihi boyunca, spesifikasyon tanımlamalarında, spesifik içeriklerinde, prosedürlerinde ve doğrulama lojistiğinde çok sayıda değişiklikle uzun bir yol kat etti. O zamandan beri, çeşitli uluslararası kuruluşlar tarafından POSIX standardının birkaç sürümü yayınlandı.

POSIX Standardının Tarihçesi

IEEE Std 1003.1 spesifikasyonunun ilk versiyonu 1988'de yayınlandı. Daha sonra, IEEE Std 1003.1'in çok sayıda baskısı uluslararası standartlar olarak kabul edildi.

POSIX kilometre taşları:

1990

1988'de yayınlanan baskı revize edildi ve sonraki baskılar ve eklemeler için temel oldu. Uluslararası standart ISO/IEC 9945-1:1990 olarak onaylanmıştır.

1993

Revizyon 1003.1b-1993 yayınlandı.

1996

IEEE Std 1003.1b-1993, IEEE Std 1003.1c-1995 ve 1003.1i-1995 değiştirilmiş, ancak belgenin ana gövdesi değişmemiştir. 1996'da IEEE Std 1003.1, uluslararası ISO/IEC 9945-1:1996 standardı olarak da onaylandı.

1998

"Gerçek zamanlı" için ilk standart ortaya çıktı - IEEE Std 1003.13-1998. Gömülü gerçek zamanlı uygulamalar için POSIX standardının bir uzantısıdır.

1999

O zamana kadar bunlar ayrı standartlar olduğundan, 1003.2 standardı (Shell ve yardımcı programlar) ile birleştirme de dahil olmak üzere, standardın ana metninde son 10 yılda ilk önemli değişikliklerin yapılmasına karar verildi. PASC, IEEE 1003.1a, 1003.1d, 1003.1g, 1003.1j, 1003.1q ve 1003.2b standartlarının tamamlanmasının ardından temel metindeki değişiklikleri tamamlamaya karar vermiştir.

2004

1003.1 standardının bugüne kadarki en son revizyonu 30 Nisan'da yayınlandı ve Austin Ortak Standartlar Revizyon Grubu'nun himayesinde yayınlandı. Standardın 2001 baskısı için değiştirilmiştir. Resmi olarak, 2004 baskısı IEEE Std 1003.1, 2004 Sürümü, Açık Grup Teknik Standart Temel Spesifikasyonlar, Sayı 6 olarak bilinir ve IEEE Std 1003.1-2001, IEEE Std 1003.1-2001'i içerir /Cor 1-2002 ve IEEE Std 1003.1-2001/Cor 2-2004.

RTOS için en önemli POSIX standartları

Gerçek zamanlı işletim sistemleri için, standardın yedi özelliği çok önemlidir (1003.1a, 1003.1b, 1003.1c, 1003.1d, 1003.1j, 1003.21), ancak ticari işletim sistemlerinde yalnızca üçü geniş destek almıştır:

  • 1003.1a (İşletim Sistemi Tanımı) ana işletim sistemi arabirimlerini, iş kontrolünü, sinyalleri, işlevleri tanımlar dosya sistemi ve cihazlar, kullanıcı grupları, işlem hatları, FIFO arabellekleri ile çalışın;
  • 1003.1b (Gerçek Zamanlı Uzantılar) gerçek zamanlı sinyaller, öncelik programlama, zamanlayıcılar, senkronize ve eşzamansız G/Ç, semaforlar, paylaşılan hafıza, mesajlar. Başlangıçta (1993'e kadar) bu standarda POSIX.4 adı verildi.
  • 1003.1c (İplikler) iş parçacığı (thread) destek işlevlerini tanımlar - iş parçacığı yönetimi, iş parçacığı öznitelikleri, muteksler, zamanlama. Başlangıçta POSIX.4a olarak anılır.

Std 1003.1-2001 projesi kapsamında hayata geçirilen OS RV için bu standartlara ek olarak aşağıdaki standartlar önemlidir:

  • IEEE 1003.1d-1999. Ek uzantılar gerçek zamanlı. Başlangıçta POSIX.4b olarak anılır;
  • IEEE 1003.1j-2000.İyileştirilmiş (gelişmiş) gerçek zamanlı uzantılar;
  • IEEE 1003.1q-2000. izleme.

Sertifikasyon prosedürü

POSIX standardına uymak için, bir işletim sisteminin uygun bir dizi testin sonuçlarına göre sertifikalandırılması gerekir. POSIX'in kullanıma sunulmasından bu yana, test paketi resmi ve olgusal değişikliklere uğradı.

1991'de NIST, FIPS 151-1 POSIX test programını geliştirdi (http://standards.ieee.org/regauth/posix/POSIX-A.FM5.pdf). Bu test seçeneği, 3 Mayıs 1989 tarihli IEEE 1003.3 "POSIX'e Uygunluğu Ölçmek İçin Test Yöntemleri Standardı" Taslağı 10'a dayanıyordu. 1993'te NIST, FIPS 151-1 için POSIX Test Programını tamamladı ve FIPS 151-2 programını başlattı. (www.itl.nist.gov/fipspubs/fip151-2.htm). ISO/IEC 9945-1:1990 standardı olan "Bilgi Teknolojisi - Taşınabilir İşletim Sistemi Arayüzü (POSIX) - Bölüm 1: Sistem Uygulama Programı Arayüzü (API)" FIPS 151-2'ye uyarlanmıştır. FIPS 151-2 için test setleri, IEEE 2003.1-1992 "POSIX'e Uygunluğu Ölçmek İçin Test Yöntemleri Standardı"na dayalıdır.

NIST, iki sertifika metodolojisi arasında ayrım yapar: kendi kendini sertifikalandırma ve IEEE Akredite POSIX Test Laboratuvarları (APTL) tarafından sertifikalandırma. İlk durumda, şirket testleri kendi başına, ancak NIST tarafından onaylanan bir plana göre yürütür. İkinci durumda, testler bağımsız bir laboratuvar tarafından otomatikleştirilmiş test takımları kullanılarak gerçekleştirilir. Toplamda iki APTL laboratuvarı akredite edildi: Mindcraft (www.mindcraft.com) ve Perennial (www.peren.com).

1997'de NIST/ITL, 1997 yılının sonunda FIPS 151-2 sertifikasyonuna son verme niyetini açıkladı. Mevcut yıl(resmen - 31 Aralık 1997), aynı zamanda Open Group, aynı yılın 1 Ekim'inden itibaren NIST / ITL programına dayalı FIPS 151-2'ye göre bir sertifika hizmetini devralacağını duyurdu. . Aynı işlevler, 1 Ocak 1998'de IEEE Standards Association (IEEE-SA) tarafından devralındı ​​ve yine FIPS 151-2'ye dayanıyordu.

2003 yılında, IEEE-SA ve Open Group, IEEE 1003.1™ 2001 ile başlayan en son POSIX sürümlerini sertifikalandırmak için yeni bir ortak program duyurdu. Open Group'un şu anda IEEE Std 1003.1-1996, IEEE Std 1003.2-1992'yi kapsayan birkaç test paketi var. IEEE Std 1003.1-2003 ve IEEE Std 1003.13-1998 (www.opengroup.org/testing/testsuites/posix.html). Bir ürün, tam sertifikasyon prosedürünü geçerse, test sonuçlarına göre tüm gereklilikleri karşılıyorsa ve sertifikalı ürünlerin resmi sicilinde listeleniyorsa POSIX sertifikalı olarak kabul edilir.

Test paketleri şunları içerir:

  • IEEE Std 1003.1-1990 sistem arabirimleri için VSX-PCTS1990 (www.opengroup.org/testing/testsuites/vsxpcts1990.htm) uyumluluk testi paketi;
  • IEEE Std 1003.13-1998 Profil PSE54 (çok amaçlı gerçek zamanlı) için VSPSE54 (www.opengroup.org/testing/testsuites/VSPSE54.htm) uyumluluk testi paketi;
  • IEEE Std 1003.1-2003 sistem arabirimleri için VSX-PCTS2003 (www.opengroup.org/testing/testsuites/vsxpcts2003.htm) uyumluluk testi paketi (yalnızca gerekli parçalar);
  • VSC-PCTS2003 (www.opengroup.org/testing/testsuites/vscpcts2003.htm), IEEE Std 1003.1-2003 için bir dizi uyumluluk testidir (kabuk ve yardımcı programlar yalnızca zorunlu parçalardır).

Buna ek olarak Open Group, POSIX Realtime standartları ve Embedded POSIX standartları profili için testler geliştirmiştir. POSIX Gerçek Zamanlı test paketi (www.opengroup.org/testing/testsuites/realtime.html) aşağıdaki testleri içerir:

  • IEEE POSIX 1003.1b-1993/1003.1i-1995 Gerçek zamanlı uzantı ve IEEE POSIX 1003.1,2003 Sürümü;
  • IEEE Std POSIX 1003.1c-1995 Konular (pthreads) uzantısı ve IEEE POSIX 1003.1,2003 Sürümü;
  • IEEE POSIX 1003.1d-1999 Ek Gerçek Zamanlı Uzantı ve IEEE POSIX 1003.1,2003 Sürümü;
  • IEEE POSIX 1003.1j-2000 Gelişmiş Gerçek Zamanlı Uzantı ve IEEE POSIX 1003.1,2003 Sürümü;
  • IEEE POSIX 1003.1q-2000 Trace ve IEEE POSIX 1003.1,2003 Sürümü ve IEEE POSIX 1003.1,2003 Sürümü;

Embedded POSIX Standards Profile Test Suite (www.opengroup.org/testing/testsuites/embedded.html) aşağıdaki testleri içerir:

  • IEEE POSIX 1003.1-1990 (5310 test);
  • IEEE POSIX 1003.1b-1993/1003.1i-1995 Gerçek zamanlı uzantı (1430 test);
  • IEEE Std POSIX 1003.1c-1995 Konular (pthreads) uzantısı (1232 test);
  • IEEE POSIX 1003.13-1998 Profili 52.

Terminolojideki karışıklık hakkında biraz

POSIX standartlar grubuna uygulanan ingilizce dili genellikle bir değil, üç terim kullanılır. Ne yazık ki, anlam bakımından benzerler ve genellikle aynı şekilde tercüme ediliyorlar, bu da biraz kafa karışıklığına neden oluyor. Bu terimler:

  • uyumluluk (kelimenin tam anlamıyla - "uyumluluk");
  • uyumluluk (kelimenin tam anlamıyla - "uyum");
  • uygunluk (kelimenin tam anlamıyla - "tutarlılık").

POSIX ile ilgili ilk terim resmi olarak tanımlanmamıştır. İkincisi, yazılım ürünü üreticisinin bağımsız olarak bu ürünün (tamamen veya kısmen) listelenen NIST-PCTS standartlarına uygun olduğunu beyan ettiği anlamına gelir. Üçüncü terim şunu ima eder: yazılım akredite bir laboratuvarın yardımıyla veya Açık Grup içinde yerleşik test sistemini geçti ve bunun belgesel kanıtı var (Uygunluk Beyanı olarak adlandırılır). Ayrıca makale metninde, belirsizliği ortadan kaldırmak için orijinal terimler her yerde verilecektir.

Sertifikalı RT İşletim Sistemi

Sertifikalı bir RT OS hakkındaki verilerin resmi bir kayıtta yayınlanmasını ve uygunluk düzeyinde test yapılmasını gerektiren katı kurallara bağlı kalırsak, şu anda yalnızca iki sertifikalı RT OS vardır (veriler kronolojik sırayla verilmiştir):

Lynx OS v.3(Lynx Real-Time Systems'ın bir ürünü, şimdi LynuxWorks, Inc., www.lynuxworks.com), OEM'ler ve telekomünikasyon ekipmanı üreticileri, özellikle askeri hava indirme sistemleri üreticileri tarafından gerçek zamanlı gömülü sistem yazılımlarının geliştirilmesi için tasarlanmıştır. Geliştirme hem hedef sistemin kendisinde (kendi kendine barındırılan) hem de enstrümantal bilgisayarda (ana bilgisayar) gerçekleştirilebilir, bitmiş yazılım hedef sistemde (hedef) çalışmak üzere tasarlanmıştır. LynxOS v.3, Intel ve PowerPC platformlarında onaylanmış POSIX uyumluluğudur. Bununla ilgili bilgiler IEEE web sitesinde http://standards.ieee.org/regauth/posix/posix2.html bulunabilir. LynxOS, NIST FIPS 151-2 Uyumluluk Test Paketi kapsamında bir IEEE POSIX Onaylı POSIX Test Laboratuvarı olan Mindcraft tarafından POSIX 1003.1-1996 sertifikasına sahiptir. Sertifikasyon belge numarası: Referans Dosyası: IP-2LYX002, Referans Dosyası: IP-2LYX001.

DÜRÜSTLÜK v.5(Green Hills Software'in bir ürünü, www.ghs.com) uygunluğu Temmuz 2004'te PowerPC mimarisi için System Interfaces tarafından POSIX 1003.1-2003'e göre onaylanmıştır (http://get.posixcertified.ieee.org/select_product.tpl). VSX-PCTS 2003 test paketi.

POSIX ve QNX işletim sistemi

QNX v.4.20 (QNX Software Systems, www.qnx.com tarafından geliştirilmiştir) platform için POSIX 1003.1-1988 ile uyumluluk sertifikasına sahiptir Intel tarafından DataFocus Anonim Şirketi. 13 Eylül 1993'te test edildi, 1 Kasım 1993'te yayınlanan belge. NIST PCTS 151-1 test paketi, sürüm 1.1.

QNX Neutrino (sürüm 6.3), aşağıdaki POSIX ailesi standartlarına uygundur (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).

QNX Neutrino'nun yaratıcısı olan QNX Software Systems, QNX Neutrino'nun bu standartlardan bazılarına göre onaylanmasını (uygunluğunu) da planlamaktadır; 2005 yılı için çalışma planlanmaktadır (www.qnx.com/news/pr_959_1.html).

Edebiyat

  1. IEEE Standartları Birliği Kullanım Kılavuzu. IEEE, Ekim 2004.
  2. Kevin M. Obeland. Gerçek Zamanlı POSIX, Gömülü Sistem Programlama, 2001.
  3. IEEE/ANSI Standardı 1003.1: Bilgi Teknolojisi - (POSIX) - Bölüm1: Sistem Uygulaması: Program Arayüzü (API).
  4. Gallmeister, B.Ö. Gerçek Dünya için Programlama, POSIX.4 Sivastopol, CA: O'Reilly & Associates, 1995.
  5. Ulusal Standartlar ve Teknoloji Enstitüsü, PCTS:151-2, POSIX Test Paketi.
  6. POSIX: IEEE ve The Open Group tarafından onaylanmıştır. Sertifikalı Politika. Açık Grup, 21 Ekim 2003, Revizyon 1.1.

Kurs, Mobil İşletim Sistemi Arayüzü (POSIX) standardını ve bu standarda dayalı programlama uygulamaları için teknikleri ve yöntemleri çok sayıda örnekle açıklamaktadır. Çok işlemli sistemlerin programlanması, dağıtılmış konfigürasyonlar çerçevesinde uygulamaların etkileşimi sorularına değinilir. Yazılımın (SW) hareketliliğinin (taşınabilirlik, taşınabilirlik) sağlanması, istisnai öneme sahip ve karmaşık bir görevdir; günümüzde bu durumun kapsamlı bir gerekçelendirmeye pek ihtiyacı yok. Sistem hizmetleri düzeyinde, böyle bir ortam POSIX (Taşınabilir İşletim Sistemi Arayüzü) standardı ile tanımlanır; isim, Özgür Yazılım Vakfı'nın kurucusu, tanınmış bir uzman olan Richard Stallman tarafından önerildi.

Kurs, "üçlü standart" olarak adlandırılabilecek 2003 baskısındaki en modern versiyonunu, yani: IEEE Std 1003.1 standardı, teknik standart Açık Grup ve en önemlisi, uluslararası standart ISO / IEC 9945. Bu kursun temel amacı, standartlaştırılmış yardımcı programları ve işlevleri kullanma tekniklerini ve yöntemlerini anlamaktır. Amaç, işletim sistemi uygulamasının tüm inceliklerini, olası tüm hata kodlarını vb. vurgulayarak standardı yeniden anlatmak değildi. Bize göre asıl mesele, standardın ruhunu hissetmek, onun doğasında var olan olanakları mobil bir şekilde nasıl kullanacağını öğrenmek. Okuyucunun C dilini bildiğini varsayarak, ne sözdizimi ne de ders kitabı kitaplığı işlevlerini dikkate almadık. Standart komut dili ve yorumlayıcısına gelince, bu konu biraz ayrıntılı olarak ele alınsa da, pratik yapan birçok programcı diğer yorumlayıcıları kullanmayı tercih eder. Program örneklerine hem hacim hem de rol açısından önemli bir yer verilmiştir. Standardın hükümlerinin çoğu (örneğin, hata durumlarının ele alınmasıyla ilgili) ana metinde değil, ilgili örneklerde belirtilmiştir.Sonuncusu, mümkünse, çeşitli donanım ve yazılım platformlarında derlenmiş ve yürütülmüştür. bir dereceye kadar POSIX standardına uygun olduğunu iddia ediyor. Bununla birlikte, gözden kaçırmalar elbette mümkündür. Hem bir bütün olarak kursla hem de bireysel program örnekleriyle ilgili tüm yorum ve öneriler için minnettar olacağız.

POSIX standardının oluşturulma tarihi ve mevcut durumu.

Yazılımın (SW) hareketliliğinin (taşınabilirlik, taşınabilirlik) sağlanması, istisnai öneme sahip ve karmaşık bir görevdir; zamanımızda, bu durumun kapsamlı gerekçelere pek ihtiyacı yoktur. Yazılım taşınabilirliğini artırmanın genel olarak kabul edilen yollarından biri, uygulama ortamını standartlaştırmaktır: sağlanan programlama arabirimleri, yardımcı programlar vb. Sistem hizmetleri düzeyinde, böyle bir ortam POSIX (Taşınabilir İşletim Sistemi Arayüzü) standardı ile tanımlanır; isim, Özgür Yazılım Vakfı'nın kurucusu ünlü uzman Richard Stallman tarafından önerildi.

Ön Sayfa.
Çıktı.
Anlatım 1. POSIX standardının temel kavramları ve fikirleri.
Anlatım 2. Kabuk dili.
Anlatım 3. "Kullanıcı" kavramına hizmet eden yardımcı programlar ve işlevler.
Anlatım 4. Dosya sisteminin organizasyonu.
Anlatım 5. Dosya girişi/çıkışı.
Anlatım 6. Yapılandırılmış veri işleme araçları.
Anlatım 7. Süreçler.
Anlatım 8. Süreçler arası iletişim araçları.
Anlatım 9. Ortak terminal arayüzü.
Anlatım 10. Hostların özelliklerinin sorgulanması ve uygulamalarda kullanımları.
Anlatım 11. Ağ tesisleri.
Anlatım 12. Zaman ve onunla çalışın.
Anlatım 13. Dilsel ve kültürel çevre.
Anlatım 14. Sonuç.
Kaynakça.


Ücretsiz indirin e-kitap uygun bir formatta izleyin ve okuyun:
POSIX standardında Programlama, bölüm 1, Galatenko V.A., 2016 - fileskachat.com kitabını hızlı ve ücretsiz indirin.

STANDARTLAR

Sergey Zolotarev,

Bu makalenin amacı, gerçek zamanlı işletim sistemleri (RTOS) ile ilgili POSIX standardının gelişim tarihine biraz açıklık getirme girişimidir.

Giriş olarak: API'yi neden standartlaştıralım?

POSIX standardının en önemli özelliklerinden biri, karmaşık donanım ve yazılım sistemlerinin geliştiricilerinin uyması gereken "standartlaştırılmış bir programlama arabirimi" tanımlamasıdır. Bu sistemlerin yaratıcıları, (şiddetli rekabet nedeniyle) pazara sunma süresinin kısa olması, maliyetlerin en aza indirilmesi ve yatırım getirisinin hızlandırılması gibi gereksinimlerle yüzleşmek zorunda kalıyor. Aynı zamanda, geliştirme sürecindeki yavaşlamanın neden olduğu maliyetlerdeki aslan payı, programcıların uzun süredir mevcut olan işlevselliği tekrar tekrar uygulayarak "tekerleği yeniden icat etmek" zorunda kalmalarından kaynaklanmaktadır. Ancak bu şu şekilde önlenebilirdi:

Geçmiş ve paralel projelerdeki kodun yeniden kullanılması;

Diğer işletim sistemlerinden kod taşıma;

Diğer projelerden (diğer işletim sistemlerini kullananlar dahil) geliştiricileri çekmek.

Tüm bunlar, standartlaştırılmış bir API'ye sahip bir işletim sisteminin kullanılması sayesinde mümkündür. Ayrıca, ilk durumda bir kuruluşun belirli bir dahili standarda sahip olması yeterliyse (bu, özellikle tescilli işletim sistemleri için tipiktir), o zaman ikinci iki durum sadece genel kabul görmüş standartların - örneğin POSIX - varlığını gerektirir.

Böylece, POSIX uyumlu bir işletim sistemini projeleri için bir platform olarak kullanan geliştirici, bitmiş kodu hem geçmiş veya paralel projelerinden hem de üçüncü taraf projelerinden kaynak metin düzeyinde aktarma fırsatı elde eder. Bu, yalnızca yazılım geliştirme süresini önemli ölçüde azaltmakla kalmaz, aynı zamanda test edilen kod her zaman daha az hata içerdiğinden kalitesini de artırır.

POSIX Geliştirmede Kim Kimdir?

Ve POSIX standardının kendisiyle değil, onun üzerinde çalışan kuruluşların rollerini modernize ederek başlayacağız.

ilk üye IEEE(Elektrik ve Elektronik Mühendisleri Enstitüsü, Elektrik ve Elektronik Mühendisleri Enstitüsü), kar amacı gütmeyen bir profesyoneller derneğidir. IEEE 1884'e (resmi olarak 1963'ten beri) dayanmaktadır, 150 ülkeden 380.000 bireysel üyesi vardır, bilgisayar uygulamaları, yönetim, elektrik ve bilgi teknolojisi üzerine teknik literatürün üçüncü cildini ve profesyoneller arasında popüler olan 100'den fazla dergiyi yayınlamaktadır; ayrıca dernek yılda 300'ün üzerinde büyük konferans düzenlemektedir. IEEE, 900'den fazla mevcut standardın geliştirilmesine dahil olmuştur (www.ieee.ru/ieee.htm). Günümüzde bu enstitü standartların hazırlanması, koordinasyonu, onaylanması, yayınlanması ile uğraşmaktadır ancak resmi statüsü gereği uluslararası veya ulusal standartlar gibi belgeleri kabul etme yetkisine sahip değildir. Bu nedenle, IEEE anlayışındaki "standart" terimi, daha çok dernek tarafından kabul edilen belgelerin statüsüne uygun olan "şartname" anlamına gelir. IEEE uyarınca, bir dizi uluslararası ve bölgesel kuruluşun - IEC, ISO, ITU (Uluslararası Telekomünikasyon Birliği), ETSI (Avrupa Telekomünikasyon Standartları Enstitüsü), CENELEC (Avrupa Elektroteknik Standardizasyon Komitesi) programlarına ve ulusal programlara katılmaktadır. , örneğin, ANSI gibi bir organizasyonun programında.

IEEE, POSIX standart ailesini geliştiren bir dernek komitesi olan PASC'yi (Taşınabilir Uygulama Standartları Komitesi; www.pasc.org/) içerir. Daha önce PASC, İşletim Sistemleri Teknik Komitesi olarak biliniyordu.

Çalışmanın ikinci katılımcısı, Amerika Birleşik Devletleri'ndeki standardizasyon faaliyetlerini yöneten ve koordine eden, kar amacı gütmeyen özel bir kuruluş olan ANSI'dir (Amerikan Ulusal Standartlar Enstitüsü, www.ansi.org). Yalnızca 75 kişiyi istihdam etmektedir, ancak ANSI üyeleri 1000'den fazla şirket, kuruluş, devlet kurumu ve kurumudur. ANSI, Amerika Birleşik Devletleri'ni iki büyük uluslararası standart kuruluşu olan ISO ve IEC'de temsil etmektedir.

Üçüncü üye - ISO(Uluslararası Standardizasyon Örgütü, Uluslararası Standardizasyon Örgütü; www.iso.org). 1946 yılında Standartlar Koordinasyon Komitesi ve BM Genel Kurulu kararı ile kurulmuş ve 23 Şubat 1947'de resmi olarak çalışmaya başlamıştır. ISO, 146 ülkeden (bir ülke ISO'nun bir üyesidir) ulusal standartlar enstitülerinden oluşan bir ağdır. Cenevre'de (İsviçre) bir merkezi sekreterya ile. ISO standartları teknik komitelerde geliştirilir ve bunun ilk sonucu Taslak Uluslararası Standart (DIS) belgesidir ve birkaç onaydan sonra Nihai Taslak Uluslararası Standart (FDIS) haline gelir. Daha sonra bu belgenin onaylanması hususu oya sunulur; olumlu bir sonuç ile uluslararası bir standart haline gelir.

Ve sonunda - IEC(Uluslararası Elektroteknik Komisyonu, Uluslararası Elektroteknik Komisyonu - IEC; www.iec.ch/), 1906 yılında kurulmuştur. IEC, tüm elektrik, elektronik ve ilgili teknolojiler için uluslararası standartlar hazırlar ve yayınlar. 1 Kasım 2004 tarihi itibariyle 64 ülkenin ulusal komiteleri bu komisyonun tam üyesiydi. IEC ayrıca İngilizce ve Fransızca olarak yayınlanan ve uluslararası standart statüsüne sahip tavsiyeler yayınlamaktadır. Bunlara dayanarak, bölgesel ve ulusal standartlar geliştirilir. IEC'nin çeşitli faaliyet alanlarındaki standartların hazırlanmasından, belirli bir TC'nin faaliyetleriyle ilgilenen ulusal komitelerin de yer aldığı teknik komiteler (TC) sorumludur.

IEC- bilgi teknolojisi için uluslararası standartların hazırlanmasında kilit bir kuruluş. Bu alanda, IEC ve ISO arasındaki bir anlaşma uyarınca 1987'de oluşturulmuş ortak bir bilgi teknolojisi komitesi - JTC 1 vardır. JTC1, yazılımdan programlama dillerine, bilgisayar grafikleri ve görüntü düzenlemeye, donanım ara bağlantılarına ve güvenlik uygulamalarına kadar her şeyi denetleyen 17 alt komiteye sahiptir.

Yeni IEC standartlarının hazırlanması birkaç aşama içerir (ön hazırlık, teklif aşaması, hazırlık aşaması, teknik komite aşaması, sorgulama aşaması, onay aşaması, yayın aşaması). Bir IEC belgesinin uluslararası bir standart olmayıp sadece teknik şartname olması amaçlanıyorsa, belgenin revize edilmiş hali yayınlanmak üzere merkez ofise gönderilir. Nihai taslak uluslararası standardın (FDIS) geliştirilmesi için dört ay ayrılmıştır. Teknik komitenin tüm üyeleri tarafından onaylandığı takdirde FDIS onay aşamasına geçmeden yayınlanmak üzere merkez ofise gönderilir. Bundan sonra FDIS, onu iki ay içinde onaylaması gereken ulusal komitelere ulaşır. Ulusal Komitelerin üçte ikisinden fazlası lehte oy kullanırsa ve olumsuz oy sayısı %25'i geçmezse, bir FDIS onaylanmış kabul edilir. Belge onaylanmazsa, incelenmek üzere teknik komitelere ve alt komitelere gönderilir. Standart, FDIS onayından en geç iki ay sonra yayınlanmalıdır.

POSIX standartlarının geliştirilmesi ve benimsenmesinde başka birçok kuruluş yer almaktadır.

açık grup- bilgi teknolojisi alanında çalışan yaklaşık 200 üretici ve kullanıcı topluluğunu bir araya getiren uluslararası bir yazılım standardizasyonu organizasyonu (www.opengroup.org/).OpenGroup, 1995 yılında iki öncülünün birleştirilmesiyle oluşturuldu: X / Open ve the Açık Yazılım Vakfı (OSF). Open Group, yazılım sertifika metodolojileri geliştirmede ve belirli gereksinimlere uygunluğu test etmede uzmanlaşmıştır. Open Group, özellikle COE Platformu, CORBA, LDAP, Linux Standard Base, Schools Interoperability Framework (SIF), S/MIME Gateway, Single UNIX Spesifikasyonu, Wireless Application Protocol Spesifikasyonları (WAP) ve, son olarak, POSIX standart ailesi (www.opengroup.org/certification/).

Austin Ortak Standartlar Revizyon Grubu (CSRG)- ISO / IEC 9945-1-1996, ISO / IEC 9945 temelinde oluşturulacak olan 1003.1 standardının en son sürümlerini oluşturmak ve sürdürmek için ISO, IEC ve Açık Grup tarafından 2002 yılında oluşturulmuş ortak bir teknik çalışma grubu -2-1993, IEEE Std 1003.1-1996, IEEE Std 1003.2-1992 ve Tek UNIX Spesifikasyonu (www.opengroup.org/press/14nov02.htm).

Ulusal Standartlar ve Teknoloji Enstitüsü (NIST)- 1901'de ABD'de kurulan Ticaret Departmanının Teknoloji İdaresi (www.nist.gov/public_affairs/general2.htm) bünyesindeki bir federal kurum. NIST'in görevi, ürün kalitesini iyileştirmek için standartlar ve teknolojiler geliştirmek ve teşvik etmektir. NIST'in bir Bilgi Teknolojisi Laboratuvarı vardır (Bilgi Teknolojileri Laboratuvarı - ITL) sonuçlarından biri Federal Bilgi İşlem Standartları'dır (FIPS, www.opengroup.org/testing/fips/general_info.html).NIST/ITL, 1991'de FIPS PUB 151- kapsamında POSIX sertifikasyonu için ilk test setini önerdi. 1 1990.

POSIX nedir?

Resmi olarak, terim POSIX kısaltması olarak Richard Stallman tarafından önerilmiştir. P taşınabilir Öçalışmak S un için sistem arabirimi IX(Unix için taşınabilir işletim sistemi arabirimi). POSIX, kaynak kod düzeyinde uygulama taşınabilirliği sağlamak amacıyla UNIX benzeri işletim sistemleri (ilk sürümleri 1970'lerin başlarına kadar uzanır) için geliştirilmiştir.

Arayüzün orijinal açıklaması, IEEE-IX (IEEE'nin UNIX versiyonu) olarak adlandırıldığı 1986 yılında yayınlandı. Ancak, ad hızla POSIX olarak değişti ve bir sonraki yayın (1986'da) bu yeni varyantı kullandı. Bir süre POSIX, IEEE 1003.1-1988 ve ISO/IEC 9945'in ilgili bir grup belgesine referans (veya eşanlamlı) olarak anlaşıldı ve eksiksiz ve onaylanmış bir uluslararası standart olarak ISO/IEC 9945.1: 1990 POSIX kabul edildi. 1990. POSIX belirtimleri, uygulama programı ile işletim sistemi arasındaki etkileşim mekanizması için bir standart tanımlar ve şu anda IEEE, ISO, IEC ve ANSI himayesinde 30'dan fazla standart içerir.

POSIX, tarihi boyunca, spesifikasyon tanımlamalarında, spesifik içeriklerinde, prosedürlerinde ve doğrulama lojistiğinde çok sayıda değişiklikle uzun bir yol kat etti. O zamandan beri, çeşitli uluslararası kuruluşlar tarafından POSIX standardının birkaç sürümü yayınlandı.

POSIX Standardının Tarihçesi

IEEE Std 1003.1 spesifikasyonunun ilk versiyonu 1988'de yayınlandı. Daha sonra, IEEE Std 1003.1'in çok sayıda baskısı uluslararası standartlar olarak kabul edildi. POSIX kilometre taşları:

- 1990 1988'de yayınlanan baskı revize edildi ve sonraki baskılar ve eklemeler için temel oldu. Uluslararası standart ISO/IEC 9945-1:1990 olarak onaylanmıştır.

- 1993 Revizyon 1003.1b-1993 yayınlandı.

- 1996 IEEE Std 1003.1b-1993, IEEE Std 1003.1c-1995 ve 1003.1i-1995 değiştirilmiş, ancak belgenin ana gövdesi değişmemiştir. 1996'da IEEE Std 1003.1, uluslararası ISO/IEC 9945-1:1996 standardı olarak da onaylandı.

- 1998"Gerçek zamanlı" için ilk standart ortaya çıktı - IEEE Std 1003.13-1998. Gömülü gerçek zamanlı uygulamalar için POSIX standardının bir uzantısıdır.

- 1999 O zamana kadar bunlar ayrı standartlar olduğundan, 1003.2 standardı (Shell ve yardımcı programlar) ile birleştirme dahil olmak üzere, standardın ana metninde son 10 yıldaki ilk önemli değişikliklerin yapılmasına karar verildi. PASC, IEEE 1003.1a, 1003.1d, 1003.1g, 1003.1j, 1003.1q ve 1003.2b standartlarının tamamlanmasının ardından temel metindeki değişiklikleri tamamlamaya karar vermiştir.

- 2004 1003.1 standardının bugüne kadarki en son revizyonu 30 Nisan'da yayınlandı ve Austin Ortak Standartlar Revizyon Grubu'nun himayesinde yayınlandı. Standardın 2001 baskısı için değiştirilmiştir. Resmi olarak, 2004 baskısı IEEE Std 1003.1, 2004 Sürümü, Açık Grup Teknik Standart Temel Spesifikasyonlar, Sayı 6 olarak bilinir ve IEEE Std 1003.1-2001, IEEE Std 1003.1-2001'i içerir /Cor 1-2002 ve IEEE Std 1003.1-2001/Cor 2-2004.

RTOS için en önemli POSIX standartları

Gerçek zamanlı işletim sistemleri için, standardın yedi özelliği çok önemlidir, ancak ticari işletim sistemlerinde yalnızca üçü geniş destek almıştır:

1003.1a (OS Tanımı), ana işletim sistemi arayüzlerini, iş kontrolünü, sinyalleri, dosya sistemi ve cihaz işlevlerini, kullanıcı gruplarını, ardışık düzenleri, FIFO arabelleklerini tanımlar;

1003.1b (Gerçek Zamanlı Uzantılar), gerçek zamanlı sinyaller, öncelik programlama, zamanlayıcılar, senkronize ve asenkron G/Ç, semaforlar, paylaşılan hafıza, mesajlar gibi gerçek zamanlı uzantıları açıklar. Başlangıçta (1993'ten önce) bu standarda POSIX.4 adı verildi;

1003.1c (Threads) thread destek fonksiyonlarını tanımlar - thread yönetimi, thread öznitelikleri, muteksler, zamanlama. Başlangıçta POSIX.4a olarak anılır.

Std 1003.1-2001 projesi kapsamında hayata geçirilen OS RV için bu standartlara ek olarak aşağıdaki standartlar önemlidir:

IEEE 1003.1d-1999. Ek gerçek zamanlı uzantılar. Başlangıçta POSIX.4b olarak anılır;

IEEE 1003.1j-2000. İyileştirilmiş (gelişmiş) gerçek zamanlı uzantılar;

IEEE 1003.1q-2000. izleme.

Sertifikasyon prosedürü

POSIX standardına uymak için, bir işletim sisteminin uygun bir dizi testin sonuçlarına göre sertifikalandırılması gerekir. POSIX'in kullanıma sunulmasından bu yana, test paketi resmi ve olgusal değişikliklere uğradı.

1991'de NIST, FIPS 151-1 POSIX test programını geliştirdi (http://standards.ieee.org/regauth/posix/POSIX-A.FM5.pdf). Bu test seçeneği, 3 Mayıs 1989 tarihli IEEE 1003.3 "POSIX'e Uygunluğu Ölçmek İçin Test Yöntemleri Standardı" Taslağı 10'a dayanıyordu. 1993'te NIST, FIPS 151-1 için POSIX Test Programını tamamladı ve FIPS 151-2 programını başlattı. (www.itl.nist.gov/fipspubs/fip151-2.htm). ISO/IEC 9945-1:1990. FIPS 151-2 için test setleri, IEEE 2003.1-1992 "POSIX'e Uygunluğu Ölçmek İçin Test Yöntemleri Standardı"na dayalıdır.

NIST, iki sertifika metodolojisi arasında ayrım yapar: kendi kendini sertifikalandırma ve IEEE onaylı test laboratuvarları (Accredited POSIX Testing Laboratories - APTL) tarafından sertifikalandırma. İlk durumda, şirket testleri kendi başına, ancak NIST tarafından onaylanan bir plana göre yürütür. İkinci durumda, testler bağımsız bir laboratuvar tarafından otomatikleştirilmiş test takımları kullanılarak gerçekleştirilir. Toplamda iki APTL laboratuvarı akredite edildi: Mindcraft (www.mindcraft.com) ve Perennial (www.peren.com).

1997'de NIST/ITL, FIPS 151-2 sertifikasını cari yılın sonunda (resmi olarak 31 Aralık 1997) sona erdirme niyetini açıklarken, Open Group da aynı sertifikayı 1 Ekim'den itibaren devralacağını duyurdu. yıl, NIST/ITL programına dayalı bir FIPS 151-2 sertifika hizmeti. Aynı işlevler, 1 Ocak 1998'de IEEE Standards Association (IEEE-SA) tarafından devralındı ​​ve yine FIPS 151-2'ye dayanıyordu.

2003 yılında, IEEE-SA ve Open Group, IEEE 1003.1(tm) 2001 ile başlayan en son POSIX sürümlerini sertifikalandırmak için yeni bir ortak program duyurdu. Open Group'un şu anda IEEE Std 1003.1-1996, IEEE Std 1003'ü kapsayan birkaç test paketi var.

2-1992, IEEE Std 1003.1-2003 ve IEEE Std 1003.13-1998 (www.opengroup.org/testing/testsuites/posix.html). Bir ürün, tam sertifikasyon prosedürünü geçerse, test sonuçlarına göre tüm gereklilikleri karşılıyorsa ve sertifikalı ürünlerin resmi sicilinde listeleniyorsa POSIX sertifikalı olarak kabul edilir.

Test paketleri şunları içerir:

VSX-PCTS1990 (www.opengroup.org/testing/testsuites/vsxpcts1990.htm) - IEEE Std 1003.1-1990 sistem arabirimleri için uygunluk testi paketi;

IEEE Std 1003.13-1998 Profil PSE54 (çok amaçlı gerçek zamanlı) için VSPSE54 (www.opengroup.org/testing/testsuites/VSPSE54.htm) uyumluluk testi paketi;

VSX-PCTS2003 (www.opengroup.org/testing/testsuites/vsxpcts2003.htm) - IEEE Std 1003.1-2003 sistem arabirimleri için uygunluk testi paketi (yalnızca gerekli parçalar);

VSC-PCTS2003 (www.opengroup.org/testing/testsuites/vscpcts2003.htm), IEEE Std 1003.1-2003 için bir dizi uygunluk testidir (kabuk ve yardımcı programlar - yalnızca zorunlu parçalar).

Buna ek olarak Open Group, POSIX Realtime standartları ve Embedded POSIX standartları profili için testler geliştirmiştir. POSIX Gerçek Zamanlı test paketi (www.opengroup.org/testing/testsuites/realtime.html) aşağıdaki testleri içerir:

IEEE POSIX 1003.1b-1993/1003.1i-1995 Gerçek zamanlı uzantı ve IEEE POSIX 1003.1,2003 Sürümü;

IEEE Std POSIX 1003.1c-1995 Konular (pthreads) uzantısı ve IEEE POSIX 1003.1,2003 Sürümü;

IEEE POSIX 1003.1d-1999 Ek Gerçek Zamanlı Uzantı ve IEEE POSIX 1003.1,2003 Sürümü;

IEEE POSIX 1003.1j-2000 Gelişmiş Gerçek Zamanlı Uzantı ve IEEE POSIX 1003.1,2003 Sürümü;

IEEE POSIX 1003.1q-2000 Trace ve IEEE POSIX 1003.1,2003 Sürümü ve IEEE POSIX 1003.1,2003 Sürümü;

Embedded POSIX Standards Profile Test Suite (www.opengroup.org/testing/testsuites/embedded.html) aşağıdaki testleri içerir:

IEEE POSIX 1003.1-1990 (5310 test);

IEEE POSIX 1003.1b-1993/1003.1i-1995 Gerçek zamanlı uzantı (1430 test);

IEEE Std POSIX 1003.1c-1995 Konular (pthreads) uzantısı (1232 test);

IEEE POSIX 1003.13-1998 Profili 52.

Terminolojideki karışıklık hakkında biraz

İngilizce'deki POSIX standart grubuyla ilgili olarak, genellikle bir değil, üç terim kullanılır. Ne yazık ki, anlam bakımından benzerler ve genellikle aynı şekilde tercüme ediliyorlar, bu da biraz kafa karışıklığına neden oluyor. Bu terimler:

Uyumluluk (kelimenin tam anlamıyla - "uyumluluk");

Uyumluluk (kelimenin tam anlamıyla - "uygunluk");

Uygunluk (kelimenin tam anlamıyla - "tutarlılık").

POSIX ile ilgili ilk terim resmi olarak tanımlanmamıştır. İkincisi, kuruluşun - yazılım ürününün üreticisinin bağımsız olarak bu ürünün (tamamen veya kısmen) listelenen NIST-PCTS standartlarına uygun olduğunu beyan ettiği anlamına gelir. Üçüncü terim, yazılım ürününün ya akredite bir laboratuvarın yardımıyla ya da Açık Grup içinde yerleşik test sistemini geçtiğini ve bunun belgelenmiş kanıtı olduğunu (sözde Uygunluk Beyanı) ifade eder. Ayrıca makale metninde, belirsizliği ortadan kaldırmak için orijinal terimler her yerde verilecektir.

Sertifikalı RT İşletim Sistemi

Sertifikalı bir RT OS'deki verilerin resmi bir kayıtta yayınlanmasını ve seviyeye göre test yapılmasını gerektiren katı kurallara uyulursa uyum, o zaman şu anda yalnızca iki sertifikalı OS RT vardır (veriler kronolojik sırada verilmiştir):

- Lynx OS v.3(Lynx Real-Time Systems'ın bir ürünü, şimdi LynuxWorks, Inc., www.lynuxworks.com), OEM'ler ve telekomünikasyon ekipmanı üreticileri, özellikle askeri hava indirme sistemleri üreticileri tarafından gerçek zamanlı gömülü sistem yazılımlarının geliştirilmesi için tasarlanmıştır. Geliştirme hem hedef sistemin kendisinde (kendi kendine barındırılan) hem de enstrümantal bilgisayarda (ana bilgisayar) gerçekleştirilebilir, bitmiş yazılım hedef sistemde (hedef) çalışmak üzere tasarlanmıştır. Tutarlılık için LynxOS v.3 sertifikalı (uygunluk) Intel ve PowerPC platformlarında POSIX standardı. Bununla ilgili bilgiler IEEE web sitesinde bulunabilir http://standartlar.ieee.org/regauth/posix/posix2.html.LynxOS, NIST FIPS kapsamında bir IEEE POSIX Akredite POSIX Test Laboratuvarı olan Mindcraft tarafından POSIX 1003.1-1996 sertifikasına sahiptir. 151- test takımı 2 Uygunluk Test Takımı. Sertifikasyon belge numarası: Referans Dosyası: IP-2LYX002, Referans Dosyası: IP-2LYX001.

- DÜRÜSTLÜK v.5(Green Hills Software ürünü, www.ghs.com) tutarlılık için sertifikalı (uygunluk) POSIX 1003.1-2003'e göre, Temmuz 2004'te PowerPC Mimarisi için Sistem Arayüzleri (http://get.posixcertified.ieee.org/select_product.tpl). VSX-PCTS 2003 test paketi.

POSIX ve QNX işletim sistemi

QNX v.4.20(geliştirici - QNX Software Systems, www.qnx.com) uygunluk sertifikasına sahiptir (uyma) için POSIX 1003.1-1988'e göre Intel platformları DataFocus Incorporated tarafından. 13 Eylül 1993'te test edildi, 1 Kasım 1993'te yayınlanan belge. NIST PCTS 151-1 test paketi, sürüm 1.1.

QNX Neutrino (sürüm 6.3), aşağıdaki POSIX ailesi standartlarına uygundur (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).

QNX Neutrino'nun yaratıcısı olan QNX Software Systems, QNX Neutrino'nun bu standartlardan bazılarına göre onaylanmasını (uygunluğunu) da planlamaktadır; 2005 yılı için çalışma planlanmaktadır (www.qnx.com/news/pr_959_1.html).

Edebiyat

1. IEEE Standartları Birliği Kullanım Kılavuzu. IEEE, Ekim 2004.

2. Kevin M.Obeland. Gerçek Zamanlı POSIX, Gömülü Sistem Programlama, 2001.

3. IEEE/ANSI Standardı 1003.1: Bilgi Teknolojisi - (POSIX) - Bölüm1: Sistem Uygulaması: Program Arayüzü (API).

4. Gallmeister B.O. Gerçek Dünya için Programlama, POSIX.4 Sebastopol, CA: O'Reilly & Associates, 1995.

5. Ulusal Standartlar ve Teknoloji Enstitüsü, PCTS:151-2, POSIX Test Paketi.

6. POSIX: IEEE ve The Open Group tarafından onaylanmıştır. Sertifikalı Politika. Açık Grup, 21 Ekim 2003, Revizyon 1.1.

Posix adı, kabaca "Taşınabilir İşletim Sistemi Arayüzü" anlamına gelen "Taşınabilir İşletim Sistemi Arayüzü" kelimesinden türetilmiştir. Bu tek bir standart değil, Elektrik ve Elektronik Mühendisleri Enstitüsü (IEEE) tarafından geliştirilen bütün bir ailedir. Posix standartları ayrıca ISO (Uluslararası Standardizasyon Örgütü, Uluslararası Standardizasyon Örgütü) ve IEC (Uluslararası Elektroteknik Komisyonu, Uluslararası Elektroteknik Komisyonu) veya ISO/IEC tarafından uluslararası standartlar olarak kabul edilmiştir. Posix standartları birkaç geliştirme aşamasından geçmiştir.

IEEE 1003.1-1988 (317 sayfa) ilk Posix standardıydı. Aşağıdaki alanlarda C dili ile Unix tipi çekirdek arasındaki arabirimi tanımladı: süreç uygulama ilkelleri (fork, yürütme çağrıları, sinyaller ve zamanlayıcılar), süreç ortamı (kullanıcı kimlikleri, süreç grupları), dosyalar ve dizinler (tüm I/ O fonksiyonları), terminal işlemi, sistem veritabanları (şifre ve grup dosyaları), tar ve cpio arşiv formatları.

NOT

İlk Posix standardı, 1986'da IEEEIX adlı çalışan bir sürümde çıktı. Posix adı Richard Stallman tarafından önerildi.

Ardından IEEE 1003.1-1990 standardı (356 sayfa) geldi. Aynı zamanda uluslararası standart ISO/IEC 9945-1:1990'dı. 1988 versiyonuyla karşılaştırıldığında, 1990 versiyonundaki değişiklikler çok azdı. Başlığa eklendi: "Bölüm 1: Sistem Uygulama Programı Arayüzü (API)" ("Bölüm 1: Sistem Programlama Arayüzü (API) [C Dili])", bu, standardın C programlama arayüzünü (API) tanımladığı anlamına geliyordu.

IEEE 1003.2-1992, toplam yaklaşık 1300 sayfalık iki cilt halinde yayınlandı ve başlığı "Bölüm 2: Kabuk ve Yardımcı Programlar" (Bölüm 2: "Tercüman ve Yardımcı Programlar") satırını içeriyordu. Bu bölüm, yorumlayıcıyı (Unix System V'deki Bourne kabuğuna dayalı olarak) ve yaklaşık yüz yardımcı programı (tipik olarak yorumlayıcıdan awk ve basename'den vi ve wac'a kadar çağrılan programlar) tanımladı. Bu kitapta, bu standardı Posix olarak anacağız. 2.

IEEE 1003.1b-1993 (590 sayfa) orijinal olarak IEEE P1003.4 olarak biliniyordu. Bu standart, 1003.1-1990 standardına bir ekti ve tarafından geliştirilen gerçek zamanlı uzantıları içeriyordu. çalışma Grubu P1003.4: dosya senkronizasyonu, eşzamansız G/Ç, semaforlar, bellek yönetimi, zamanlama, saatler, zamanlayıcılar ve mesaj kuyrukları.

IEEE 1003.1, 1996 baskısı (743 sayfa), 1003.1-1990 (temel API), 1003.1b-1993 (gerçek zamanlı uzantılar), 1003.1-1995 (Pthreads) ve 1003.1i-1995'i (1003.1b'ye teknik değişiklikler) içerir. Bu standart aynı zamanda ISO/IEC 9945-1:1996 olarak da adlandırılır.İş parçacıkları üzerine üç bölüm ve iş parçacığı senkronizasyonu (karşılıklı dışlama ve koşul değişkenleri), iş parçacığı yürütme programlaması, senkronizasyon programlaması üzerine ek bölümler ekledi. Bu kitapta, bu standardı Posix.1 olarak adlandırıyoruz.

NOT

Standardın 743 sayfasının dörtte birinden fazlası "Gerekçe ve Notlar" ("Gerekçe ve Notlar") başlıklı bir ekti. Bu gerekçe, tarihsel bilgileri ve belirli özelliklerin standarda neden dahil edilip edilmediğinin nedenlerinin bir açıklamasını içerir. Genellikle mantık, standardın kendisi kadar faydalıdır.

Ne yazık ki, IEEE standartları İnternet üzerinden ücretsiz olarak mevcut değildir. Kitabı nereden sipariş edebileceğinizle ilgili bilgi linkin altındaki bibliyografyada verilmiştir. Semaforların, bu araçların API'lerindeki bazı farklılıkları açıklayan mutekslerden ve koşul değişkenlerinden (Pthreads standardında tanımlanan) ayrı olarak gerçek zamanlı uzantılar standardında tanımlandığını unutmayın.

Son olarak, okuma/yazma kilitlerinin Posix standartlarının bir parçası olmadığını unutmayın. Bu, Bölüm 8'de daha ayrıntılı olarak ele alınmıştır.

Gelecekte planlanan sürüm Yeni sürüm Bu kitabın birinci cildinde açıklanan P1003.1g standardını, ağ arabirimlerini (soketler ve XTI) içeren IEEE 1003.1.

1996 Posix.1 standardının önsözü, ISO/IEC 9945 standardının aşağıdaki bölümlerden oluştuğunu belirtir:

1. Sistem programlama arayüzü (API) (C dili).

2. Tercüman ve yardımcı programlar.

3. Sistem yönetimi (geliştirme aşamasında).

Bölüm 1 ve 2, Posix.1 ve Posix.2 dediğimiz şeydir.

Posix standartları üzerindeki çalışmalar sürekli devam etmektedir ve bunlarla ilgili kitapların yazarları, hareketli bir hedefe ateş etmekle uğraşmak zorundadır. Standartların mevcut durumu http://www.pasc.org/standing/sd11.html adresinde bulunabilir.

- (IPAEng|ˈpɒzɪks) veya Taşınabilir İşletim Sistemi Arayüzü alıntı web | başlık = POSIX | url = http://standartlar.ieee.org/regauth/posix/ | iş = Standartlar | yayıncı = IEEE], IEEE tarafından belirtilen ilgili standartlar ailesinin toplu adıdır … Wikipedia

POSIX- est le nom d une aile standart tanımı 1988 par l Elektrik ve Elektronik Mühendisleri Enstitüsü ve IEEE 1003 tasarımı.

Posix- 1988'de IEEE ve IEEE 1003 tasarımına göre tanımlanan standart bir aile ailesidir.

POSIX- Taşınabilir İşletim Sistemi Arabirimi kısaltmasıdır; API kimliği olarak UNIX'in X ortamı. Termino, Richard Stallman tarafından, IEEE talebine yanıt olarak, kaydetmeyi kolaylaştıran bir isim olarak ele geçirildi. Bir çeviri Vikipedi İspanyolca

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

POSIX- standart durum olarak T-sritis enformatika apibrėžtis Standartų groupė, apibrėžianti operacinės sistemos sąsajas tarp joje veikiančių programų bei tarnybų. Güvenlik standartlarını koruyan Elektros ir elektronikos inžinierių enstitüleri (IEEE) Linukso… … Enciklopedinis kompiuterijos žodynas

POSIX- Taşınabilir İşletim Sistemi Arabirimi'nin kısaltması, API'nin anlamı ile UNIX'in X'ini oluşturur (UNIX'te Taşınabilir İşletim Sistemi olarak kullanılır). Bu, sistemin standart standart ailelerinden birinin oğlu… … Enciclopedia Universal

POSIX- (uniX tabanlı Taşınabilir İşletim Sistemi Arayüzü) n. Unix'e (Bilgisayarlar) dayalı işletim sistemleri için standartların toplanması … İngilizce çağdaş sözlük

POSIX

Posix- Taşınabilir İşletim Sistemi Arabirimi (POSIX [ˈpɒsɪks]), Unix standartlarında Uygulama Programlama Arabirimi için IEEE ve Open Group'un en büyük parçasıdır, Schnittstelle zwischen Uygulaması ve onlar… … Deutsch Wikipedia

Kitabın

  • , Steven A. Rago, W. Richard Stevens. "UNIX. Profesyonel Programlama" en ayrıntılı olanıdır. başvuru Kılavuzu 20 yıldır profesyonel C programcılarının özel olarak yazmasına yardımcı olan ...
  • UNIX. Profesyonel Programlama, Stephens W. Richard, Rago Stephen A. Bu kitap, UNIX ve Linux çekirdeklerinin yönetimi hakkında en önemli ve pratik bilgileri içerdiğinden, dünya çapındaki ciddi programcılar arasında haklı olarak popülerdir. Bunlar olmadan...