POSIX - POSIX

Taşınabilir İşletim Sistemi Arayüzü (IEEE 1003)
Durum Yayınlanan
Yıl başladı 1988 ; 33 yıl önce ( 1988 )
En son sürüm IEEE Std 1003.1-2017
2017 ; 4 yıl önce ( 2017 )
organizasyon Austin Group ( IEEE Computer Society , The Open Group , ISO/IEC JTC 1 )
İlgili standartlar ISO / IEC 9945
İhtisas Uygulama programlama arayüzleri
Kısaltma POSIX
İnternet sitesi olsun .posixcertified .ieee .org

Taşınabilir İşletim Sistemi Arabirimi ( POSIX ) ailesidir standartlarına tarafından belirtilen IEEE Computer Society arasında sağlamak için işletim sistemleri . POSIX, Unix ve diğer işletim sistemlerinin çeşitleriyle yazılım uyumluluğu (taşınabilirlik) için komut satırı kabukları ve yardımcı program arabirimleriyle birlikte hem sistem hem de kullanıcı düzeyinde uygulama programlama arabirimlerini (API) tanımlar . POSIX ayrıca IEEE'nin ticari markasıdır . POSIX, hem uygulama hem de sistem geliştiricileri tarafından kullanılmak üzere tasarlanmıştır.

İsim

Orijinal olarak, "POSIX" adı, 1988'de piyasaya sürülen IEEE Std 1003.1-1988'e atıfta bulunur. POSIX standartları ailesi, resmi olarak IEEE 1003 olarak belirlenmiştir ve ISO/IEC standart numarası, ISO / IEC 9945'tir.

Standartlar, 1985 civarında başlayan bir projeden ortaya çıktı. Richard Stallman , eski IEEE-IX yerine POSIX adını ( poh-six olarak değil , pahz-icks olarak telaffuz edilir) önerdi . Komite bunu daha kolay telaffuz edilebilir ve akılda kalıcı buldu ve böylece benimsedi.

genel bakış

Unix , kısmen "üreticiden bağımsız" olduğu için standart bir sistem arayüzü için temel olarak seçildi. Bununla birlikte, Unix'in birkaç ana sürümü mevcuttu - bu nedenle ortak bir payda sistemi geliştirmeye ihtiyaç vardı. Unix benzeri işletim sistemleri için POSIX spesifikasyonları başlangıçta çekirdek programlama arayüzü için tek bir belgeden oluşuyordu , ancak sonunda 19 ayrı belgeye (POSIX.1, POSIX.2, vb.) ulaştı. Standartlaştırılmış kullanıcı komut satırı ve komut dosyası arabirimi , UNIX System V kabuğunu temel almıştır. Birçok kullanıcı düzeyinde program, hizmet ve yardımcı program ( awk , echo , ed dahil ) ve gerekli program düzeyindeki hizmetlerle (temel G/Ç : dosya , terminal ve ağ dahil ) standartlaştırılmıştır. POSIX , çoğu modern işletim sistemi tarafından desteklenen standart bir iş parçacığı kitaplığı API'sini de tanımlar . 2008'de, POSIX'in çoğu parçası tek bir standartta birleştirildi (IEEE Std 1003.1-2008 , ayrıca POSIX.1-2008 olarak da bilinir ).

