Perbedaan antara POSIX, Spesifikasi UNIX Tunggal, dan Spesifikasi Open Group Base?


Jawaban:


9

Satu "perbedaan" yang penting adalah kelompok opsi XSI (XOPEN), yang menentukan sejumlah antarmuka Unix tradisional yang tidak mungkin berlaku untuk sistem operasi baru yang bukan "a Unix". Seringkali orang akan menggunakan "SUS" untuk merujuk ke standar penuh termasuk opsi XSI, dan "POSIX" untuk merujuk ke standar dasar dan mungkin grup opsi yang bukan Unix-sentris.

Versi SUS yang berurutan tampaknya secara bertahap mencela bagian-bagian dari opsi XSI yang tidak benar-benar berguna untuk menulis aplikasi portabel dan yang hanya mencerminkan implementasi warisan, dan memindahkan beberapa bagian yang lebih berguna ke standar dasar.


Anda salah, XSI (jika pernah) dibuat wajib dalam versi standar yang lebih baru. Perhatikan juga bahwa menurut penulis rangkaian tes validasi POSIX, kepatuhan XSI wajib dilakukan kecuali jika Anda ingin memvalidasi platform UNIX yang tertanam saja.
schily

1
@schily: Kutipan?
R ..

The dokumentasi saat ini untukunistd.h berbunyi: "The <unistd.h> sundulan akan mendefinisikan konstanta simbolik berikut hanya jika pelaksanaan mendukung opsi XSI, lihat XSI Kesesuaian Jika didefinisikan, nilainya harus cocok untuk digunakan dalam # jika preprocessing arahan _XOPEN_VERSION.. "
R ..


25

Hari ini, POSIX dan SUS pada dasarnya adalah hal yang sama; SUS mencakup lebih sedikit .

Mengutip di sini :

Mulai tahun 1998, sebuah kelompok kerja bersama yang dikenal sebagai Austin Group mulai mengembangkan standar gabungan yang akan dikenal sebagai Single UNIX Spesifikasi Versi 3 dan sebagai POSIX: 2001 (secara formal: IEEE Std 1003.1-2001). Album ini dirilis pada 30 Januari 2002

dan

Pada bulan Desember 2008, Grup Austin menerbitkan revisi besar baru, yang dikenal sebagai POSIX: 2008 (secara formal: IEEE Std 1003.1-2008). Ini adalah inti dari Spesifikasi UNIX Tunggal, Versi 4


POSIX.1-2008 bukan versi 4 melainkan EDISI 7 dari standar.
schily

@ Schily Apakah saya memilih dengan buruk tempat untuk mengakhiri penawaran kedua? Bagi saya, baik sumber dan kutipan tampaknya berhubungan jelas 'versi 4' dengan SUS, bukan POSIX.
Daniel Beck

Istilah "masalah 7" berlaku untuk Opengroup. Lihat: pubs.opengroup.org/onlinepubs/9699919799 Saya mungkin bingung. Jadi saya kira UNIX95 adalah SUSv1, UNIX98 adalah SUSv2, POSIX.1-2001 adalah SUSv3 dan POSIX.1-2008 adalah SUSv4
schily

@schily Benar, lihat halaman Wikipedia di mana sumber kutipan melanjutkan dengan menyebutkan edisi 7.
Daniel Beck

11

Melihat bagian atas Spesifikasi Basis Grup Terbuka , Anda akan melihat pengidentifikasi standar IEEE Std 1003.1-2008. IEEE Std 1003.1 adalah apa yang dikenal sebagai POSIX.1 dengan 2008 hanya menjadi inkarnasi terbaru. Melihat POSIX di Wikipedia, Anda akan melihat bahwa standar berisi tiga bagian termasuk:

  • Definisi Basis, Edisi 7
  • Antarmuka dan Header Sistem, Edisi 7
  • Perintah dan Utilitas, Edisi 7

Pada dasarnya, POSIX hanyalah nama standar yang dikembangkan oleh IEEE dengan versi awal dilakukan pada tahun 1988. POSIX bukan UNIX ™ secara resmi hanya karena IEEE tidak memiliki merek dagang, tetapi merupakan lingkungan sistem operasi dan antarmuka yang ditemukan pada UNIX ™ sistem. Kemudian, Grup Terbuka yang mengontrol merek dagang UNIX ™ terlibat dalam pembuatan standar berdasarkan POSIX yang disebut Spesifikasi Tunggal UNIX versi 2 atau SUSv2. Sekarang kedua spesifikasi ini dikembangkan bersama sebagai The Austin Group. Versi terbaru adalah SUSv4. Jadi, untuk meringkas:

POSIX: 2008 = IEEE Std. 1003.1-2008 = SUSv4 = Masalah Spesifikasi Kelompok Terbuka 7.

Baca juga jawaban saya untuk Apa sebenarnya POSIX?


1
Ini juga ISO / IEC 9945-2009
fpmurphy

Ah, ya, betapa indahnya memiliki begitu banyak standar. Saya masih berjuang untuk mencari tahu perbedaan antara ISO / IEC 10646 dan Unicode yang, sementara mewakili set karakter identik tetap disinkronkan dengan ketat satu sama lain masih dua standar yang terpisah dan berbeda. Saya tidak yakin mengapa mereka tidak bisa bergaul dengan baik dan menyatakan mereka sepenuhnya identik.
penguin359

1
Dalam kasus spesifik POSIX vs SUS, alasannya berkaitan dengan lisensi dan merek dagang. POSIX bersifat generik, dapat diimplementasikan pada OS apa saja. SUS adalah standar untuk mendefinisikan UNIX. Bahkan jika mereka identik, POSIX diperlukan untuk apa pun * nix., Atau * nix kompatibel. SUS harus dipenuhi bahkan untuk mencoba dipanggil UNIX. Jika SUS tidak ada, maka minimal merek dagang UNIX bisa melemah. Saya tidak membenarkan tindakan korporasi apa pun, hanya berspekulasi pada posisi mereka.
JM Becker

Versi IEEE standar hari ini adalah 100% identik dengan versi SUS kecuali untuk beberapa halaman pertama dan fakta bahwa versi IEEE biasanya muncul kira-kira. 6 bulan kemudian.
schily
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.