Menü
Bedava
giriş
ana  /  Sorunlar / İşletim sistemlerinin ve POSIX'in UNIX standardizasyonu. Gerçek zamanlı işletim sistemlerinin standartları

İşletim sistemlerinin ve POSIX'in UNIX standardizasyonu. Gerçek zamanlı işletim sistemlerinin standartları

Genel olarak standartlar hakkında

Uygulayıcılar arasında programcılar, programlamadaki standartların hiçbir şekilde gerekli olmadığıdır:

(1) Başlangıçta anlamsızlar, çünkü yazarları bilgisayar programları yazmaz;

(2) Programcıların inisiyatifiyle savaşıyorlar;

(3) Programcılar her zaman standartlar olmadan katılacaktır.

Belki de bu görüş iki durumda değilse dikkat edilmemelidir:

(1) Onun uygulamaları ekspres, yani, "Program Programı Problemleri";

(2) Yukarıdaki argüman, bu maddenin yazarı tarafından, internetteki yayınlardan birinde, böyle bir görüşün "uluslararası bir ölçekte" olarak yayıldığı, sadece aralarında değil Kibirli Rusça "süper programcılar".

"Standart" kelimesi genellikle malzeme ile ilişkilidir (standart boyutlar, standart elektrik voltajı vb.), bilgisayar programı maddi olmayan bir nesne ("yeni maddi olmayan") ve belki de maddi olmayan alandaki standartlar gerçekten anlamsızdır?

Bununla birlikte, reddetme örneği var. Rus dilinin yazımının kurallarının, temel olarak standardizasyon makamları tarafından onaylanmamasına rağmen, standarttır. Ayrıca, yazımın (veya gereksinimleri) kurallar hariç, sözdizimsel kurallar ve en önemlisi anlamsallaşmıştır. İkincisi "çocukların" sorusunu göstermektedir: Kedi neden bir kediyi çağırır? Bu soruya doğru bir cevap var: çünkü atalarımız bunu kabul etti; İngilizlerin ataları, aynı canavar kediyi, Almanların atalarını - yavru kedi, vb. Genel olarak, anlamı veya anlambilgisi veya herhangi bir kelimenin yorumlanması veya sözcük kombinasyonunun yorumlanması - anlaşma meselesi.

Randevu ve Standart Posix'in "Superbate"

Adından aşağıdaki gibi POSIX (taşınabilir İşletim sistemi Arayüz) İşletim sistemi ile uygulama programı arasındaki eşleştirme (arayüz) için bir standarttır. Programcıların "çıplak" makine için programlar yazdığı zaman (kendi paketlerini, G / Ç programlarını, trigonometrik fonksiyonlar vb.) Yazdığı, geri dönüşü olmayan bir şekilde geçti. Metin POSIX, Standart'ın işletim sisteminin işlemleri için gereklilikleri öne sürmediğini vurgular; Uygulama programcıları ve geliştiricileri arasındaki anlaşmaların toplamı olarak kabul edilebilir. işletim sistemleri. Böylece (yine, oldukça popüler bir görüşe aykırı), POSIX sadece işletim sistemlerinin geliştiricileri için, ancak her şeyden önce, her şeyden önce, çok sayıda çok sayıda programcı için uygulanır.

UNIX işletim sistemlerinin yaygın olduğu 1980'lerde bu türün standardına duyulan ihtiyaç duyuldu. Bu sistemin birleşik olarak tasarlanmasına rağmen, spesifik uygulamaları arasındaki farklılıklar, bir sistem için yazılı uygulama programlarının her zaman bir başkasında yürütülemeyeceği gerçeğine yol açtı. Mobilite sorunu olarak bilinen bu özel problemin kararı hakkında yazılım, Posix amaçlandı. Standardın ilk baskısı 1988'de piyasaya sürüldü (bir çeviri var, bakınız), burada program hareketliliği ile ilgili tüm çeşitlerin iki parçaya ayrıldığı: (1) Uygulama arayüzü, (2) Komut tercümanı ve yardımcı programları (Kullanıcı arayüzü); Bu parçaların POSIX.1 ve POSIX.2'ye sırasıyla 1 olarak adlandırıldı.

Bu makalenin, 12 Temmuz 1996'da onaylanan İkinci (ve sonuncusu) başvuru arayüzü, POSIX.1, ikinci (ve sonuncu) için standart hakkında konuşacağını belirteceğiz.

Standartın bilgilendirici kısmı, POSIX'in bazı "ideal" işletim sisteminin arayüzünün bir açıklaması olmadığını, ancak UNIX işletim sistemlerinin geliştirilmesinde kazanılan deneyimin genelleştirilmesinin ve sistematizasyonunun bir sonucu olduğunu vurgulamaktadır. Ek olarak, POSIX işletim sistemleri için bir rehber veya eğitim el kitabı olarak hizmet edemez, ancak bilgilendirici kısım programcılara ve programların parçalarına önerilerde bulunur.

Standart, tam teşekküllü bir işletim sistemi oluşturmanın imkansız olduğu gerçeğini ifade eder, ancak içinde açıklanan arayüz fonksiyonlarına odaklanarak. (Özellikle, POSIX.1, bu tür sorunları ağ oluşturma ve ilgili arayüz işlevleri veya grafiksel bir arayüz olarak yansıtmaz.) Bununla birlikte, programların nongetlenebilirliğinden kaynaklanan finansal maliyetler ve arayüzün birleşmesine olan ihtiyacı, çoğu üreticinin tercih ettiği için çok büyüktür. Kimsenin olmadığı kadar en az bir standart var. Bu nedenle, çok sayıda yazılım geliştiricisi POSIX'te gezinmeye çalışır. Bu, programların nimetiliğini tamamen ortadan kaldırmazsanız, en azından programın çözülebilir bir bölümünü önemli ölçüde azaltır.

Anlambilim hakkında

Daha önce de belirtildiği gibi, POSIX, işletim sisteminin geliştiricisi ile uygulama programcısı arasında bir anlaşma kümesi olarak kabul edilebilir. "Anlaşma", kelimelerin ve ifadelerin tüm yorumlarının (anlamı) tümünün birinciliğinden önce anlamına gelir. Aşağıdakiler, bir anlaşmaya varma görevinin zorluğunu gösteren örneklerdir.

Tercüme ederken anlamı nasıl iletmek

Her şeyden önce, POSIX standardının, doğada belirsizliği (örneğin, aynı kelimenin isim, sıfat ve fiil ve fiil olabilir) ve "semantik tuzaklar" nın hemen hemen her sayfada dinlediği İngilizce olarak ortaya çıktığını hatırlamanız gerekir. Söylenenlerin iyi bir gösterimi bir kurgu örneğidir. İngilizce dilinin bu özelliğini zekice kullanan Oscar Wilde'nin en ünlü eserlerinden biri olan - - ciddi olmanın önemi - Rusça "Ciddi olmak ne kadar önemli" olarak adlandırılır. Bununla birlikte, İngilizce adının ikinci bir anlamı vardır: ciddi (ciddi) - karakterlerden birinin soyadı ve isim farklı şekilde çevrilebilir: "Ernst ne kadar önemli". Bir Rus soyadı gümüş var ve ciddi bir soyadı olsaydı, çeviri her iki anlamın transferi ile mükemmel bir şekilde doğru olacaktır.

Aynısı, Standart'ın adına sahip olan durumdur: taşınabilir işletim sistemi arayüzü. Sıfat Taşınabilir (Mobil) işletim sistemini ve uygulama programına atıfta bulunur, ancak kısa bir süre sonra Rusça olarak ifade etmek mümkün değildir, "Mobil kullanım sistemi arayüzü" veya "hareketlilik sağlayan" Mobil İşletim Sistemi Arabirimi "veya" İşletim Sistemi Arabirimi olarak tercüme edebilirsiniz. Uygulama programları." İkinci seçenek, standart geliştiricilerin niyetlerini daha iyi yansıtıyor, ancak aynı zamanda ilk yıkanmış kayboldu (daha tanıdık ilk seçenek korundu).

"Standart" kelimesinin anlambumu

Standardın ana metni, IEEE Standards2 kelimesinin anlamının açıklandığı başlangıç \u200b\u200btarafından preammed. Bu açıklamalardan aşağıdaki gibi, Rusça konuşma teriminden en az üç anlamsal fark vardır:

(1) Sezgisel olarak GOST'un ihlali zulmeği yasaların gücüne sahip olduğuna inanıyor; POSIX, yalnızca isteğe bağlı olarak vaka hangisidir.