2014 itibariyle, POSIX belgeleri iki bölüme ayrılmıştır:

  • POSIX.1, 2013 Sürümü: POSIX Temel Tanımları, Sistem Arayüzleri ve Komutlar ve Yardımcı Programlar (POSIX.1, POSIX.1 uzantılarını içerir, Gerçek Zamanlı Hizmetler, İş Parçacıkları Arayüzü, Gerçek Zamanlı Uzantılar, Güvenlik Arayüzü, Ağ Dosya Erişimi ve Ağ İşlemden İşleme İletişimleri, Kullanıcı Taşınabilirliği Uzantıları, Düzeltmeler ve Uzantılar, Koruma ve Kontrol Yardımcı Programları ve Toplu Sistem Yardımcı Programları. Bu, Teknik Düzeltme 1 ile birlikte POSIX 1003.1-2008'dir.)
  • POSIX Uygunluk Testi: POSIX için bir test takımı, standarda eşlik eder: VSX-PCTS veya VSX POSIX Uygunluk Test Takımı .

POSIX standardının geliştirilmesi Austin Group'ta ( IEEE, The Open Group ve ISO/IEC JTC 1 arasında ortak bir çalışma grubu ) gerçekleşir.

Sürümler

1997'den önceki parçalar

1997'den önce, POSIX birkaç standarttan oluşuyordu:

1997'den sonraki sürümler

1997'den sonra Austin Group , POSIX revizyonlarını geliştirdi. Spesifikasyonlar , ISO tarafından resmi olarak onaylandığında bir POSIX standardı haline gelmeden önce Tek UNIX Spesifikasyonu adı altında bilinir .

POSIX.1-2001 (iki TC ile)

POSIX.1-2001 (veya IEEE Std 1003.1-2001), Tek UNIX Spesifikasyonu sürüm 3'e eşittir .

Bu standart şunlardan oluşuyordu:

  • Temel Tanımlar, Sayı 6,
  • Sistem Arayüzleri ve Başlıkları, Sayı 6,
  • Komutlar ve Yardımcı Programlar, Sayı 6.

IEEE Std 1003.1-2004, POSIX.1-2001'in küçük bir güncellemesini içeriyordu. Teknik Düzeltme (TC'ler) olarak adlandırılan iki küçük güncelleme veya hata içeriyordu . İçeriği web'de mevcuttur.

POSIX.1-2008 (iki TC ile)

Temel Özellikler, Sayı 7 (veya IEEE Std 1003.1-2008 , 2016 Sürümü), mevcut 2017 sürümüne (22 Temmuz 2018 itibariyle) benzerdir.

Bu standart şunlardan oluşur:

  • Temel Tanımlar, Sayı 7,
  • Sistem Arayüzleri ve Başlıkları, Sayı 7,
  • Komutlar ve Yardımcı Programlar, Sayı 7,
  • Gerekçe hacmi.

POSIX.1-2017

