Posix

Linux POSIX Uyumlu mu?

Linux POSIX Uyumlu mu?

Yazılım, çeşitli geçmişlere sahip çok sayıda geliştirici tarafından yazılmıştır. Genel algoritmalar ücretsiz bir lisans altında mevcuttur veya bilimsel olarak yayınlanmıştır ve ayrıca çalışma amaçları için ücretsiz olarak mevcut olabilirler. Bu, çeşitli ihtiyaçlara uyan farklı uygulamalar ve yazılım sürümleriyle sonuçlanır. Bu farklı uygulamaları hem değiştirilebilir hem de modüler hale getirmek için arayüzlerin ve veri formatlarının standardizasyonu gereklidir.

Kısacası, POSIX [1], UNIX ve UNIX benzeri sistemler için tam olarak bunu yapar (bu konuyla ilgili daha ayrıntılı bir geçmiş için Zak H'nin makalesine [4] bakın). Yazılım için değişim arayüzlerini, çağrı mekanizmalarını ve aktarılan verileri tanımlar, ancak dahili uygulamayı yazılımın geliştiricisine veya bakımcısına bırakır. Amaç, tüm çeşitli UNIX çatallarını ve UNIX benzeri sistemleri, farklı yazılım uygulamalarının birbiriyle etkileşime girebileceği şekilde birleştirmektir. POSIX'in ana avantajı, bu bileşenler (arayüzler, mekanizmalar ve veriler) için yazılı olarak mevcut olan bağlayıcı bir dokümantasyona sahip olmasıdır.

POSIX standardını bütünüyle 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 hangi Linux bileşenlerinin bu sınıflandırmadan hariç tutulması gerektiğini listeliyoruz.

POSIX terimi ne anlama gelir??

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ındaki uyumluluğu korumak için gerekli olan bir standartlar koleksiyonunun adıdır. [1]'de belirtildiği gibi, "[it], Unix ve diğer işletim sistemlerinin çeşitleriyle yazılım uyumluluğu için komut satırı kabukları ve yardımcı program arabirimleriyle birlikte uygulama programlama arabirimini (API) tanımlar.POSIX'in ilk versiyonu 1988'de yayınlandı. O zamandan beri, POSIX, Austin Ortak Standartlar Revizyon Grubu (sadece Austin Grubu olarak da bilinir) tarafından sürekli olarak genişletildi ve güncellendi [7].

2021 itibariyle, POSIX standardı aşağıdaki bölümleri içerir:

  1. Temel Hizmetler (Standart ANSI C'yi içerir) (IEEE std 1003.1-1988) - Proses Oluşturma ve Kontrol, Sinyaller, Dosya ve Dizin İşlemleri, Borular, C kütüphanesi, I/O Port Arayüzü ve Kontrolü, Proses Tetikleyicileri
  1. Uzantılar (Sembolik Bağlantılar)
  2. Gerçek zamanlı ve G/Ç uzantıları (IEEE Std 1003.1b-1993) - Öncelikli Programlama, Gerçek Zamanlı Sinyaller, Saatler ve Zamanlayıcılar, Semaforlar, Mesaj Geçişi, Paylaşılan Bellek, Asenkron ve Senkron G/Ç, Bellek Kilitleme Arayüzü
  3. Konu uzantıları (IEEE Std 1003.1c-1995) - İplik Oluşturma, Kontrol ve Temizleme, İplik Programlama, İplik Senkronizasyonu, Sinyal İşleme
  4. Daha fazla gerçek zamanlı uzantı
  5. Güvenlik uzantıları (Erişim kontrol listeleri)
  1. Kabuk ve Yardımcı Programlar (IEEE Std 1003.2-1992) -  Komut Yorumlayıcı, Yardımcı Programlar

Standart, teknik değişiklikleri ve iyileştirmeleri yansıtmak için düzenli olarak gözden geçirilir. Yeni bir sürümün yayınlanması ve değişikliklerin dahil edilmesi bazen birkaç yıl alabilir. Bu dezavantajlı olabilir, ancak standardın kapsamı göz önüne alındığında anlaşılabilir.

Son yıllarda, gerçek zamanlı işlemeye yönelik uzantılar eklendi. Mevcut sürüm 2018'in başlarında piyasaya sürüldü [3]. SibylFS'nin [5] yazarları ayrıca daha yüksek mertebeden mantık ve etkileşimleri belirlemek için POSIX standardına birçok açıklama yayınladılar.

POSIX Uyumlu Olmak Ne Demektir??

"POSIX uyumlu" terimi, bir işletim sisteminin tüm POSIX kriterlerini karşıladığı anlamına gelir. Bir işletim sistemi UNIX programlarını yerel olarak çalıştırabilir veya bir uygulama UNIX sisteminden başka bir sisteme taşınabilir. Bir uygulamayı UNIX'ten hedef işletim sistemine taşımak, POSIX'i desteklemiyorsa daha kolaydır veya en azından daha kolaydır. Güvenli tarafta olmak için, bir işletim sisteminin POSIX sertifikasını başarıyla almış olması gerekir [2]. Bu adım (bir ücret karşılığında) otomatik bir sertifikasyon testinden geçilerek elde edilir. İlgili test paketi burada bulunabilir [11].

2021 itibariyle, POSIX sertifikalı işletim sistemleri listesi IBM'den AIX, HP'den HP-UX, SGI'dan IRIX, Huawei'den EulerOS [6], Apple'dan Mac OS X'i (10'dan beri) içerir.5 Leopard), Oracle'dan Solaris ve QNX Neutrino, Inspur's K-UX [11] ve Green Hills Software'den gerçek zamanlı OS INTEGRITY [15]. Solaris'in halefi olan 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 belirsizdir. Bu işletim sistemleri, POSIX 2001'e kadar POSIX uyumluydu.

Çoğunlukla (ancak tam olarak değil) POSIX uyumlu olarak görülen diğer işletim sistemleri arasında Android, BeOS, FreeBSD, Haiku, Linux (aşağıya bakın) ve VMWare ESXi bulunur. Microsoft Windows için Cygwin, büyük ölçüde POSIX uyumlu bir geliştirme ve çalışma zamanı ortamı sağlar.

Linux POSIX Uyumlu mu?

“Linux” terimi, örneğin Debian GNU/Linux, RedHat Linux, Linux Mint, Ubuntu Linux, Fedora ve CentOS gibi, tadı ne olursa olsun tüm Linux işletim sistemini ifade eder. Kesin olmak gerekirse, Linux sadece bu özgür işletim sisteminin temel bileşeni olan çekirdeğin adıdır.

Linus Torvalds'ın “Just For Fun” [8] kitabında anlattığı gibi, Linux çekirdeğini geliştirmek için POSIX standardının bir kopyasını istedi. Bu, ticari UNIX sistemlerinde kullanılan aynı mekanizmaları uygulamasına yardımcı oldu. Ayrıca, bu onun Linux çekirdeğini, temelde aynı yaklaşımı izleyen GNU araçlarıyla ilişkilendirmesine izin verdi. Adil olmak gerekirse, bir Linux sistemindeki yazılım, POSIX standardına saygı duyan, ancak bazen kendi kavramlarını da uygulayan çeşitli kaynaklardan sağlanır. Ancak aynı zamanda bu, Linux'u bir işletim sistemi olarak oluşturan çeşitliliği de gösterir.

Bunun bir örneği, komut satırı argümanlarının yazılma şeklidir. İki tireli argümanlar (e.g., “-help”) GNU kurallarıdır, oysa POSIX komutları hiçbir zaman iki çizgili argümanlar kullanmaz, bunun yerine yalnızca tek bir (e.g., "-Yardım"). En başından beri Linux, GNU düşünülerek tasarlanmıştır ve bu nedenle komutlar GNU stili içerir

argümanlar. POSIX uyumluluğunu sağlamak için, POSIX tarzı argümanlar adım adım eklendi. Yine de nihai karar geliştirici tarafından verilir. Bugünden itibaren, komutların çoğu hem kısa hem de uzun argümanları ve hatta "find" komutu gibi herhangi bir tire içermeyen argümanları kabul eder. Adil olmak gerekirse, bir sistemdeki komutlar arasında tutarlılık yoktur ve aynı komutu farklı bir UNIX tabanlı sistemde kullanmayı düşündüğünüzde, özellikle Linux, OS X ve Solaris arasında geçiş yaparken bu bir sorun olabilir.

Şimdilik, iki ticari Linux dağıtımı Inspur K-UX [12] ve Huawei EulerOS [6] dışında Linux, yüksek maliyetler nedeniyle POSIX sertifikalı değildir. Bunun yerine, Linux'un çoğunlukla POSIX uyumlu olduğu görülüyor.

Bu değerlendirme, büyük Linux dağıtımlarının POSIX [9] yerine Linux Standard Base'i (LSB) takip etmesi gerçeğinden kaynaklanmaktadır. LSB, “bireysel Linux dağıtımları arasındaki farkları en aza indirmeyi” amaçlar [14]. Bu, Linux çekirdeğinde kullanılan Dosya Sistemi Hiyerarşi Standardı (FHS) dahil olmak üzere yazılım sistem yapısını ifade eder. LSB, POSIX spesifikasyonu, Tek UNIX Spesifikasyonu (SUS) [10] ve diğer birkaç açık standardı temel alır, ancak bunları belirli alanlarda da genişletir.

LSB tabanlı Linux dağıtımları arasında RedHat Linux, Debian GNU/Linux (2002-2015) ve Ubuntu (2015'e kadar) sayılabilir.

POSIX göz önünde bulundurularak geliştirme

POSIX'i daha detaylı anlamak için, POSIX standardının bir kopyasını almanızı ve tamamını okumanızı öneririz. Kitabı Open Group 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 platformlarında aynı şekilde davranacak şekilde yazılım geliştirmenize izin verdiği için yardımcı olur.

Bağlantılar ve Referanslar

Teşekkür ederim

Yazar, bu makaleyi hazırlarken yardımları ve tavsiyeleri için Axel Beckert ve Veit Schiele'ye teşekkür eder.

Ubuntu 14'te League Of Legends Nasıl Kurulur.04
League of Legends hayranıysanız, bu, League of Legends koşusunu test etmeniz için bir fırsattır. Linux kullanıcısıysanız LOL'nin PlayOnLinux'ta destek...
En son OpenRA Strateji Oyununu Ubuntu Linux'a yükleyin
OpenRA, klasik Command & Conquer: Red Alert gibi erken Westwood oyunlarını yeniden yaratan bir Libre/Free Gerçek Zamanlı Strateji oyun motorudur. Dağı...
Gamecube & Wii için en yeni Dolphin Emulator'ı Linux'a yükleyin
Dolphin Emulator, seçtiğiniz Gamecube & Wii oyunlarını Linux Kişisel Bilgisayarlarda (PC) oynamanıza izin verir. Ücretsiz olarak kullanılabilen ve aç...