Program, farklı geçmişlere sahip çok sayıda geliştirici tarafından yazılmıştır. Genel Algoritmalar, ücretsiz veya bilimsel olarak yayınlanmış bir lisans altında mevcuttur ve ayrıca çalışma amacıyla ücretsiz olarak kullanılabilir. Bu, farklı ihtiyaçlara uygun farklı uygulamalar ve yazılım sürümleriyle sonuçlanır. Bu farklı uygulamaları birbiriyle değiştirilebilir ve modüler hale getirmek için arayüzlerin ve veri formatlarının standardizasyonu gereklidir.
Kısaca, POSIX [1]UNIX ve UNIX sistemleri için tam olarak bunu yapar (bu konuyla ilgili daha ayrıntılı bir geçmiş için Zak H’nin makalesine bakın). [4] Bak). Program için değiş tokuş arayüzlerini, iletişim mekanizmalarını ve iletilen verileri tanımlar, ancak dahili uygulamayı program geliştiricisine veya bakımını yapan kişiye bırakır. Amaç, UNIX ve UNIX benzeri sistemlerin tüm farklı çatallarını, farklı yazılım uygulamalarının birbiriyle etkileşime girebileceği şekilde bir araya getirmektir. POSIX’in ana avantajı, bu bileşenler (arayüzler, mekanizmalar ve ifadeler) için yazılı olarak bağlayıcı belgelere sahip olmasıdır.
POSIX standardını tamamen takip eden bir işletim sistemi, POSIX uyumlu olarak sınıflandırılır. Bu yazıda POSIX’in ne anlama geldiğini açıklıyoruz, Linux’un bu kategoriye ait olup olmadığını belirliyoruz ve bu sınıflandırmadan çıkarılması gereken Linux bileşenlerini listeliyoruz.
POSIX terimi ne anlama geliyor?
POSIX, Taşınabilir İşletim Sistemi Arayüzü’nün kısaltmasıdır. Yukarıda kısaca açıklandığı gibi POSIX, işletim sistemleri arasında uyumluluğu sağlamak için gerekli olan standartlar bütününün adıdır. [1]Belirtildiği gibi “[it]Komut satırı kabukları ve yardımcı programları ile birlikte bir uygulama programlama arabirimi (API) tanımlar. Çeşitli Unix türleri ve diğer işletim sistemleri ile program uyumluluğu arayüzleri. POSIX’in ilk sürümü 1988’de yayınlandı. O zamandan beri, Austin Ortak Standartlar İnceleme Grubu (Austin Grubu olarak da bilinir) sürekli genişlemekte ve güncellenmektedir. [7].
2021 itibariyle, POSIX standardı aşağıdaki bölümleri içermektedir:
- temel hizmetler (ANSI C standardını içerir) (IEEE std 1003.1-1988) – süreç oluşturma ve kontrol, semaforlar, dosya ve dizin işlemleri, kanallar, C kütüphanesi, G/Ç bağlantı noktası arayüzü ve kontrolü, süreç tetikleyicileri
- Aksesuarlar (sembolik bağlantılar)
- Gerçek zamanlı G/Ç uzantıları (IEEE Std 1003.1b-1993) – Öncelikli Programlama, Gerçek Zamanlı Sinyaller, Saatler ve Zamanlayıcılar, Sinyaller, İleti Aktarma, Paylaşılan Bellek, Eşzamansız ve Eşzamanlı G/Ç, Bellek Kilidi Arayüzü
- Tema uzantıları (IEEE Std 1003.1c-1995) – İş Parçacığı Oluşturma, İnceleme ve Temizleme, İş Parçacığı Eşleme, İş Parçacığı Senkronizasyonu ve Sinyal İşleme
- Daha fazla gerçek zamanlı uzantı
- Güvenlik aksesuarları (erişim kontrol listeleri)
- Kabuk ve Yardımcı Programlar (IEEE Std 1003.2-1992) – Komut Tercümanı, Yardımcı Programlar
Standart, teknik değişiklikleri ve iyileştirmeleri yansıtmak için düzenli olarak gözden geçirilir. Bazen yeni bir sürümün yayınlanması ve değişikliklerin dahil edilmesi birkaç yıl alabilir. Bu dezavantajlı olabilir, ancak standardın kapsamı göz önüne alındığında anlaşılabilir bir durumdur.
Son yıllarda, gerçek zamanlı işleme için uzantılar eklenmiştir. Mevcut sürüm 2018’in başlarında yayınlandı [3]. Kehanet [5] Yazarlar ayrıca, üst düzey mantık ve etkileşimleri tanımlamak için POSIX standardı hakkında birkaç yorum yayınladılar.
POSIX uyumlu olmak ne demektir?
“POSIX uyumlu” terimi, işletim sisteminin tüm POSIX standartlarını karşıladığı anlamına gelir. Bir işletim sistemi UNIX programlarını yerel olarak çalıştırabilir veya bir uygulama bir UNIX sisteminden diğerine taşınabilir. POSIX’i desteklemiyorsa, bir uygulamayı UNIX’ten hedef işletim sistemine taşımak daha kolaydır veya en azından daha kolaydır. Güvende olmak için işletim sisteminize POSIX sertifikası alın [2] Başarıyla alınmış olması gerekirdi. Bu adım (ücret karşılığında) otomatik bir sertifikasyon sınavını geçerek gerçekleştirilir. İlgili test paketi burada [11] Bulunabilir.
2021 itibariyle, POSIX sertifikalı işletim sistemleri arasında IBM’den AIX, HP’den HP-UX, SGI’dan IRIX ve Huawei’den EulerOS bulunmaktadır. [6]Mac OS X’i içerir. Apple’ın (10.5 Leopard’dan beri), Oracle’ın Solaris’ini ve QNX Neutrino’yu, Inspur’un K-UX’ini içerir [11] ve Green Hills Software’den gerçek zamanlı olarak OS INTEGRITY [15]. Solaris’in halefleri OpenSolaris, Illumos ve OpenIndiana’nın daha yeni sürümlerinin de tamamen POSIX uyumlu olarak sınıflandırılıp sınıflandırılmadığı şu anda belirsiz. Bu işletim sistemleri, POSIX 2001’e kadar POSIX uyumluydu.
Çoğunlukla (ancak tamamen değil) POSIX uyumlu olduğu düşünülen diğer işletim sistemleri arasında Android, BeOS, FreeBSD, Haiku ve Linux bulunur. (aşağıya bakın) ve VMWare ESXi. Microsoft Windows için Cygwin, son derece POSIX uyumlu bir geliştirme ve çalıştırma ortamı sağlar.
Linux POSIX uyumlu mu?
“Linux” terimi, Debian GNU/Linux, RedHat Linux, Linux Mint, Ubuntu Linux, Fedora ve CentOS gibi zevki ne olursa olsun herhangi bir Linux işletim sistemini ifade eder. Kesin olmak gerekirse Linux, bu ücretsiz işletim sisteminin çekirdek bileşeni olan çekirdeğin adıdır.
Linus Torvalds’ın “sadece eğlencesine” [8] Kitabında anlattığı gibi, Linux çekirdek geliştirme için POSIX standardının bir kopyasını istiyordu. Bu, ticari UNIX sistemlerinde kullanılan aynı mekanizmaların uygulanmasına yardımcı oldu. Ayrıca, bu, temelde aynı yaklaşımı benimseyen GNU araçlarıyla Linux çekirdeği arasında arayüz oluşturmasına izin verdi. Adil olmak gerekirse, Linux’taki yazılım, POSIX standardına uyan ancak bazen kendi kavramlarını uygulayan çeşitli kaynaklardan sağlanır. Ama aynı zamanda Linux’un bir işletim sistemi olarak oluşturduğu çeşitliliği de gösterir.
Bunun bir örneği, komut satırı argümanlarının yazılma şeklidir. İki tireli bağımsız değişkenler (örneğin, “–help”) GNU kurallarıdır, POSIX komutları ise asla iki tireli bağımsız değişkenleri kullanmaz, bunun yerine tek bir bağımsız değişken kullanır (örneğin, “-help”). En başından beri, Linux GNU düşünülerek tasarlanmıştır, dolayısıyla komutlar GNU tarzıdır.
argümanlar. POSIX uyumluluğunu sağlamak için adım adım POSIX tarzı bağımsız değişkenler eklenmiştir. Ancak, nihai karar geliştirici tarafından verilir. Bugün itibariyle, çoğu komut hem kısa hem de uzun bağımsız değişkenleri, hatta “find” komutu gibi kısa çizgi içermeyen bağımsız değişkenleri kabul eder. Adil olmak gerekirse, sistemdeki komutlar arasında bir tutarlılık yoktur ve bu, ihtiyacınız olduğunda sorun olabilir. Aynı komutu, başta Linux, OS X ve Solaris olmak üzere farklı bir UNIX tabanlı sistemde kullanmak.
Şu anda iki ticari Linux dağıtımı var, Inspur K-UX. [12] ve Huawei EulerOS [6] Bunun dışında Linux, yüksek maliyetleri nedeniyle POSIX sertifikasına sahip değildir. Bunun yerine, Linux çoğunlukla POSIX uyumlu olarak görülür.
Bu derecelendirme, başlıca Linux dağıtımlarının POSIX sürümüne dayanmaktadır. [9] Bunun nedeni, bunun yerine Linux Standart Tabanını (LSB) takip etmesidir. LSB, “bireysel Linux dağıtımları arasındaki farkları en aza indirmeyi” hedefliyor [14]. Bu, Linux çekirdeğinde kullanılan Dosya Sistemi Hiyerarşi Standardı (FHS) dahil olmak üzere yazılım sisteminin mimarisini ifade eder. LSB’den POSIX spesifikasyonuna, Tek UNIX spesifikasyonuna (SUS) [10] ve diğer birçok açık standart, ancak aynı zamanda belirli bölgelere kadar uzanır.
LSB tabanlı Linux dağıtımları arasında RedHat Linux, Debian GNU/Linux (2002-2015) ve Ubuntu (2015’e kadar) bulunur.
POSIX düşünülerek geliştirildi
POSIX’i daha detaylı anlamak için POSIX standardının bir kopyasını çıkarmanızı ve tamamını okumanızı öneririz. Kitabı Açık Grup web sitesinden edinebilirsiniz. Bu, bir kayıt ücreti gerektirir, ancak size bu değerli kaynağa tam erişim sağlar. Standartlar, tüm UNIX sistemlerinde aynı şekilde davranacak programlar geliştirmenize izin verdiği için yararlıdır.
Bağlantılar ve referanslar
- [1] busix, vekipedi,
- [2] POSIX sertifikası,
- [3] POSIX Standardı, Açık Grup,
- [4] Zak H: POSIX Standardı,
- [5] POSIX Açıklamaları, SybilFS,
- [6] EulerOS,
- [7] Austin Ortak Standartları İnceleme Grubu.
- [8] Torvalds, Linus; Elmas, David (2001). Just for Fun: Devrim niteliğinde epizodik bir hikaye. New York, ABD: HarperCollins. ISBN 0-06-662072-4
- [9] Linux Standart Tabanı (LSB), Vikipedi,
- [10] UNIX Teknik Özellikleri (SUS), Vikipedi,
- [11] POSIX test kıyafetleri,
- [12] Inspur K-UX, Wikipedia, özgür ansiklopedi
- [14] Linux Standart Tabanı (LSB),
- [15] bütünlük,
Teşekkür ederim
Yazar, bu makalenin hazırlanmasındaki yardımları ve tavsiyeleri için Axel Beckert ve Vit Schiele’ye teşekkür eder.
Diğer gönderilerimize göz at
[wpcin-random-posts]
İlk Yorumu Siz Yapın