IEEE Std 1003.1-2017 (IEEE Std 1003.1-2008'in Revizyonu) - Bilgi Teknolojisi için IEEE Standardı—Taşınabilir İşletim Sistemi Arayüzü (POSIX(R)) Temel Spesifikasyonlar, Sayı 7, The Open Group veya IEEE'den temin edilebilir ve şu tarihten itibaren geçerlidir: 22 Temmuz 2018, mevcut standart. Teknik Düzeltme 1 ve 2 uygulanmış olarak POSIX.1-2008 ile teknik olarak aynıdır. Ücretsiz bir çevrimiçi kopya hala mevcut olabilir.

tartışmalar

512- 1024 bayt bloklara karşı

POSIX , disklerdeki tipik blok boyutunu yansıtan df ve du yardımcı programları için 512 baytlık varsayılan blok boyutlarını zorunlu kılar . Ne zaman Richard Stallman ve GNU ekibi için POSIX uygulayan edildi GNU işletim sisteminin , bunlar çoğu insan 1024 bayt (veya 1 açısından düşünmek gerekçesiyle bu itiraz KiB ) bloklar. POSIX_ME_HARDER ortam değişkeni , kullanıcının standartlara uygun davranışı zorlamasını sağlamak için tanıtıldı. Değişken adı daha sonra POSIXLY_CORRECT olarak değiştirildi . Bu değişken artık bir dizi başka davranış tuhaflığı için de kullanılıyor.

POSIX odaklı işletim sistemleri

Standartlara uygunluk derecesine bağlı olarak, işletim sistemleri tamamen veya kısmen POSIX uyumlu olarak sınıflandırılabilir. Sertifikalı ürünler IEEE'nin web sitesinde bulunabilir.

POSIX sertifikalı

Aşağıdaki işletim sistemlerinin bazı sürümlerinin çeşitli POSIX standartlarından bir veya daha fazlasına uygun olduğu onaylanmıştır. Bu, otomatik uygunluk testlerini geçtikleri anlamına gelir.

Çoğunlukla POSIX uyumlu

Aşağıdakiler, resmi olarak POSIX uyumluluğu sertifikasına sahip olmasa da büyük ölçüde uyumludur:

Microsoft Windows için POSIX

  • Cygwin , Microsoft Windows için büyük ölçüde POSIX uyumlu bir geliştirme ve çalışma zamanı ortamı sağlar .
  • Cygwin'in bir çatalı olan MinGW , daha az POSIX uyumlu bir geliştirme ortamı sağlar ve Microsoft'un eski Visual C çalışma zamanı kitaplığı olan Msvcrt aracılığıyla uyumlu C programlı uygulamaları destekler .
  • Microsoft POSIX alt sistemi , Windows 2000'e kadar olan Windows NT tabanlı işletim sistemlerinde bulunan isteğe bağlı bir Windows alt sistemidir. POSIX-1, 1990 revizyonunda olduğu gibi, iş parçacığı veya yuva olmadan.
  • Başlangıçta Softway Systems, Inc. tarafından OpenNT olan Interix , Microsoft tarafından 1999'da satın alınan Microsoft POSIX alt sisteminin bir yükseltmesi ve yedeğidir . Başlangıçta bağımsız bir eklenti ürün olarak pazarlandı ve daha sonra bir bileşen olarak dahil edildi. UNIX için Windows Hizmetleri (SFU) ve son olarak bunu Windows Server 2003 R2 ve sonraki Windows işletim sistemi sürümlerinde "UNIX Tabanlı Uygulamalar için Alt Sistem" (SUA) adı altında bir bileşen olarak dahil etti ; daha sonra 2012'de (Windows 8) kullanımdan kaldırıldı ve 2013'te bırakıldı (2012 R2, 8.1). Belirli Microsoft Windows ürünleri için tam POSIX uyumluluğu sağlar .
  • WSL olarak da bilinen Linux için Windows Alt Sistemi , diğerlerinin yanı sıra Ubuntu, Debian veya OpenSUSE gibi bir Linux görüntüsü kullanarak Windows 10'da yerel olarak Linux ikili yürütülebilir dosyalarını çalıştırmak için bir uyumluluk katmanıdır ve UNIX için Windows Hizmetleri için yükseltme ve değiştirme görevi görür. Nisan 2016'da beta olarak yayınlandı. Mevcut ilk dağıtım Ubuntu'ydu.
  • AT&T Research'ten UWIN , Win32 API'lerinin üzerine bir POSIX katmanı uygular.
  • MKS Toolkit başlangıçta MS-DOS için oluşturulan, tarafından üretilen ve tutulan bir yazılım paketidir MKS Inc. sağlayan bir Unix benzeri komut dosyası, bağlantı için çevre ve taşıma Unix ve Linux 32- ve 64-bit hem de yazılım , Microsoft Windows sistemlerinde. Bunun bir alt kümesi, 1998'de UNIX için Windows Hizmetleri'nin (SFU) ilk sürümüne dahil edildi .
  • Windows C Çalışma Zamanı Kitaplığı ve Windows Sockets API , dosya, zaman, ortam ve yuva erişimi için yaygın olarak kullanılan POSIX API işlevlerini uygular, ancak destek büyük ölçüde eksik kalır ve POSIX uyumlu uygulamalarla tam olarak birlikte çalışamaz.

OS/2 için POSIX

OS/2 için çoğunlukla POSIX uyumlu ortamlar :

  • emx+gcc – büyük ölçüde POSIX uyumlu

DOS için POSIX

DOS için kısmen POSIX uyumlu ortamlar şunları içerir:

  • emx+gcc – büyük ölçüde POSIX uyumlu
  • DJGPP – kısmen POSIX uyumlu
  • EMM386 /MULTI aracılığıyla DR-DOS çoklu görev çekirdeği – bir POSIX iş parçacığı ön uç API uzantısı mevcuttur

Uyumluluk katmanı ile uyumlu

Aşağıdakiler resmi olarak POSIX uyumlu olarak onaylanmamıştır, ancak bir tür uyumluluk özelliği (genellikle çeviri kitaplıkları veya çekirdeğin üzerindeki bir katman) aracılığıyla POSIX desteğini uygulayarak büyük ölçüde standartlara uygundurlar. Bu özellikler olmadan genellikle uyumlu değildirler.

Ayrıca bakınız

Referanslar

Dış bağlantılar