(2) GOST iptali (çoğu, muhtemelen "ifadesini duymak zorunda kaldı); POSIX'e girişte, standart 5 yıl boyunca revize edilmediğinde, bu, bu konuda düşünülen soruların en muhtemel düzeyi kaybettiği anlamına gelir ve otomatik olarak iptal edildiği düşünülebilir;

(3) Gost anonomen; POSIX'in tanıtım kısmında, bu standardın gelişimine katılan kişilerin bir listesi verilmiştir ve ayrıca yorumlama taleplerini gönderebileceğiniz adresi verir; Ayrıca, her bir talebe verilen cevabın koordinasyon prosedürüne tabi olduğu söylenir (başka bir deyişle, standardın yazarları, cevabı vermeden önce birbirleriyle aynı fikirde bulunur).

Böylece, iyi bilinen bir kelimenin bile standart "Standart" kelimesi olarak çevirisi yorumlar gerektirir.

"Must", "belirtilmemiş", "tanımlanmadı" kelimelerinin anlambilimi, "Uygulama tarafından belirlenen", "tanımlanmadı"

Standardın 2. Bölümüne "Terminoloji ve Genel Gereksinimler" denir. Yalnızca özel terimler ("işlem" veya "semafor" gibi tanımlarını içerir, ancak aynı zamanda "zorunlu" veya "Mayıs" olarak kendiliğinden belirgin sözler görünmesidir. POSIX.1 arayüzündeki bir standart olduğundan, gereksinimleri hem işletim sistemi hem de uygulama programı ile ilgilidir. Açık gereksinim, "zorunlu" ("olmalıdır), örneğin:" Başarılı bir tamamlanma durumunda, Link () işlevi sıfır değeri döndürmelidir. " Bu örnekte, işletim sisteminin gerekliliği hakkında konuşuyoruz: Bağlantı () işlevi uygulanmalıdır, böylece başarılı bir şekilde tamamlanarak sıfır değeri iade edilir.

"Belirtilmemiş" ve "tanımlanmadı" terimleri, standardın tercih özgürlüğünü kabul ettiği fikri ifade eder, ancak bu terimlerin anlamı değişkendir. "Belirtilmemiş" terimi, bazı doğru (eylemler, yazılım yapıları vb.) Ve "tanımlanmadı" terimi hakkında konuştuğumuzu ima eder - yanlış (hatalı). Standartın bilgilendirici kısmı aşağıdaki açıklamayı sağlar.

"Belirtilmemiş" terimi, birçok seçeneğin (sonuç, fonksiyon çağrısının sonuçları, vb.) Bilindiği varsayıldığı anlamına gelir ve standartların herhangi birine izin verdiği anlamına gelir; İşletim sisteminin belirli bir uygulamasında, herkes seçilebilir ve böyle bir sistemin ilgili standart olarak kabul edilir. Uygulamalı program (kesinlikle ilgili standart), herhangi bir varyantta doğru çalışacak şekilde yazılmalıdır; Temel olarak, bu terim, bir uygulama programı için bir gereksinimi dolaylı olarak ifade etti.

Bir örnek verelim: "Readdir () işlevi, bir sonraki dizin öğesine ilişkin yapıya bir işaretçiyi döndürmelidir. Dizinin öğelerinin "DOT" ve "NOKTA - NOKTA" adları ile iade edilip edilmediği, standart belirtilmedi. " Bu örnekte, dört sonuç mümkündür ve bir uygulama programı gerekliliği, bunlardan herhangi biri için tasarlanmalıdır.

Başka bir örnek: "Sinyalin belirtilen sayıyla beklemeyi öngören SIGWAIT () işlevi, birkaç kontrol akışında, daha sonra sinyal alındığında, bunlardan birinin Sigwait () 'den geri dönmesi gerekmiyorsa. Ne tür bir kontrol akışının olacağı, standart belirtilmemiştir. " Bu örnekte, birçok olası sonuç daha fazla olabilir, ancak aynı zamanda bilinir ve bir uygulama programı için gereklilik, herhangi bir sonuçta doğru çalışması gerektiğidir.

"Tanımlanmadı" terimi, birçok çıktının bile bilinmediği, hatta herhangi bir sonucun bile açıklanabileceği, hatta açıklanabilir (örneğin, sistemin çökmesi, veri kaybı vb.). Temel olarak, bu terim, uygulama programının uygun verileri veya tasarımları kullanmaması gerekliliğini örtük olarak ifade etti. Örneğin: "Dirp argüman fonksiyonu Readdir () 'nin açık olan dizinine atıfta bulunmazsa, sonuç tanımlanmaz."

Bu örnek, bir argüman readdir () işlevi olarak yalnızca bir açık dizinle bağlantı kurma talebi içerir; Bu gereksinimin ihlali felaket sonuçlarına neden olabilir ve bunun için sorumluluk bir uygulama programcısına atanır.

İşte başka bir örnek: "Başarılı bir şekilde tamamlanma durumunda, Read () işlevi, neredeyse okunan bayt sayısını belirten bir tamsayı döndürmelidir. Aksi takdirde, işlev, errno için bir hata kodu atamalı ve -1'e geri dönmeli ve buf argümanının belirlenmediği tamponun içeriğini tanımlamalıdır. "

Okuma () işlevinin bir hatası durumunda bir tampondan bir uygulama programında kullanın, standart yasaklar ve bu gereksinimin ihlalinin sonuçları uygulama programcısını uygular.

"Uygulama tarafından belirlenir" teriminin anlamı sezgiseldir. Açıkçası, belirli bir işletim sisteminde, "Konsey Yok" veya "Belirsiz" bir sonuç olamaz, bazı özel sonuçlar alınacaktır. "Uygulama tarafından belirlenen" terimi, Standart'ın işletim sistemi için belgelerinin gerekliliğini ifade eder: sonuç sadece netleştirilmemelidir (işletim sisteminin geliştiricisi yine de yapacak), ancak belgeleri açıkça açıkça yansıtır. sistem.

Semantics varsayılanları

Düzenleyici bir belge, pratikte buluşabilecek tüm vakaları kaplayamaz, bu nedenle silent3 hakkında kaçınılmazdır. Örneğin, fonksiyonun açıklamasında, argümanının belirli bir aralıktan değer alabileceği söylenebilir, ancak hiçbir şey argüman bu aralığa girmezse sonuç olacağını söyleyemez. Açıkçası, yanlış anlamaları önlemek için, tek bir varsayılan semanticiye sahip olmak gerekir. Standartın bilgilendirici bir kısmında meraklı bir cümle var: "Varsayılanın genel olarak kabul edilen semantiği yasaktır." Bu ifade, on yıl önce iyi bilinen sloganı çelişiyor "Hepsi açıkça yasaklanmadı. Görünüşe göre, çoğu, hatta programcıların, standartların prodüksiyon tablosu ile aynı fikirde olmadığı vatandaşların bilincinde çok köklü oldu. Bu arada, herhangi bir tasarımın kullanımı açıkça izin verilmezse ve açıklamadan takip edilmezse, herhangi bir uygulayıcı programcısı kullanımının riskli olduğunu ve eğer işe yaramazsa, bir iddiada gerçekleşmez.

İşlemler ve Kontrol Akışları

Bu şartların her ikisi de, yürütme paralelliği fikrini ifade eder. UNIX işletim sistemi başlangıçta çok oyunculu olarak tasarlandı ve farklı kullanıcılar tarafından başlatılan programlar, yanlışlıkla "diğer kişileri" verilerini yanlışlıkla çarpıtmak için birbirinden güvenli bir şekilde izole edilmelidir. Bu izolasyon, kullanıcı programının kendi sanal adres alanında gelişen belirli bir süreç içinde yürütüldüğü gerçeğiyle sağlanır. Programın küresel verilerine sahip olsa bile, farklı işlemlerde başladığında, farklı adres boşlukları ile otomatik olarak "boşanır" olacaktır.

Bununla birlikte, gerçek zamanlı görevleri programlarken, süreçlerin mekanizması oldukça tatmin edici değildir. Gerçek zamanlı uygulama programı (aynı kullanıcı adına hareket eden) genellikle "kontrol akışı" (iplik) adı verilen çalıştırılabilir parçalara paralel olarak doğal olarak temsil edilebilir. İşlemlerden en önemli fark, tüm kontrol akışlarının tek bir adres alanında gelişmesidir; Bu, küresel verilere hızlı erişim sağlar, ancak aynı zamanda, bunların bozulmalarının istemeden bozulma riski ve bunun oluşmadığından, bazı disiplin programlamalarına uymak gereklidir. İlgili öneriler standardın bilgilendirici bir kısmında bulunur.

Çoklu işleme fikrinin birçok gerçek zamanlı işletim sisteminde uygulandığı ve farklı özelliklerin ve arayüz fonksiyonlarının her bir kontrol akışına karşılık geldiği anlamında farklı şekilde uygulandığı vurgulanmalıdır; Bazen "Kontrol Akışı" terimi yerine (iplik) "Görev" terimini kullanır (görev). Yanlış anlaşılmaları önlemek için standart, yalnızca POSIX kontrol akışları ile ilgili olarak geldiğini ve ilgili arayüz fonksiyonlarının adları PTTREAD_ ön ekine (örneğin, PTHREAD_CREATE (), PTHREAD_JOIN (), vb.).

Standart'a uygunluk. "" Kelimesinin anlamı "

İki denek aynı standarda uygun olarak yapılırsa, daha sonra birbirleriyle "eşleşmesi" garantilidir ve bir çift içinde birlikte çalışacaklardır; Bu, konjugasyonun (arayüz) için standartların tanıtımının amacıdır. POSIX arabiriminde bir standart olduğundan, hem işletim sisteminin standardına uygunluk hakkında konuşabilirsiniz ve uygulama programı.

POSIX.1 standardı birkaç yüz (binlerce değilse) gereksinimi içerir; Bunlardan en az birinin yerine getirilmediği, sistem (veya uygulama programı) standartları yerine getirmediğinden açıkça görülüyor. Aynı zamanda, bunlar için bu tür bir sayıda UNIX işletim sistemi ve uygulama programları, belirtilen anlamda makul bir şekilde tam yazışmalar gerektirmeyen tarihe yazılmıştır. Bu tür uluslararası bir standart standardı geliştirmenin zorlukları, farklı ulusal dillerin varlığı ile daha da kötüleşir. Metinleri ulusal dillerde işlemek için tasarlanmış uygulama programlarını unutursanız bile, hemen hemen her uygulama bazı teşhis mesajları vermeli ve / veya operatör tarafından girilen metinleri algılamalıdır.

  • pOSIX.1 standardına sıkı bir uyumluluk;
  • pOSIX.1'in uluslararası versiyonuna uygunluk;
  • ulusal Sürüm Posix.1'e uygunluk;
  • uyum Posix.1 Uzantıları ile.

İkincisi, birçok arayüz fonu isteğe bağlı olarak bildirilir (isteğe bağlı); Standart, isteğe bağlı arayüz fonksiyonlarının standart tarafından öngörüldüğü şekilde çalışmasını gerektirir veya her zaman özel bir hata kodu, EnOSYS (işlevin uygulanmadığı anlamına gelir). İsteğe bağlı araçlar, her biri karşılık gelen başlık dosyasında bildirilen (#define operatörü) bildirilen bazı yapılandırma sabitlerine karşılık gelen birkaç gruba ayrılır; Bu, işlevin derleme aşamasında uygulanıp uygulanmadığını öğrenme olasılığını sağlar.

Açıklanan mobilite kabulü POSIX'in yazarları tarafından değil, uzun zaman önce pratikte uygulandı; Birçok işletim sisteminde, sistemin kendisini veya versiyonunu tanımlamak için yapılandırma sabitleri uygulanır. Ve burada Standart, temel olarak yeni bir şey sunmuyor, ancak mevcut uygulamayı sistematlar.

Standardizasyon Nesneleri ve Standart Yapı

Kısaca konuşmak için, standardizasyon posix.1 nesneleri ad ve anlambilimdir. Daha spesifik olarak, aşağıdakilerden bahsediyoruz.

  • Arayüz özellikleri. 357 fonksiyonlar standartlaştırılmış ve standart SI kütüphanelerinden 107 fonksiyon alınır (matematiksel, sıra işleme, giriş / çıkış vb.); Bu işlevler POSIX.1 standardının bir parçası olarak kabul edilir, ancak tam açıklamaları standart programlama dilinde bulunur.
  • Sistem veri türlerinin isimleri. Bu isimlerin bir sonekine sahiptir.
  • Başlık dosyalarının adları, ayrıca bu dosyaların minimum bileşimi.
  • Sistem çapında küresel değişkenlerin isimleri (örneğin, errno).
  • İşlev çalışırken yüklenebilecek hata kodları için sembolik isimler. Bu isimler E harfi (EPERM, Enotemenkçe, vb.) İle başlar.
  • Sabit yapılandırma adları. Bu isimler _posix_ önekine sahiptir.
  • Sinyallerin sembolik isimleri; Bu isimlerin bir SIG öneki var. 20 "geleneksel" sinyal (SIGABRT, SIGALRM, vb.) Ek olarak, gerçek zamanlı sinyaller standartlaştırılmıştır, bu sayılar, SigrTmin'den SigrTmax'tan SigrTmax'a bir miktar katı aralığı işgal etmeli, daha az rtsig_max numaraları içeren.
  • Bazı fonksiyonların bireysel argümanlarının değerlerine karşılık gelen sembolik isimler (örneğin, CMD argüman işlevi FCNTL () F_DUPFD, F_GETFD, F_GETLK değerleri vb.) DEĞİLDİR.).
  • Makrolar, sabitler, bit bayrakları, çevre değişkenlerinin isimleri.

Genel olarak, standart yaklaşık iki büyük bölümden oluşur. İlk yarı düzenleyici kısımdır - Standartın (18 bölüm), ikinci bilgilendirici bölümün gereksinimlerini ve tavsiyelerini içerir. - Bilgilendirici bölüm - Yönetmelik bölümüne referanslar, yorumlar ve açıklamaların bir listesini sağlayan uygulamaları içerir. , Standartın (Danimarka için "bir profilin (" projeksiyon ") örneği, en önemli fonksiyonların performansının performansını, özelliklerini ve yöntemlerinin yanı sıra, gerçek zamanlı dosyalarla çalışmak için ek arabirim işlevlerinin bir açıklaması; Standartın aşağıdaki baskılarında, bu işlevlerin düzenleyici kısmına dahil edileceği bekleniyor.

İşletim sisteminin hangi tür hizmetlerinin standart tarafından karşılandığı fikri, "standart bölümlerin özeti" nin toplamını verir.

Sonuç

POSIX standardının ana içeriği, arayüz fonksiyonlarının semantiğidir. Anlambilimin standardizasyonu - durumun kendisi kolay değil (herkes iki kişiye bile katılmanın ne kadar zor olduğunu biliyor) ve zorluklar şu anda programlama faaliyetlerinde bulunan birçok insan tarafından daha da kötüleşiyor. Örneğin, paralel yürütme paradigması, "süreç", "görev" ve "Yönetim Akışı" olarak, ancak IBM OS / 360 işletim sisteminde ve içinde pratik programlama "Görevi" açısından ifade edilir. Gerçek zamanlı işletim sistemi VXWorks, aynı değildir. Başka bir örnek semafordur. Semaforlar ikili, tamsayıdır ("bir sayaçla") ve karşılıklı bir istisna (bu arada, programcıların "muteks" olarak adlandırılmasıyla, yanlışlıkla yanlış anlamalardan kaçınmak istiyorlar). Ve örneğin VXWorks işletim sisteminde, tamsayı semaforları, posix semaforlarıyla aynı değildir.

POSIX standardının yazarları, insanların alışkanlıklarını terk etmesinin ("kurulan pratik" olarak adlandırdığı ("kurulan pratik"), geleneksel olarak verilen hizmetlerin çoğunu kapsayan mantıksal olarak bağlı ve minimum bir arayüz işlevi olduğunu bildirdiklerini açıkça gerçekleştirir. İşletim sistemi tarafından, detaylı olarak, bu fonksiyonların tam anlamını tarif eder ve herkesi geliştirmelerinde kullanmalarını sağlar4.

Standart okurken bazen izlenim, bazı formülasyonların tek bir hedefi olduğunu ortaya çıkarır: bazı uygulama programlarını veya işletim sistemlerini kategorisinden çekmemektedir. Böyle bir amaç gerçekten belirlenmiş ve açıkça tanıtımında formüle edilmiştir: Standart, kapsamın en üst düzeye çıkarmak için mevcut uygulamayı dikkate almalıdır. Ancak, asıl amaç uygulama programlarının hareketliliğini sağlamaktır.

Otantik hakkında

Sergey Romanyuk - sistem Araştırması Araştırma Enstitüsü'nün Kıdemli Araştırmacısı, POSIX Standart Çeviriler Grubu Başkanı. Onunla iletişim kurabilirsin e-posta adresle: [E-posta Korumalı]

1 Standart üzerindeki çalışmanın uzun yıllar devam ettiği için eklenmelidir; Yeni sorular belirlenir ve bunlar mevcut parçalardan birine dahil edilir veya daha sonra iptal edilebilen ayrı bir bölüm biçiminde yapılır. Bu, örneğin, ilk olarak POSIX.4 olarak ilan edilen ve daha sonra POSIX.1'e dahil olan gerçek zamanlı arayüz yoluyla gerçekleşti.

2 IEEE, POSIX standardının geliştirildiği bir organizasyondur.

3 Burada "Mistor", varsayılan değil, sessiz anlamına gelir; Bu, aslında ilan edilen bazı zımni değerler hakkında değil, ancak hiç bahsetme beyanı hakkında.

4 Standartın Rusça çevirisi 2000 yılının başlarında yayınlanacaktır.

Edebiyat

Uluslararası Standart ISO / IEC 9945-1 (ANSI / IEEE STD 1003.1) İkinci Sürüm. 1996-07-12. Bilgi Teknolojisi - Taşınabilir İşletim Sistemi Arabirimi (POSIX) - Bölüm 1: Sistem Uygulama Program Arabirimi (API).

M.i. Byakov, Yu.i. Wereruve, A.L.FridMan. Mobil işletim sistemi. Dizin. Moskova, Radyo ve İletişim, 1991.

ISO / IEC 9899: 1990, Programlama Dilleri - C.

Bölüm 1 - Giriş
Bölüm 2. - Terminoloji ve tanımlar
Bölüm 3. - Proses yönetimi fonksiyonları (görüntü oluşturma, değiştirme, tamamlama) ve sinyalleri (maske yönetimi, sinyal yanıtı)
Bölüm 4. - İşlem yürütmesinde harcanan zamanların bir anketi (süreçler, kullanıcılar, sistemler, terminal), çevre değişkeni anketi.
Bölüm 5. - Dosyaları ve katalogları yönetin
Bölüm 6. - Giriş ve çıkış fonksiyonları
Bölüm 7. - Terminal Yönetimi İşlevleri
Bölüm 8. - Standarttan ödünç alınan fonksiyonlar
Bölüm 9. - Kullanıcı Veritabanlarına ve Kullanıcı Gruplarına Erişim
Bölüm 10. - Arşivleme ve değişim için veri formatları (katran ve CPIO)
Bölüm 11. - Senkronizasyon Araçları: Semaforlar, Muteksler ve Değişken Koşullar
BÖLÜM 12. - Hafıza Yönetimi İşlevleri: Sabitleme ve anlaşmazlık işlemi adres alanı, bellek dosyalarını, bellek koruması, paylaşılan hafıza görüntüler
Bölüm 13. - Planlama süreçleri ve kontrol akışları ile ilgili fonksiyonlar
BÖLÜM 14. - Saatleri ve zamanlayıcıları yönetin
Bölüm 15. - Rapor Kuyrukları Yönetimi
BÖLÜM 16. - Kontrol akışlarıyla ilgili temel işlevler
BÖLÜM 17. - Bireysel Kontrol Akışı Verileri (Konu Özel Veriler)
BÖLÜM 18. - Kontrol akışlarını tahrip etme araçları

Standartlar

Sergey Zolotarev,

Bu makalenin amacı, gerçek zamanlı işletim sistemlerine (OS RV) ile ilgili olarak POSIX standardının geliştirme tarihinde belirli bir netlik yapmaya çalışmaktır.

Bir giriş olarak: Neden bir programlama arabirimi standardizasyonuna ihtiyacınız var?

POSIX standardının en önemli özelliklerinden biri, karmaşık yazılım ve donanım sistemlerinin geliştiricilerinin geliştiricilere yapışması gerektiği "standartlaştırılmış bir programlama arabirimi" tanımlamasıdır. Bu sistemlerin yaratıcıları, pazara girmenin kısa bir sürei (katı rekabet nedeniyle), maliyetleri en aza indirmenin ve yatırım getirilerini hızlandırmanın kısa bir süreiyle yüzleşmeye zorlanmaktadır. Aynı zamanda, aslanın gelişim sürecindeki yavaşlamanın neden olduğu harcamaların payı, programcıların uzun süredir "bir bisiklet icat etmeleri" gerekçesiyle ilişkilidir. Ancak bu önlenebilir:

Kodu geçmiş ve paralel projelerden yeniden kullanın;

Kodun diğer işletim sistemlerinden aktarılması;

Geliştiricileri diğer projelerden çekmek (diğer işletim sistemlerini kullanarak).

Tüm bunlar, işletim sisteminin standart bir API ile kullanılmasından dolayı mümkündür. Dahası, ilk durumda, kuruluş belirli bir iç standarda (özellikle markalı işletim sisteminin özelliği olan) yeterli olması durumunda, ikinci iki dava sadece genel olarak kabul edilen standartların kullanılabilirliğini gerektiriyor - örneğin, POSIX.

Bu nedenle, platform olarak POSIX uyumlu bir işletim sistemi projesi kullanarak, geliştirici transfer etme fırsatı bulur hazır kod Her ikisi de geçmiş veya paralel projelerden ve üçüncü firmaların projelerinden kaynak metin seviyesinde. Bu, yalnızca yazılım geliştirme zamanlamasını önemli ölçüde azaltmaz, aynı zamanda kanıtlanmış kod her zaman daha az hata içerdiğinden kalitesini arttırır.

POSIX'in geliştirilmesinde kim

Ve çok standart POSIX ile başlayalım, ancak üzerinde çalışmaya dahil olan kuruluşların rolünü sıralayarak.

İlk katılımcı IEEE. Elektrik ve Elektronik Mühendisleri Enstitüsü, Elektrikçi Mühendisleri ve Elektronik Enstitüsü), Kamu Kazancı Profesyoneller Birliği. IEEE tarihinden itibaren tarihini 1884'ten beri (resmi olarak - 1963'ten beri), 150 ülkeden 380.000 bireysel üyeyi birleştirir, teknik literatürün üçüncü bölümünü bilgisayar, yönetim, elektrik ve bilgi teknolojilerinin kullanımı ve 100'den fazla dergi yayınlar, Profesyonellerin ortamında popüler; Buna ek olarak, dernek yıllık 300'den fazla ana konferansın üzerindedir. IEEE, 900'den fazla standartların gelişimine katıldı (www.ieee.ru/ieeee.htm). Bugün, bu enstitü hazırlık, onay, onay, yayıncılık standartları, ancak resmi durumunda, bu tür belgeleri uluslararası veya ulusal standartlar olarak kabul etme yetkisine sahip değildir. Bu nedenle, IEEE'nin anlaşılmasında "standart" terimi, "şartname" anlamına gelir; bu, Dernek tarafından alınan belgelerin durumuna karşılık gelir. IEEE'ye göre, bir dizi uluslararası ve bölgesel kuruluşun programlarına - IEC, ISO, ITU (ELEKTROTEKNİK STANDARTİZASYON STANDARTUĞU) ve ANSI gibi böyle bir kuruluşun programı gibi ulusal programlarda katılmaktadır.

IEEE, POSIX aile ailesi geliştiren Dernek Komitesi PASC (taşınabilir uygulama standartları komitesi; www.pasc.org/) içerir. Daha önce, Pascc, operasyonlardaki Teknik Komite olarak biliniyordu.

İkinci Çalışma Katılımcısı - ANSI (Amerikan Ulusal Standartları Enstitüsü, Amerikan Ulusal Standartları Enstitüsü; www.ansi.org) - ABD'de Standardizasyon sorunları hakkında yöneten ve koordine eden özel kar amacı gütmeyen bir organizasyon. Sadece 75 kişiyi kullanır, ancak ANSI üyeleri 1000'den fazla şirket, kuruluş, devlet kurumları ve kurumdur. ANSI, ABD'yi Standardizasyon - ISO ve IEC için iki ana uluslararası kuruluşta temsil ediyor.

Üçüncü Katılımcı - İso. Uluslararası Standardizasyon Örgütü, Uluslararası Standardizasyon Örgütü; www.iso.org). 1946'da standartları koordine etme kararı ve BM Genel Kuruluna karar verildi ve resmen 23 Şubat 1947'de çalışmaya başladı. ISO, Cenevre'deki Merkez Sekreteryasıyla 146 ülkeden (bir ülke - bir ISO üyesi) ulusal standardizasyon kurumları ağıdır. (İsviçre). ISO standartları, birincisi, uluslararası standarttaki (FDIS) 'nda birkaç eşleşmenin ardından, birinci sonuç olan Uluslararası Standart Belgeler (DIS) olan teknik komitelerde geliştirilmiştir. Bundan sonra, bu belgenin onayı sorusunu oylamaya yapılır; Olumlu bir sonuçla, uluslararası bir standart haline gelir.

En sonunda, - IEC. Uluslararası Elektroteknik Komisyonu, Uluslararası Elektroteknik Komisyonu - IEC; Www.iec.ch/) 1906'da kurulan 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 geçerli üyesiydi. IEC ayrıca İngilizce ve Fransızca çıkan ve uluslararası standartların statüsünü gerçekleştiren önerileri yayınlar. Bölgesel ve ulusal standartlara dayanırlar. Teknik Komiteler (TC), IEC faaliyetlerinin çeşitli alanlarındaki standartların hazırlanmasından sorumludur ve bir TC'nin faaliyetleri ile ilgilenen ulusal komiteler de dahil olmaktadır.

IEC. - Bilgi teknolojisi için uluslararası standartların hazırlanmasında kilit organizasyon. Bu alanda, IEC ve ISO arasındaki anlaşmaya göre 1987 yılında oluşturulan Bilgi Teknolojisi - JTC 1'de ortak bir teknik komite sahiptir. JTC1, tüm gelişmeleri denetleyen 17 alt komiteye sahiptir - yazılımdan programlama dillerine, bilgisayar grafiklerine ve düzenleme görüntülerine, ekipmanların ve güvenlik yöntemlerinin bağlantıları.

Yeni IEC standartlarının hazırlanması birkaç aşamada (ön, tedarikin hazırlık aşaması, teknik komitenin aşaması, istek aşaması, talep, onay, yayın) içerir. IEC belgesinin yalnızca bir teknik şartname olacağı planlanırsa, uluslararası bir standart değil, belgenin revize edilmiş versiyonu Yayın için Merkez Ofisi'ne gönderilir. Uluslararası Standart'ın (FDIS) nihai projesinin gelişimi için dört ay verilir. Teknik Komitenin tüm üyeleri onaylanırsa, FDIS onay aşaması olmadan yayıncılık için Merkez Ofisine gidiyor. Bundan sonra, FDIS, iki ay içinde onaylamak için ulusal komitelere düşer. FDIS, Ulusal Komitelerin üçte ikisinden fazlası onun için oy kullandığında onaylanmış olarak kabul edilir ve olumsuz oyların sayısı% 25'ini geçmez. Belge onaylanmazsa, teknik komiteleri ve alt komiteleri gözden geçirmek için gönderilir. Standart, FDIS'nin onayından en geç iki aydan daha sonra yayınlanmalıdır.

POSIX standartlarının geliştirilmesi ve benimsenmesi ile ilgili birkaç kuruluş daha var.

Açık grup. - Bilgi teknolojisi alanında (www.opengroup.org/) .Opengroup, 2005 yılında iki selefi birleştirerek, yaklaşık 200 üretici ve kullanıcı topluluğunu birleştiren Uluslararası Yazılım Standardizasyonu Örgütü: X / Açık ve Aç Yazılım Vakfı ( OSF). Açık Grup, yazılım sertifikalandırma metodolojilerinin geliştirilmesinde uzmanlaşmıştır ve belirli gereksinimlere uygunluk için test. Özellikle, Açık Grup, COE platformu, Corba, LDAP, Linux standart baz, okullar birlikte çalışabilirlik çerçevesi (SIF), S / MIME ağ geçidi, tek Unix spesifikasyonu, kablosuz uygulama protokolü özellikleri (WAP) ve Sonunda POSIX ailesi gibi alanlar için sertifikalandırılmıştır. Standartlar (www.opengroup.org/certification/).

AUSTINCOMMMONSDARDSREVISIONGROUP (CSRG) - Birleşik Teknik Çalışma Grubu, ISO / IEC 9945-1-1996, ISE / IEC 9945-1993, ISO / IEC 9945-1993'e dayanarak oluşturulacak olan Standart 1003.1'in en son sürümlerini oluşturmak ve sürümlerini oluşturmak ve korumak için oluşturulmuştur. , 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) - Federal Ajans, 1901'de Amerika Birleşik Devletleri'nde kurulan Ticaret Bölümü Teknoloji İdaresi (www.nist.gov/public_affairs/general2.htm) ile uyumludur. Nist'in görevi, ürün kalitesini iyileştirmek için standart ve teknolojilerin gelişimi ve propagandasıdır. Nist, bilgi teknolojisi laboratuarını içerir. Bilgi Teknolojisi Laboratuvarı - ITL)Sonuçlarından biri Federal Bilgi İşleme Standartları (Federal Bilgi İşleme Standartları - FIPS, www.opengroup.org/testing/fips/general_info.html ).nist/itl 1991'de 1991'de POSIX sertifikası için ilk test seti sundu. FIPS PUB 151-1 1990 içinde.

