Різниця між специфікаціями POSIX, єдиною специфікацією UNIX та специфікаціями відкритої базової групи?


53

Які відмінності між POSIX, єдиною специфікацією UNIX та специфікаціями Open Group Base ? Я думаю, їх мета полягає у визначенні, чи ОС є Unix?


Відповіді:


9

Важливою "відмінністю" є група параметрів XSI (XOPEN), яка визначає ряд традиційних інтерфейсів Unix, які навряд чи можуть бути застосовані до нової операційної системи, яка не є "Unix". Часто люди використовують "SUS" для посилання на повний стандарт, включаючи опцію XSI, і "POSIX" для позначення базового стандарту та, можливо, не-орієнтованих груп Unix.

Послідовні версії SUS, здається, поступово знецінюють частини опції XSI, які не дуже корисні для написання переносних програм та замість цього просто відображають застарілі реалізації та переміщують кілька більш корисних частин до базового стандарту.


Ви помиляєтеся, що XSI (якщо взагалі є) стає обов'язковим у нових версіях стандарту. Також зауважте, що за словами автора тестового набору POSIX, відповідність XSI є обов'язковою, якщо ви не хочете перевірити лише вбудовану платформу UNIX.
schily

1
@schily: Цитування?
Р ..

Поточна документаціяunistd.h свідчить: «<unistd.h> заголовок визначає наступну символічну константу тільки , якщо реалізація підтримує опцію XSI, см XSI Conformance Якщо визначено, то його значення повинно бути придатним для використання в директивах #if препроцесора _XOPEN_VERSION .. "
R ..


25

Сьогодні POSIX та SUS - це одне і те ж; SUS охоплює трохи більше .

Цитуючи тут :

Починаючи з 1998 року спільна робоча група, відома як Група Остін, почала розробляти комбінований стандарт, який би називався Єдиною специфікацією UNIX Версія 3 та як POSIX: 2001 (формально: IEEE Std 1003.1-2001). Він був випущений 30 січня 2002 року

і

У грудні 2008 року Остін Груп опублікував нову велику редакцію, відому як POSIX: 2008 (формально: IEEE Std 1003.1-2008). Це суть єдиної специфікації UNIX, версія 4


POSIX.1-2008 - це не версія 4, а швидше ВИСОК 7 стандарту.
шилі

@schily Я погано обрав, де закінчити другу цитату? Як мені здається, і джерело, і цитата, здається, чітко стосуються "версії 4" до SUS, а не POSIX.
Даніель Бек

Термін "випуск 7" застосовується до Opengroup. Дивіться: pubs.opengroup.org/onlinepubs/9699919799 Можливо, я збентежився. Тому я здогадуюсь, що UNIX95 - це SUSv1, UNIX98 - SUSv2, POSIX.1-2001 - SUSv3, а POSIX.1-2008
SUSv4

@schily Право, дивіться сторінку Вікіпедії, де джерело цитати згадує питання № 7.
Даніель Бек

11

Поглянувши на верхню частину базових специфікацій відкритої групи , ви побачите стандартний ідентифікатор IEEE Std 1003.1-2008. IEEE Std 1003.1 - це те, що відоме як POSIX.1 з 2008 року, саме останнім втіленням. Переглядаючи POSIX у Вікіпедії, ви побачите, що стандарт містить три частини, включаючи:

  • Основні визначення, випуск 7
  • Системні інтерфейси та заголовки, випуск 7
  • Команди та утиліти, випуск 7

В основному, POSIX - це лише назва стандарту, розробленого IEEE з початковою версією, зробленою в 1988 році. POSIX не офіційно UNIX ™, просто тому, що IEEE не володіє торговою маркою, але це середовище операційної системи та інтерфейс, знайдений на UNIX ™ систем. Пізніше The Open Group, яка контролює товарний знак UNIX ™, взяла участь у створенні стандарту на основі POSIX під назвою Single UNIX, версія 2 або SUSv2. Зараз ці дві специфікації розробляються спільно як The Austin Group. Остання версія - SUSv4. Отже, підводячи підсумки:

POSIX: 2008 = IEEE Std. 1003.1-2008 = SUSv4 = Випуск відкритої специфікації групи 7.

Також прочитайте мою відповідь на те, що саме таке POSIX?


1
Це також ISO / IEC 9945-2009
fpmurphy

Ах, так, як прекрасно мати стільки стандартів. Я все ще намагаюся з'ясувати відмінності між ISO / IEC 10646 та Unicode, які, хоча представляють однакові набори символів, суворо синхронізовані один з одним, все ще є двома окремими та різними стандартами. Я не впевнений, чому вони не можуть просто ужитися і оголосити їх повністю синонімами.
penguin359

1
У конкретному випадку POSIX проти SUS, причина пов'язана з ліцензуванням та торговою маркою. POSIX є загальним, може бути реалізований на будь-якій ОС. SUS - стандарт для визначення UNIX. Навіть якщо вони однакові, POSIX потрібен для будь-якого * nix. Або * nix сумісного. SUS повинен бути виконаний навіть для спроби отримати виклик UNIX. Якщо SUS не існувало, то принаймні торговельну марку UNIX можна було б послабити. Я не виправдовую жодних корпоративних дій, просто спекулюю на їхній позиції.
Дж. М. Бекер

Версія IEEE стандарту сьогодні на 100% ідентична версії SUS за винятком перших кількох сторінок і того факту, що версія IEEE зазвичай з’являється приблизно. Через 6 місяців.
schily
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.