Posix nedir?

Resmi olarak Posix. Richard Stallman (Richard Stallman) tarafından bir kısaltma olarak önerilen P.ortable. Ö.peratan S.bM için YSEM arayüzü İx. (UNIX için işletim sistemlerinin taşınabilir arayüzü). Kaynak kod seviyesindeki uygulamaların taşınabilirliğini sağlamak için POSIX, UNIX benzeri işletim sistemleri (ilk sürümleri 1970'lerin başından itibaren sayıyor) geliştirilmiştir.

Arabirimin ilk tarifi 1986'da yayınlandı, sonra IEEE-IX (IEEE'nin UNIX'in versiyonu) olarak adlandırıldı. Bununla birlikte, ad hızla değişti, POSIX'e dönüşür ve bir sonraki yayında (1986'da geri) bu yeni sürüm kullanıldı. POSIX'in altında bir süredir, referans (veya eşanlam) bir Grup IEEE 1003.1-1988 ile ilgili belgeler ve ISO / IEC 9945'in bir parçası olarak anlaşılmıştır ve tam ve onaylanmış bir Uluslararası ISO / IEC standardı 9945.1: 1990 POSIX olarak kabul edildi. 1990. POSIX spesifikasyonları Standart, uygulama programı ile işletim sistemi arasındaki etkileşim mekanizmasını tanımlar ve şu anda IEEE, ISO, IEC ve ANSI'nın himayesinde 30'dan fazla standart içerir.

Tarihi boyunca POSIX büyük bir yoldan geçti, çoğu zaman şartnamelerin tanımlarını, belirli içeriklerini, prosedürlerini ve doğrulamalarının lojistiklerini değiştirdi. Geçmiş zamandan beri, çeşitli uluslararası kuruluşlarda POSIX standardının birkaç basımı yayınlandı.

POSIX Standart Geliştirme Tarihi

IEEE STD 1003.1 şartnamesinin ilk versiyonu 1988 yılında yayınlandı. Daha sonra, IEEE STD 1003.1'in sayısız baskısı uluslararası standartlar olarak kabul edildi. POSIX Geliştirme Aşamaları:

- 1990 1988 yılında piyasaya sürülen editör ofisi yeniden tasarlandı ve daha fazla sürüm ve eklemeler için temel oluşturdu. Uluslararası bir Standart ISO / IEC 9945-1: 1990 olarak onaylandı.

- 1993 1003.1b-1993'ün editoryal ofisi geliyor.

- 1996 IEEE STD 1003.1B-1993, IEEE STD 1003.1C-1995 ve 1003.1I-1995 yapıldı, ancak belgenin ana kısmı değişmeden kaldı. 1996 yılında IEEE STD 1003.1'in baskısı, Uluslararası Standart ISO / IEC 9945-1: 1996 olarak da onaylandı.

- 1998 "Gerçek zamanlı" için bir ilk standart var - IEEE STD 1003.13-1998. Bu, gömülü gerçek zamanlı uygulamalar için POSIX standardının genişletilmesidir.

- 1999 Standart 1003.2 (Shell and Utilities) ile birleşme dahil olmak üzere son 10 yıldır standardın ana metninde önemli değişiklikler yapmaya karar verildi, bu andan itibaren bunlar ayrı standartlardı. PASC, IEEE 1003.1A, 1003.1D, 1003.1 g, 1003.1J, 1003.1Q ve 1003.2b standartlarının tamamlanmasından sonra temel metni değiştirmeyi bitirmeye karar verdi.

- 2004 Son Bugün, 1003.1'de Editör Kurulu 30 Nisan'da yayınlandı ve Austin Ortak Standartlar Revizyon Grubu'nun himayesinde serbest bırakıldı. 2001 Yayın Kurulu'na ilişkin değişiklikler yaptılar. Resmen, 2004 yılı Yayın Ofisi, IEEE STD 1003.1, 2004 Sürümü, Açık Grup Teknik Standart Baz Özellikleri, Sayı 6 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.

RV OS için POSIX'in en önemli standartları

Gerçek zamanlı işletim sistemleri için, yedi standart özellikler en önemlidir, ancak ticari işletim sisteminde sadece üçü yaygın olarak desteklenmiştir:

1003.1A (işletim sistemi tanımı) İşletim sisteminin temel arayüzlerini, iş yönetimi, sinyalleri, fonksiyonlarını tanımlar. dosya sistemi ve cihazlarla, kullanıcı grupları, konveyörler, FIFO tamponlarıyla çalışmak;

1003.1b (gerçek zamanlı uzantılar), gerçek zamanlı sinyal, öncelik gönderme, zamanlayıcılar, senkronize ve eşzamansız giriş, semaforlar, paylaşılan hafıza, mesajlar gibi gerçek zamanlı uzantıları açıklar. Başlangıçta (1993 yılına kadar), bu standart POSIX.4 olarak gösterildi;

1003.1C (Konular) Akış destek fonksiyonlarını (konu) - akış kontrolü, akış özellikleri, mutex, gönderme tanımlar. Başlangıçta POSIX.4A olarak belirlenmiştir.

Bu standartlara ek olarak, STD Project 1003.1-2001'in bir parçası olarak uygulanan RV için aşağıdaki standartlar önemlidir:

IEEE 1003.1D-1999. Gerçek zamanlı ek genişlemeler. Başlangıçta posix.4b olarak belirlenmiştir;

IEEE 1003.1J-2000. Gelişmiş (gelişmiş) gerçek zamanlı genişleme;

IEEE 1003.1Q-2000. İzleme.

Sertifikasyon prosedürü

POSIX standardını karşılamak için, işletim sistemi, ilgili test setinin sonuçlarına göre sertifikalandırılmalıdır. POSIX'in görünümünden bu yana, test seti resmi ve gerçek değişiklikler yapıldı.

1991 yılında NIST, FIPS 151-1 (http://standards.ieee.org/regauth/posix/posix-a.fm5.pdf) içinde bir POSIX test programı geliştirmiştir. Bu test seçeneği, IEEE 1003.3 "POSIX'e uygunluğun ölçülmesi için test yöntemleri için Standart, 10, 3, 1989 Taslağı. 1993'te Nist, FIPS 151-1 için test programından mezun oldu ve FIPS 151 -2 için bir program başlatıldı. (www.itl.nist.gov/fipspubs/fip151-2.htm).fips 151-2 uyarlanmış "Bilgi Teknolojisi - Taşınabilir İşletim Sistemi Arabirimi (POSIX) - Bölüm 1: Sistem Uygulama Programı Arayüzü (API)," Ses ISO / IEC 9945-1: 1990 Standart. FIPS 151-2 için test setleri, Posix'e uygunluk ölçmek için test yöntemleri için IEEE 2003.1-1992 "standardına dayanıyordu.

NIST, iki sertifikasyon metodolojisini ayırt eder: kendi kendine sertifika (kendi kendine sertifika) ve IEEE test laboratuarlarında akredite edilmiş sertifikalandırma (akredite POSIX test laboratuvarları - APTL). İlk durumda, Şirket bağımsız olarak test yapar, ancak Nist'te onaylanan plana göre. İkinci durumda, testler otomatik test setleri kullanılarak bağımsız bir laboratuvar tarafından gerçekleştirilir. İki aptl laboratuvarı akredite edildi: Mindcraft (www.mindcraft.com) ve çok yıllık (www.peren.com).

1997 yılında NIST / ITL, Cari yıl sonunda FIPS 151-2 sertifikasını feshetme niyetini açıkladı (resmi olarak - 31 Aralık 1997), aynı zamanda açık grup 1 Ekim'de alacağını açıkladı. NIST / ITL programına dayanan FIPS 151-2'ye göre sertifikasyon hizmeti yılı. 1 Ocak 1998'den itibaren aynı fonksiyonlar, IEEE standardizasyon ilişkisini (IEEE-SA) (IEEE-SA) ve ayrıca FIPS 151-2'ye dayanarak üstlendi.

2003 yılında, IEEE-SA ve Open Group, IEEE 1003.1 (TM) 2001 ile başlayan son POSIX sürümlerinin sertifikalandırılması için yeni bir ortak programın başlangıcını açıkladı. Şimdi Open Group, IEEE STD 1003.1-1996, IEEE STD'yi kapsayan birkaç test var. 1003.

2-1992, IEEE STD 1003.1-2003 ve IEEE STD 1003.13-1998 (www.opengroup.org/testing/testsuites/posix.html). Ürünün POSIX tarafından onaylandığı kabul edilirse, tam sertifikasyon prosedürünü geçerse, test sonuçlarına göre, tüm sunulan gereksinimleri karşılar ve sertifikalı ürünlerin resmi kayıtlarında listelenmiştir.

Test setleri şunları içerir:

VSX-PCTS1990 (www.opengroup.org/testing/testsuites/vsxpctts1990.htm) - Sistem arayüzleri için uygunluk testleri IEEE STD 1003.1-1990;

Vspse54 (www.opengroup.org/testing/testsuites/vspse54.htm) - IEEE STD 1003.13-1998 Profili PSE54 için uygunluk testleri kümesi (çok amaçlı gerçek zamanlı);

Vsx-pcts2003 (www.opengroup.org/testing/testsuites/vsxpctts2003.htm) - IEEE STD sistem arayüzleri için 1003.1-2003 için uygun bir uyuşma testleri kümesi (yalnızca zorunlu kısımlar);

VSC-PCTTS2003 (www.opengroup.org/testing/testsuites/vscpppcts2003.htm) - IEEE STD 1003.1-2003 (Shell and Utilities - yalnızca zorunlu kısımlar) için uygunluk testleri kümesi.

Ek olarak, Open Group, POSIX gerçek zamanlı standartları ve gömülü POSIX standartları profili için testler geliştirmiştir. POSIX gerçek zamanlı (www.opengroup.org/testing/testsuites/realtime.html) için bir dizi testler aşağıdaki testleri içerir:

IEEE POSIX 1003.1B-1993 / 1003.1I-1995 Gerçek Zamanlı Uzatma 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ı Uzatma ve IEEE POSIX 1003.1.2003 Edition;

IEEE POSIX 1003.1J-2000 Gelişmiş RealTim Uzantısı 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 Edition;

Gömülü POSIX standartları Profil testleri (www.opengroup.org/testing/testsuites/embedded.html) aşağıdaki testleri içerir:

IEEE POSIX 1003.1-1990 (5310 testleri);

IEEE POSIX 1003.1B-1993 / 1003.1I-1995 Gerçek Zamanlı Uzatma (1430 Test);

IEEE STD POSIX 1003.1C-1995 İplikler (Pitrads) Uzantısı (1232 Test);

IEEE POSIX 1003.13-1998 Profil 52.

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

Standartlar grubu ile ilgili olarak, İngilizce olarak POSIX, biri değil, üç terim. Ne yazık ki, onlar değerlidirler ve genellikle eşit bir karışıklık getiren eşit olarak eşittir. Bunlar:

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

Uyumluluk (kelimenin tam anlamıyla "uyum");

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

POSIX'e uygulanan birinci terim resmi olarak tanımlanmamıştır. İkincisi, kuruluşun bir yazılım üreticisinin bağımsız olarak, bu ürünün (tamamen veya kısmen) aşağıdaki NIST-PCTS standartlarını karşıladığını beyan ettiği anlamına gelir. Üçüncü terim, yazılımın geçtiğini ima ediyor yüklü sistem Akredite edilmiş bir laboratuvarı kullanarak veya açık grup içinde testler ve bunun bir belgesel onayına sahiptir (sözde uygunluk ifadesi). Ayrıca, her yerdeki makalenin metninde, belirsizliği dışlamak için terimlerin orijinali olacaktır.

Sertifikalı OS RV.

Sertifikalı OS RV hakkındaki verilerin resmi kayıt ve testte yayınlanmasını gerektiren sıkı kurallara uyuyorsanız, seviye göre yapıldı. uyuşmaŞu anda yalnızca iki sertifikalı OS RV var (veri kronolojik sırayla verilir):

- Lynxos v.3. (Şimdi Lynuxworks, Inc., www.lynuxworks.com adında olan Lynx gerçek zamanlı sistemlerin ürününün ürünleri, zor gerçek zamanlı üreticilerde, komple ve telekomünikasyon ekipmanı üreticilerinde faaliyet gösteren yerleşik sistemlerde geliştirilmeye yöneliktir. Özellikle askeri kullanım gemisi sistemlerinin üreticileri. Geliştirme hem hedef sistemde (kendi kendine barındırılan) hem de takım bilgisayarında (ana bilgisayar), hedef sistemde (hedef) çalışacak şekilde tasarlanmaya hazır olabilir. Lynxos V.3, Tutarlılık Sertifikası (Uygunluk)intel ve PowerPC platformunda POSIX standardı. Bununla ilgili bilgiler, IEEE web sitesinde bulunabilir http://standards.ieeee.org/regauth/posix/posix2.html.lynxos, POSIX 1003.1-1996 tarafından sertifikalandırılmış, bu IEEE POSIX Accredited Posix Test Laboratuvarı olan Nist Fips 151 2 Uygunluk Test Süiti Testleri. Belge numarası onaylama sertifikası: referans dosyası: IP-2LYX002, referans dosyası: IP-2LYX001.

- Bütünlük v.5 (Green Hills yazılımının, www.ghs.com adresinin ürünü) tutarlılık için onaylanmıştır. (Uygunluk) POSIX 1003.1-2003, Temmuz 2004'te PowerPC mimarisi için sistem arayüzleri (http://get.posixcertified.eeee.org/select_product.tpl). Testler seti VSX-PCTS 2003.

POSIX ve QNX işletim sistemi

QNX V.4.20(Geliştirici - firma QNX yazılım sistemleri, www.qnx.com) uygunluk için sertifikalı (UYMA) Platform için POSIX 1003.1-1988 İntel şirketi DataFocus dahil edildi. Test 13 Eylül 1993'te, belgenin ihracı tarihi - 1 Kasım 1993 tarihinde yapıldı. Testler NIST PCTS 151-1, Sürüm 1.1.

QNX Neutrino (sürüm 6.3), POSIX ailesinin bir sonraki standartlarına uygun (www.qnx.com/download/download/8660/portaability.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 yazılım sistemleri, QNX Neutrino'yu bu standartların bazılarına göre sertifikalandırmayı planlıyor; Çalışmalar 2005 için planlanmıştır (www.qnx.com/news/pr_959_1.html).

Edebiyat

1. IEEE Standartları Derneği kullanım kılavuzu. IEEE, Ekim 2004.

2. Kevin M. Obeland.. Gerçek zamanlı, gömülü sistemler programlamada POSIX, 2001.

3. IEEE / ANSI Standardı 1003.1: Bilgi Teknolojisi - (POSIX) - Part1: Sistem Uygulaması: Program Arabirimi (API).

4. Gallmeister B. O. Real World, Posix.4 Sebastopol, CA: O'Reilly & Associates, 1995.

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

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

Yazılım) - istisnai önem ve karmaşıklık görevi; Günümüzde, bu durumun kapsamlı gerekçelere gerek yoktur. Yazılımın hareketliliğini arttırmanın genel olarak kabul edilen yollarından biri, uygulamaların ortamını standartlaştırıyor: sağlanan programlama, yardımcı programlar vb. Düzeyinde sistem servisleri Benzer bir ortam POSIX standardını açıklar (taşınabilir işletim sistemi arayüzü - mobil işletim sistemi arayüzü); İsim, ücretsiz Yazılım Vakfı Richard Tornen'in kurucusu, tanınmış bir uzman tarafından önerilmiştir.

Mevcut POSIX standardının mevcut sürümlerinin en modernini, "Standart Üçlü" olarak adlandırılabilecek, yani: IEEE STD 1003.1 standart, Teknik Standart Açık grup ve (bkz. [6]), bizim için en önemli olan Uluslararası Standart ISO / IEC 9945 (bkz. [1], [2], [3], [4]).

Bu sürümü oluşturma tarihi böyle. 1998 yılının başında, üç kuruluş temsilcileri - Mobil Uygulama Standartları Enstitüsü Elektrik Mühendisliği Mühendisleri Enstitüsü ve Elektronik Enstitüsü Enstitüsü, Ortak Teknik Komite 1 (JTC1 / SC22 / WG15) Ortak Teknik Komitesi'nin (JTC1 / SC22 / WG15) alt komitesinin (22) Standardizasyon Örgütü - Birleşme ve Sistem Hizmetlerine Görülen Arabirim Standartlarının Geliştirilmesi ve Arabirim Standartlarının Geliştirilmesi Başladı: IEEE STD 1003.1, IEEE STD 1003.2, Açık Grup'un Temel Özellikleri, ISO / IEC 9945-1, ISO / IEC 9945-2. Aynı yılın Eylül ayında Austin kentinde, Grubun örgütsel bir toplantısı olan Texas, Hedefe ulaşmak için oluşturulan Grubun örgütsel bir toplantısı (bkz. Http://www.opengroup.org/austin) IBM ofisinde gerçekleşti.

Temmuz 1999'da sunulan ilk proje olan revize edilmiş standart için temel belge, IEEE ve ISO / IEC standartlarının hükümlerini dahil ettikleri için açık gruptan temel özellikleriydi. 2001 yılında hazırlık çalışmalarının tamamlanmasından sonra, standart aşağıdaki dört bölümden oluşmaktadır:

  1. ana tanımlar (tüm parçalar için ortak terimler, kavramlar ve arayüzler);
  2. açıklama uygulama C arayüzü sistem hizmetlerine;
  3. arabirimin sistem hizmetlerine düzeyde açıklaması komut dilimi ve servis Programları ;
  4. standart hükümlerin ayrıntılı bir açıklaması, alınan kararların gerekçesi.

Ayrıca ISO, IEEE ve Açık Grup'ta daha büyük veya daha az hızı (2001-2002 yıllarında), yeni POSIX standardının resmi bir onayını geçti. Bu arada, 2003. yılda göz önünde bulundurulan nispeten küçük düzeltmeler biriktirildi.

Standartın gelişimi ile "Posix" teriminin yorumlanması genişliyordu. Başlangıçta, açıklanan IEEE STD 1003.1-1988'e atıfta bulundu. uygulama programı arayüzü OS Sınıfı Unix. Command dil düzeyinde ve hizmet programlarındaki arayüzü standartlaştırdıktan sonra, genel olarak "POSIX" standardı kelimesi altında, yukarıda belirtilen bölüm 2 ve 3'ü POSIX .1 ve POSIX .2 numaralandırmaya uygun olarak belirtir. IEEE ve ISO / IEC belgeleri.

Standart POSIX'in ana fikirleri

POSIX standardı, uygulamaların işleyişi için gerekli olan çok sayıda temel, sistem hizmetini açıklar. Bunlara erişim, C, komut dili ve ortak servis programları için belirtilen bir arayüz tarafından sağlanır.

Her arabirimin iki tarafı vardır: neden olur ve aranır. POSIX standardı öncelikle aramaya yöneliktir. Amacı başvuru yapmaktır kaynak dil düzeyinde mobil. Bu, özellikle C-Programlarını başka bir işletme platformuna aktarırken, yeniden derleme gerekli olacaktır. Yürütülebilir programların hareketliliği ve / veya nesne dosyaları hakkında önemli değil.

POSIX standardı UNIX ortam çerçevesi ile sınırlı değildir. İşletim sistemleri (OS) "Bağımsız Köken" (örneğin, gerçek zamanlı sistemler), gerekli hizmetleri sağlamak ve böylece POSIX'in uygulanabilir uygulamaların yürütülmesini desteklemektedir. POSIX standardının ardından uygulamaların neredeyse tüm ortak işletim platformuna aktarılmasını kolaylaştırdığı tartışılabilir. Geliştirme aşamasında eklenmiş hareketliliği iyileştirme çabaları kesinlikle ödeme yapacaktır.

Sistem hizmetlerine arabiriminin belirlenmesi, POSIX uygulamalarının çerçevesini bırakır. Özellikle, ayırt etmeyin sistem çağrıları ve kütüphane İşlevleri. Standardizasyonun nesnesi değildir İdare, Donanım Sınırlamaları ve Yalnızca Gerekli İşlevler süper halefBir kez daha Standartın odağını vurguluyor

Bugün POSIX standardının ne tarif ettiğini bulmaya çalışacağız. Standartlar, bilgisayarımın sizinle etkileşime girebileceğinden emin olmak için tasarlanmıştır. Onlar sayesinde, iki benzer web sayfası bilgisayarında veya gerçek zamanlı olarak yayın videosu eşit olarak bakacak.

Bununla birlikte, standart, kullanıcılar arasındaki herhangi bir veri alışverişinden daha büyük görevler için tasarlanmıştır. Bazı standartlar, dosya veya ağların değer uyumluluğunda önemli ölçüde üstün olan özellikler sayesinde özel bir model tanımlar. POSIX standardı numaralarını ifade eder.

Posix nedir?

POSIX ("Posiks" olarak telaffuz edilir) taşınabilir bir işletim sistemi arayüzüdür. Ama bu ne demektir? İlk olarak, "Taşınabilirlik" kavramının alanını bu konuda belirlemeniz gerekir. beton durumve "arayüz" kavramına karar verin. Bunu öğrenmek için, her iki kavramın ayrılmaz bir şekilde bağlantılı olması gerçeğinden itibaren iade etmek gerekir.

POSIX standardının bağlamında "taşınabilirlik", kaynak kodu (Bu çok kaynaklardan toplanan ikili değil). Şimdi "arayüz" nin olduğunu öğrenin. Programlamada, "arayüz" kodunuzun geri kalanıyla kodunuzun etkileşimidir. Arabirim, kodunuzdan belirli bilgilerin sağlanmasını bekliyor. Kodunuz, sırayla, arayüzden belirli bilgileri almayı içerir. İyi örnek - SI'de Fopen () işlevi. İki bölümden bilgi bekler: dosyanın yolu ve açılacağı mod. Bu verileri kullanarak, işletim sistemi "dosya tanımlayıcısı" adlı başka bir bilgi türü döndürür. Dosya tutamağı dosyayı okumak veya dosyaya yazmak için kullanılabilir. Bu arayüzdür. Bütün bunlardan, posix uyumlu bir kodun, önemli değişiklikler olmadan herhangi bir POSIX uyumlu işletim sistemi altında derlenebileceğini, bu da taşınabilir olacağı anlamına gelir.

Bununla birlikte, POSIX standardına ilişkin arayüzlerin listesi, büyük uzunluğuna rağmen bile, eksik olması mümkündür. POSIX sistem zorlukları ile sınırlı değildir, aynı zamanda işletim sistemlerinin kabukları için standartları tanımlar (raflar, aksi halde - arayüzler komut satırı), "AWK" veya "yankı", sistem kütüphaneleri ve diğer birçok şey gibi sistem yardımcı programları.

POSIX standardı, 1985 yılında Richard Pokalman projesi biçiminde ortaya çıktı ve IEEE STD 1003.-1998 olarak da dekore edildi. Adından görülebileceği gibi, 1998 resmi yayın yılıydı. O zamandan beri, POSIX için çok sayıda ekleme ve uzatma serbest bırakıldı; bu, basitçe IEEE 1003 olarak bilinen, uluslararası olarak tanınan, SO / IEC 9945'in adlandırılmasıyla, yalnızca POSIX olarak adlandırılan bir uluslararası olarak tanınan tüm standartlara dönüştü. Aile standardı.

İşletim sistemi, bir posix sertifikasına sahip olmak için posix uyumlu veya daha da fazla olması gerekmez, ancak geliştiricilerin zamana göre bir kez kodu yeniden yazmadan uygulamalar, araçlar ve platformlar oluşturmalarını sağlar, ancak yalnızca tamamlayıcı ve bağlanmaya devam etmektedir. -bitiş. Ayrıca posix uyumlu bir kod yazmak gerekli değildir, ancak bu, işletim sistemleri arasındaki projelerin taşınabilirliğini önemli ölçüde artırır. Bu, POSIX standardıyla uyumlu bir kod yazma yeteneğinin kendi içinde değerlidir ve bir kariyer için kesinlikle çok faydalı olduğu anlamına gelir. Gnome veya KDE gibi büyük projeler, farklı işletim sistemlerinde çalışmalarını garanti eden POSIX standardına uyuyor. POSIX alt sistemi bile uygulanır son sorunlar Pencereler. Linux, bildiğiniz gibi, POSIX standardıyla ilgili sistem çağrılarının çoğunun çoğunun yanı sıra, "Standart Linux Bankası" olarak adlandırılan, Linux dağıtımlarını destekleyici kaynak kodu ve ikili veri açısından birleştirmek için tasarlanmış "Standart Linux Bankası" olarak adlandırılır. .

Umarım ışığı "posix nedir" sorusuna attık. Konu hakkında ilginç bilgilere sahip misiniz? Lütfen yorumlarda paylaşın.

POSIX ve OS RV: Sistematizasyona Giriş Etme

Sergey Zolotarev, Nikolai Gorbunov

Bu makalenin amacı, gerçek zamanlı işletim sistemlerine (OS RV) ile ilgili olarak POSIX standardının geliştirme tarihinde belirli bir netlik yapmaya çalışmaktır.

Bir giriş olarak: Neden bir programlama arabirimi standardizasyonuna ihtiyacınız var?

POSIX standardının en önemli özelliklerinden biri, karmaşık yazılım ve donanım sistemlerinin geliştiricilerinin geliştiricilere yapışması gerektiği "standartlaştırılmış bir programlama arabirimi" tanımlamasıdır. Bu sistemlerin yaratıcıları, pazara girmenin kısa bir sürei (katı rekabet nedeniyle), maliyetleri en aza indirmenin ve yatırım getirilerini hızlandırmanın kısa bir süreiyle yüzleşmeye zorlanmaktadır. Aynı zamanda, aslanın gelişim sürecindeki yavaşlamanın neden olduğu harcamaların payı, programcıların uzun süredir "bir bisiklet icat etmeleri" gerekçesiyle ilişkilidir. Ancak bu önlenebilir:

  • kodu geçmiş ve paralel projelerden yeniden kullanın;
  • kodun diğer işletim sistemlerinden aktarılması;
  • geliştiricileri diğer projelerden çekmek (diğer işletim sistemlerini kullanarak).

Tüm bunlar, işletim sisteminin standart bir API ile kullanılmasından dolayı mümkündür. Dahası, ilk durumda, kuruluş belirli bir iç standarda (özellikle markalı işletim sisteminin özelliği olan) yeterli olması durumunda, ikinci iki dava sadece genel olarak kabul edilen standartların kullanılabilirliğini gerektiriyor - örneğin, POSIX.

Böylece, POSIX uyumlu bir işletim sistemi projeleri için bir platform olarak kullanmak, geliştirici, bitmiş kodu geçmiş veya paralel projelerden ve üçüncü taraf projelerden kaynak kod seviyesinde aktarabilir. Bu, yalnızca yazılım geliştirme zamanlamasını önemli ölçüde azaltmaz, aynı zamanda kanıtlanmış kod her zaman daha az hata içerdiğinden kalitesini arttırır.

POSIX'in geliştirilmesinde kim

Ve çok standart POSIX ile başlayalım, ancak üzerinde çalışmaya dahil olan kuruluşların rolünü sıralayarak.

İlk katılımcı IEEE. Elektrik ve Elektronik Mühendisleri Enstitüsü, Elektrikçi Mühendisleri ve Elektronik Enstitüsü), Kamu Kazancı Profesyoneller Birliği. IEEE tarihinden itibaren tarihini 1884'ten beri (resmi olarak - 1963'ten beri), 150 ülkeden 380.000 bireysel üyeyi birleştirir, teknik literatürün üçüncü bölümünü bilgisayar, yönetim, elektrik ve bilgi teknolojilerinin kullanımı ve 100'den fazla dergi yayınlar, Profesyonellerin ortamında popüler; Buna ek olarak, dernek yıllık 300'den fazla ana konferansın üzerindedir. IEEE, 900'den fazla standartların gelişimine katıldı (www.ieee.ru/ieeee.htm). Bugün, bu enstitü hazırlık, onay, onay, yayıncılık standartları, ancak resmi durumunda, bu tür belgeleri uluslararası veya ulusal standartlar olarak kabul etme yetkisine sahip değildir. Bu nedenle, IEEE anlayışındaki "Standart" terimi, Dernek tarafından alınan belgelerin durumundan daha sorumlu olan "Şartname" olarak anlaşılmalıdır. IEEE'ye göre, bir dizi uluslararası ve bölgesel kuruluşun programlarına - IEC, ISO, ITU (ELEKTROTEKNİK STANDARTİZASYON STANDARTUĞU) ve ANSI gibi böyle bir kuruluşun programı gibi ulusal programlarda katılmaktadır.

IEEE, POSIX (www.pasc.org/) bir aileyi geliştiren PASC (Taşınabilir Uygulama Standartları Komitesi) - Dernek Komitesi içerir. Daha önce, Pascc, operasyonlardaki Teknik Komite olarak biliniyordu.

İşin ikinci katıldığı - ANSI. (Amerikan Ulusal Standartları Enstitüsü, Amerikan Ulusal Standartları Enstitüsü) - Amerika Birleşik Devletleri'nde standardizasyon konularında yöneten ve koordine eden özel kar amacı gütmeyen bir organizasyon. Sadece 75 kişiyi kullanır, ancak ANSI üyeleri 1000'den fazla şirket, kuruluş, devlet kurumları ve kurumdur (www.ansi.org). ANSI, ABD'yi Standardizasyon - ISO ve IEC için iki ana uluslararası kuruluşta temsil ediyor.

Üçüncü Katılımcı - İso. Uluslararası Standardizasyon Örgütü, Uluslararası Standardizasyon Örgütü). 1946'da Standartlar ve BM Genel Kurulu Koordinasyonu Komitesi'nin kararı ve 23 Şubat 1947'de (www.iso.org) 'nın resmi olarak çalışmasına karar verildi. ISO, Cenevre'deki (İsviçre) Merkez Sekreteryası olan 146 ülkeden (bir ülke bir üye) ulusal standardizasyon kurumlarının bir ağıdır. ISO standartları, birincisi, uluslararası standarttaki (FDIS) 'nda birkaç eşleşmenin ardından, birinci sonuç olan Uluslararası Standart Belgeler (DIS) olan teknik komitelerde geliştirilmiştir. Bundan sonra, bu belgenin onayı sorusunu oylamaya yapılır; Olumlu bir sonuçla, uluslararası bir standart haline gelir.

En sonunda, - IEC. Uluslararası Elektroteknik Komisyonu, Uluslararası Elektroteknik Komisyonu) 1906'da kurulan IEC, tüm elektrik, elektronik ve ilgili teknolojiler için (www.iec.ch/) için uluslararası standartlar hazırlar ve yayınlar. 1 Kasım 2004 tarihi itibariyle, 64 ülkenin Ulusal Komiteleri bu Komisyonun geçerli üyesiydi. IEC ayrıca İngilizce ve Fransızca çıkan ve uluslararası standartların statüsünü gerçekleştiren önerileri yayınlar. Bölgesel ve ulusal standartlara dayanırlar. Teknik Komiteler (TC), IEC faaliyetlerinin çeşitli alanlarındaki standartların hazırlanmasından sorumludur ve bir TC'nin faaliyetleri ile ilgilenen ulusal komiteler de dahil olmaktadır.

IEC, bilgi teknolojisi için uluslararası standartların hazırlanmasında kilit bir organizasyondur. Bu alanda, IEC ve ISO arasındaki anlaşmaya göre 1987 yılında oluşturulan Bilgi Teknolojisi - JTC 1'de ortak bir teknik komite sahiptir. JTC1, tüm gelişmeleri denetleyen 17 alt komiteye sahiptir - yazılımdan programlama dillerine, bilgisayar grafiklerine ve düzenleme görüntülerine, ekipmanların ve güvenlik yöntemlerinin bağlantıları.

Yeni IEC standartlarının hazırlanması birkaç aşamada (ön, tedarikin hazırlık aşaması, teknik komitenin aşaması, istek aşaması, talep, onay, yayın) içerir. IEC belgesinin yalnızca bir teknik şartname olacağı planlanırsa, uluslararası bir standart değil, belgenin revize edilmiş versiyonu Yayın için Merkez Ofisi'ne gönderilir. Uluslararası Standart'ın (FDIS) nihai projesinin gelişimi için dört ay verilir. Teknik Komitenin tüm üyeleri onaylanırsa, FDIS onay aşaması olmadan yayıncılık için Merkez Ofisine gidiyor. Bundan sonra, FDIS, iki ay içinde onaylamak için ulusal komitelere düşer. FDIS, Ulusal Komitelerin üçte ikisinden fazlası onun için oy kullandığında onaylanmış olarak kabul edilir ve olumsuz oyların sayısı% 25'ini geçmez. Belge onaylanmazsa, teknik komiteleri ve alt komiteleri gözden geçirmek için gönderilir. Standart, FDIS'nin onayından en geç iki aydan daha sonra yayınlanmalıdır.

POSIX standartlarının geliştirilmesi ve benimsenmesi ile ilgili birkaç kuruluş daha var.

Açık grup. - Bilgi teknolojisi alanında çalışan yaklaşık 200 üretici ve kullanıcı topluluğunu bir araya getiren Yazılım Standardizasyonu Uluslararası Örgütü (www.opengroup.org/). Açık Grup, 1995 yılında iki selefi birleştirerek oluşturuldu: X / Open ve Açık Yazılım Vakfı (OSF). Açık Grup, yazılım sertifikalandırma metodolojilerinin geliştirilmesinde uzmanlaşmıştır ve belirli gereksinimlere uygunluk için test. Özellikle, Açık Grup, COE platformu, Corba, LDAP, Linux standart baz, okullar birlikte çalışabilirlik çerçevesi (SIF), S / MIME ağ geçidi, tek Unix spesifikasyonu, kablosuz uygulama protokolü özellikleri (WAP) ve Sonunda POSIX ailesi gibi alanlar için sertifikalandırılmıştır. Standartlar (www.opengroup.org/certification/).

Austin Ortak Standartlar Revizyon Grubu (CSRG) - Birleşik Teknik Çalışma Grubu, ISO / IEC 9945-1-1996, ISE / IEC 9945-1993, ISO / IEC 9945-1993'e dayanarak oluşturulacak olan Standart 1003.1'in en son sürümlerini oluşturmak ve sürümlerini oluşturmak ve korumak için oluşturulmuştur. , 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) - Federal Ajans, 1901'de Amerika Birleşik Devletleri'nde kurulan Ticaret Bölümü Teknoloji İdaresi (www.nist.gov/public_affairs/general2.htm) ile uyumludur. Nist'in görevi, ürün kalitesini iyileştirmek için standart ve teknolojilerin gelişimi ve propagandasıdır. NIST, federal bilgi işlem standartları olan faaliyetlerin sonuçlarından biri olan bir bilgi teknolojisi laboratuvarı (ITL) içerir (federal bilgi işlem standartları - FIPS, www.opengroup.org/testing/fips/general_info.html). NIST / ITL, 1991'de FIPS PUB 151-1 1990 altında POSIX sertifikası için ilk test seti sundu.

Posix nedir?

Resmi olarak Posix. Richard Stallman (Richard Stallman) tarafından bir kısaltma olarak önerilen P.ortable. Ö.peratan S.bM için YSEM arayüzü İx. (UNIX için işletim sistemlerinin taşınabilir arayüzü). Kaynak kod seviyesindeki uygulamaların taşınabilirliğini sağlamak için POSIX, UNIX benzeri işletim sistemleri (ilk sürümleri 1970'lerin başından itibaren sayıyor) geliştirilmiştir.

Arabirimin ilk açıklaması 1986'da yayınlandı, sonra IEEE-IX (IEEE'nin UNIX'in versiyonu) olarak adlandırıldı. Ancak, isim hızlı bir şekilde değişti, posix'e dönüştü ve bu yeni sürüm aşağıdaki yayında kullanılmıştır. (1986'da geri döndü). Posix'in altında bir süredir, referans (veya eş anlamlılar), IEEE 1003.1-1988 ile ilgili belgeler ve ISE / IEC 9945'in bir parçası olarak anlaşıldı ve bir grup olarak ve tam ve onaylanmış bir Uluslararası ISO / IEC standart 9945.1: 1990 POSIX 1990'da kabul edildi. POSIX spesifikasyonları, uygulama programı ile işletim sistemi arasındaki etkileşim için standart mekanizmayı tanımlar ve şu anda IEEE, ISO, IEC ve ANSI'nın himayesinde 30'dan fazla standart içerir.

Tarihi boyunca POSIX büyük bir yoldan geçti, çoğu zaman şartnamelerin tanımlarını, belirli içeriklerini, prosedürlerini ve doğrulamalarının lojistiklerini değiştirdi. Geçmiş zamandan beri, çeşitli uluslararası kuruluşlarda POSIX standardının birkaç basımı yayınlandı.

POSIX Standart Geliştirme Tarihi

IEEE STD 1003.1 şartnamesinin ilk versiyonu 1988 yılında yayınlandı. Daha sonra, IEEE STD 1003.1'in sayısız baskısı uluslararası standartlar olarak kabul edildi.

POSIX Geliştirme Aşamaları:

1990

1988 yılında yayınlanan Editör Ofisi geri dönüştürülmüş ve daha fazla editör ve eklemeler için temel oluşturulmuştur. Uluslararası bir Standart ISO / IEC 9945-1: 1990 olarak onaylandı.

1993

1003.1b-1993'ün editoryal ofisi geliyor.

1996

IEEE STD 1003.1B-1993, IEEE STD 1003.1C-1995 ve 1003.1I-1995 yapıldı, ancak belgenin ana kısmı değişmeden kaldı. 1996 yılında IEEE STD 1003.1'in baskısı, Uluslararası Standart ISO / IEC 9945-1: 1996 olarak da onaylandı.

1998

"Gerçek zamanlı" için bir ilk standart var - IEEE STD 1003.13-1998. Bu, gömülü gerçek zamanlı uygulamalar için POSIX standardının genişletilmesidir.

1999

Standart 1003.2 (Shell and Utilities) ile birleşme dahil olmak üzere, son 10 yıldır standardın ana metninde önemli değişiklikler yapmaya karar verildi, bu zamandan beri ayrı standartlardı. PASC, IEEE 1003.1A, 1003.1D, 1003.1 g, 1003.1J, 1003.1Q ve 1003.2b standartlarının tamamlanmasından sonra temel metni değiştirmeyi bitirmeye karar verdi.

2004

Son Bugün, 1003.1'de Editör Kurulu 30 Nisan'da yayınlandı ve Austin Ortak Standartlar Revizyon Grubu'nun himayesinde serbest bırakıldı. 2001 Yayın Kurulu'na ilişkin değişiklikler yaptılar. Resmen, 2004 yılı Yayın Ofisi, IEEE STD 1003.1, 2004 Sürümü, Açık Grup Teknik Standart Baz Özellikleri, Sayı 6 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.

RV OS için POSIX'in en önemli standartları

Gerçek zamanlı işletim sistemleri için, yedi standart özellikler en önemlidir (1003.1A, 1003.1J, 1003.1C, 1003.1D, 1003.1J, 1003.21), ancak yalnızca üç ticari işletim sisteminde yaygın olarak desteklenmiştir:

  • 1003.1A (işletim sistemi tanımı) İşletim sisteminin temel arayüzlerini, iş yönetimi, sinyalleri, dosya sistemi işlevleri ve cihazları, kullanıcı grupları, konveyörler, FIFO tamponlarını belirtir;
  • 1003.1b (gerçek zamanlı uzantılar) Gerçek zamanlı sinyal, öncelikli sevkıyat, zamanlayıcılar, senkronize ve asenkron giriş, semaforlar, paylaşılan hafıza, mesajlar gibi gerçek zamanlı uzantıları açıklar. Başlangıçta (1993 yılına kadar), bu standart POSIX.4 olarak belirlenmiştir.
  • 1003.1C (konu) Akış destek fonksiyonlarını (konu) - akış kontrolü, akış özellikleri, muteksler, gönderme tanımlar. Başlangıçta POSIX.4A olarak belirlenmiştir.

Bu standartlara ek olarak, STD Project 1003.1-2001'in bir parçası olarak uygulanan RV için aşağıdaki standartlar önemlidir:

  • IEEE 1003.1D-1999. Gerçek zamanlı ek genişlemeler. Başlangıçta posix.4b olarak belirlenmiştir;
  • IEEE 1003.1J-2000. Gelişmiş (gelişmiş) gerçek zamanlı genişleme;
  • IEEE 1003.1Q-2000. İzleme.

Sertifikasyon prosedürü

POSIX standardını karşılamak için, işletim sistemi, ilgili test setinin sonuçlarına göre sertifikalandırılmalıdır. POSIX'in görünümünden bu yana, test seti resmi ve gerçek değişiklikler yapıldı.

1991 yılında NIST, FIPS 151-1 (http://standards.ieee.org/regauth/posix/posix-a.fm5.pdf) içinde bir POSIX test programı geliştirmiştir. Bu test seçeneği, IEEE 1003.3 "POSIX'e uygunluğun ölçülmesi için test yöntemleri için Standart, 10, 3, 1989 Taslağı. 1993'te Nist, FIPS 151-1 için test programından mezun oldu ve FIPS 151 -2 için bir program başlatıldı. (www.itl.nist.gov/fipspubs/fip151-2.htm). FIPS 151-2 uyarlanmış "Bilgi Teknolojisi - Taşınabilir İşletim Sistemi Arabirimi (POSIX) - Bölüm 1: Sistem Uygulama Programı Arabirimi (API)," ISO / IEC 9945-1: 1990 Standart. FIPS 151-2 için test setleri, Posix'e uygunluk ölçmek için test yöntemleri için IEEE 2003.1-1992 "standardına dayanıyordu.

NIST, iki sertifikasyon metodolojisini ayırt eder: kendi kendine sertifika (kendi kendine sertifika) ve IEEE test laboratuarlarında akredite edilmiş sertifikalandırma (akredite POSIX test laboratuvarları - APTL). İlk durumda, Şirket bağımsız olarak test yapar, ancak Nist'te onaylanan plana göre. İkinci durumda, testler otomatik test setleri kullanılarak bağımsız bir laboratuvar tarafından gerçekleştirilir. İki aptl laboratuvarı akredite edildi: Mindcraft (www.mindcraft.com) ve çok yıllık (www.peren.com).

1997 yılında NIST / ITL, Cari yıl sonunda FIPS 151-2 sertifikasını feshetme niyetini açıkladı (resmi olarak - 31 Aralık 1997), aynı zamanda açık grup 1 Ekim'de alacağını açıkladı. NIST / ITL programına dayanan FIPS 151-2'ye göre sertifikasyon hizmeti yılı. 1 Ocak 1998'den itibaren aynı fonksiyonlar, IEEE standardizasyon ilişkisini (IEEE-SA) (IEEE-SA) ve ayrıca FIPS 151-2'ye dayanarak üstlendi.

2003 yılında, IEEE-SA ve Open Group, IEEE 1003.1 ™ 2001 ile başlayan, POSIX'in son sürümlerinin sertifikalandırılması için yeni bir ortak programın başlangıcını açıkladı. Şimdi açık grup, IEEE STD 1003.1-1996, IEEE STD'sini kapsayan birkaç test var. 1003.2-1992, IEEE STD 1003.1-2003 ve IEEE STD 1003.13-1998 (www.opengroup.org/testing/testsuites/posix.html). Ürünün POSIX tarafından onaylandığı kabul edilirse, tam sertifikasyon prosedürünü geçerse, test sonuçlarına göre, tüm sunulan gereksinimleri karşılar ve sertifikalı ürünlerin resmi kayıtlarında listelenmiştir.

Test setleri şunları içerir:

  • VSX-PCTS1990 (www.opengroup.org/testing/testsuites/vsxpctts1990.htm) - Sistem arayüzleri için uygunluk testleri IEEE STD 1003.1-1990;
  • Vspse54 (www.opengroup.org/testing/testsuites/vspse54.htm) - IEEE STD 1003.13-1998 Profili PSE54 için uygunluk testleri kümesi (çok amaçlı gerçek zamanlı);
  • Vsx-pcts2003 (www.opengroup.org/testing/testsuites/vsxpctts2003.htm) - IEEE STD sistem arayüzleri için 1003.1-2003 için uygun bir uyuşma testleri kümesi (yalnızca zorunlu kısımlar);
  • VSC-PCTTS2003 (www.opengroup.org/testing/testsuites/vscpppcts2003.htm) - IEEE STD 1003.1-2003 (Shell and Utilities - yalnızca zorunlu kısımlar) için uygunluk testleri kümesi.

Ek olarak, Open Group, POSIX gerçek zamanlı standartları ve gömülü POSIX standartları profili için testler geliştirmiştir. POSIX gerçek zamanlı (www.opengroup.org/testing/testsuites/realtime.html) için bir dizi testler aşağıdaki testleri içerir:

  • IEEE POSIX 1003.1B-1993 / 1003.1I-1995 Gerçek Zamanlı Uzatma 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ı Uzatma ve IEEE POSIX 1003.1.2003 Edition;
  • IEEE POSIX 1003.1J-2000 Gelişmiş RealTim Uzantısı 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 Edition;

Gömülü POSIX standartları Profil testleri (www.opengroup.org/testing/testsuites/embedded.html) aşağıdaki testleri içerir:

  • IEEE POSIX 1003.1-1990 (5310 testleri);
  • IEEE POSIX 1003.1B-1993 / 1003.1I-1995 Gerçek Zamanlı Uzatma (1430 Test);
  • IEEE STD POSIX 1003.1C-1995 İplikler (Pitrads) Uzantısı (1232 Test);
  • IEEE POSIX 1003.13-1998 Profil 52.

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

Standartlar grubu ile ilgili olarak, İngilizce olarak POSIX, biri değil, üç terim. Ne yazık ki, onlar değerlidirler ve genellikle eşit bir karışıklık getiren eşit olarak eşittir. Bunlar:

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

POSIX'e uygulanan birinci terim resmi olarak tanımlanmamıştır. İkincisi, kuruluşun bir yazılım üreticisinin bağımsız olarak, bu ürünün (tamamen veya kısmen) aşağıdaki NIST-PCTS standartlarını karşıladığını beyan ettiği anlamına gelir. Üçüncü terim, yazılım ürününün ayarlanan test sistemini geçtiğini veya akredite edilmiş bir laboratuvar kullanıldığını veya açık grupta kullandığı ve bunun bir belgesel onayına (sözde uygunluk ifadesi) olduğunu ima eder. Ayrıca, her yerdeki makalenin metninde, belirsizliği dışlamak için terimlerin orijinali olacaktır.

Sertifikalı OS RV.

Sertifikalı OS RV hakkındaki verilerin resmi kayıt ve testte yayınlanmasını gerektiren katı kurallara uyuyorsanız, şu anda sadece iki sertifikalı OS RV (veri kronolojik sırayla verilmiştir):

Lynxos v.3. (Şimdi Lynuxworks, Inc., www.lynuxworks.com adında olan Lynx gerçek zamanlı sistemlerin ürününün ürünleri, zor gerçek zamanlı üreticilerde, komple ve telekomünikasyon ekipmanı üreticilerinde faaliyet gösteren yerleşik sistemlerde geliştirilmeye yöneliktir. Özellikle askeri kullanım gemisi sistemlerinin üreticileri. Geliştirme hem hedef sistemde (kendi kendine barındırılan) hem de takım bilgisayarında (ana bilgisayar), hedef sistemde (hedef) çalışacak şekilde tasarlanmaya hazır olabilir. Lynxos V.3, Intel ve PowerPC platformunda tutarlılık (uygunluk) POSIX standardıyla sertifikalandırılmıştır. Bu bilgi IEEE web sitesinde http:///standards.ieeee.org/regauth/posix/posix2.html adresinde bulunabilir. Lynxos, Nist FIPS 151-2 Uygunluk Test Süit Testi için IEEE POSIX Akredite Posix Test Laboratuvarı olan Mindcraft POSIX 1003.1-1996 tarafından onaylanmıştır. Belge numarası onaylama sertifikası: referans dosyası: IP-2LYX002, referans dosyası: IP-2LYX001.

Bütünlük v.5 (Green Hills yazılımının, www.ghs.com şirketinin ürünü), POSIX 1003.1-2003, Temmuz 2004'te POWIX 1003.1-2003, sistem arayüzleri tarafından tutarlılık (uygunluk) sertifikalıdır (http://get.posixcertified.ieee.org/ Select_product. tpl). Testler seti VSX-PCTS 2003.

POSIX ve QNX işletim sistemi

QNX V.4.20 (Geliştirici - Firma QNX Yazılım Sistemleri, www.qnx.com), Intel Platform için Verix 1003.1-1988 POSIX 1003.1-1988 POSIX (uyumluluk) tarafından dahil edilmiştir. Test 13 Eylül 1993'te, belgenin ihracı tarihi - 1 Kasım 1993 tarihinde yapıldı. Testler NIST PCTS 151-1, Sürüm 1.1.

QNX Neutrino (sürüm 6.3), POSIX ailesinin bir sonraki standartlarına uygun (www.qnx.com/download/download/8660/portaability.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 yazılım sistemleri, QNX Neutrino'yu bu standartların bazılarına göre sertifikalandırmayı planlıyor; Çalışmalar 2005 için planlanmıştır (www.qnx.com/news/pr_959_1.html).

Edebiyat

  1. IEEE Standartları Derneği kullanım kılavuzu. IEEE, Ekim 2004.
  2. Kevin M. Obeland. Gerçek zamanlı, gömülü sistemler programlamada POSIX, 2001.
  3. IEEE / ANSI Standardı 1003.1: Bilgi Teknolojisi - (POSIX) - Part1: Sistem Uygulaması: Program Arabirimi (API).
  4. GallMeister, B. O. Gerçek dünyaya programlama, posix.4 Sebastopol, CA: O'Reilly & Associates, 1995.
  5. Ulusal Standartlar ve Teknoloji Enstitüsü, PCTS: 151-2, POSIX TEST SUITE.
  6. POSIX: IEEE ve Açık Grup tarafından onaylanmıştır. Sertifikalı politika. Açık Grup, 21 Ekim 2003, Revizyon 1.1.