Что означает слово "POSIX"?

Что означает слово "POSIX"?

23.11.2009 03:42:49 Просмотров 45 Источник

Что такое POSIX? Я читал статью в Википедии и читаю ее каждый раз, когда сталкиваюсь с этим термином. Дело в том, что я никогда по-настоящему не понимал, что это такое.

Может ли кто-нибудь объяснить мне это, объяснив также "необходимость POSIX"?

У вопроса есть решение - Посмотреть?

Ответы - Что означает слово "POSIX"? / What is the meaning of "POSIX"?

Hank Gay

23.11.2009 03:44:41

POSIX-это стандарт для операционных систем, который должен был облегчить написание кроссплатформенного программного обеспечения. Это особенно важно в мире Unix.

https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780607#comment1667254_1780607
Это не просто "должно" облегчить написание кросс-платформенного кода, это действительно облегчает написание кросс-платформенного кода. Единственным исключением является Windows, потому что Microsoft считает, что она как-то лучше, чем все остальные, и не нуждается в соблюдении. Тем не менее, я прогнозирую, что это сработает против них, особенно когда Mac и Linux получат большую долю рынка. Если они действительно за "разработчиков, разработчиков, разработчиков", они поймут, что разработчики хотят соответствия UNIX.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780607#comment1670179_1780607
Основываясь на том, что я слышал от людей, которые работают с ним гораздо более тесно, чем я когда-либо, это, возможно, сделало вещи проще, но это, безусловно, не было достаточно для того, чтобы написать-один раз, запустить-на-любой-POSIX впечатление, которое большинство людей получают, когда они слышат, что это "стандарт" для операционных систем.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780607#comment1677883_1780607
Они не думают, что они" лучше, чем все остальные"; они знают, что они больше, чем все остальные. Вот почему они также изменят свою мелодию, когда потеряют долю рынка. Например, Netscape стала гораздо больше заботиться о веб-стандартах, когда они перестали быть самыми популярными.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780607#comment5918218_1780607
Написание приложения, использующего только POSIX API, значительно упрощает перенос между различными Unix и Unix-подобными операционными системами. Однако это самый низкий общий стандарт консенсуса знаменателя - поэтому утилиты или приложения, которые являются специфичными для операционной системы или аппаратного обеспечения, обычно требуют некоторой перезаписи.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780607#comment48460239_1780607
@Ken и именно поэтому мы не должны позволять хрому Google становиться слишком удобным.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780607#comment106173196_1780607
@ MichaelAaronSafyan к сожалению, * пользователи inx все еще непреклонно разделены о том, как поддерживать и разрабатывать программное обеспечение (см. Linux display Manager, Linux gaming, Linux patching methods, Linux package Manager), где Microsoft, кажется, стандартизирует различные платформы
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780607#comment106276687_1780607
@IanSmith я думаю, что мы имеем в виду разные вещи. С точки зрения того, как я думаю о вещах, я намеренно провожу различие между дистрибутивом ОС и самой ОС. Дистрибутив-это продукт, ориентированный на пользователя; сама ОС-продукт, ориентированный на разработчика. А реальность такова, что с точки зрения разработчика стандартизация системных библиотек значительно упрощает дело. MSFT приняла это к сведению и пытается улучшить доступность приложений, двигаясь в этом направлении: theverge.com/2019/5/6/18534687/…
cletus

23.11.2009 03:44:57

POSIX-это:

POSIX (произносится как /ppɒzɪks/) или "Портативный Интерфейс Операционной Системы [для Unix] " 1-это название семейства соответствующих стандартов, установленных Стандарты IEEE определяют применение интерфейс программирования (API), вдоль с оболочкой и интерфейсами утилит для программного обеспечения, совместимого с вариантами операционной системы Unix, хотя стандарт может применяться к любому операционная система.

В основном это был набор мер, чтобы облегчить боль от разработки и использования различных вкусов UNIX, имея (в основном) общий API и утилиты. Ограниченное соответствие POSIX также распространялось на различные версии Windows.

https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780608#comment1667057_1780608
1. Вы имеете в виду, что POSIX говорит, что все * nix ОС (ядра) должны иметь по крайней мере этот набор системных вызовов. так ведь? 2. следует ли WINDOWS / MAC за POSIX? Если / Ifnot делает WINDOWS (95,98,2000, xp, vista, 7) следует какому-то общему стандарту (может быть, их собственному проприетарному) стандарту? Другими словами, POSIX в Microsoft world ==?
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780608#comment1667068_1780608
В основном это" был " комплекс мер по облегчению боли развития. Был??
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780608#comment1667078_1780608
Я тоже сомневался, что это слово употребляется, но оно спорное. Чтобы ответить на ваши вопросы: (1) нет, POSIX имеет абсолютно нулевое отношение к ядру, он просто описывает, как оно должно работать; (2) OS X является BSD и вполне совместима с POSIX, но есть серые области. Windows 2008 ближе всего к жалобе POSIX; в мире Microsoft нет эквивалента POSIX.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780608#comment1667141_1780608
Где я могу прочитать эти спецификации? Я просто хочу взглянуть на них.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780608#comment1667202_1780608
@claws: не хочу пачкать область под ответом Клетуса...но. Я подключил POSIX.1-2008 в моем ответе...прямо там.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780608#comment1667267_1780608
@Jed Smith, нет никаких серых зон с точки зрения соответствия Mac OS X; Mac OS X сертифицирована в соответствии с единственной спецификацией UNIX v3, стандартом которой является POSIX.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780608#comment1667268_1780608
@claws, вы можете прочитать единственную спецификацию UNIX, подмножеством которой является POSIX, по следующей ссылке: unix.org/single_unix_specification
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780608#comment3211274_1780608
Что использование было неправильным. POSIX-это стандарт, последней версией которого является IEEE Std 1003.1-2008 и ISO / IEC 9945: 2009.
Jed Smith

23.11.2009 03:46:50

POSIX-это набор стандартов, выдвинутых IEEE и Open Group, которые описывают, как будет работать идеальный Unix. Программисты, пользователи и администраторы могут ознакомиться с документом POSIX и ожидать, что POSIX-жалоба Unix обеспечит все упомянутые стандартные средства.

Поскольку каждый Unix делает вещи немного по-разному - Solaris, Mac OS X, IRIX, BSD и Linux имеют свои причуды - POSIX особенно полезен тем, кто работает в отрасли, поскольку он определяет стандартную среду для работы. Например, большинство функций в библиотеке C основаны на POSIX; поэтому программист может использовать одну из них в своем приложении и ожидать, что она будет вести себя одинаково в большинстве Юнисов.

Однако в центре внимания, как правило, находятся дивергентные области Unix, а не стандартные.

Самое замечательное в POSIX то, что вы можете прочитать его сами:

Базовые Спецификации Открытой Группы Выпуск 7

Выпуск 7 известен как POSIX.1-2008, и там есть новые вещи - однако, Google-fu для POSIX.1 и это позволит вам увидеть всю историю того, что такое Unix.

https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780612#comment1667263_1780612
Я думаю, что вы неправильно используете термин "UNIX". UNIX теперь относится к одной спецификации UNIX, и любая операционная система UNIX-это операционная система, которая соответствует одной спецификации UNIX. Возможно, вы имеете в виду UNIX-подобный?
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780612#comment1667308_1780612
@Michael: учитывая ваши комментарии в других ответах, вы, очевидно, очень поляризованный человек с мнениями, которые не совсем конструктивны. Этот конкретный комментарий очень педантичен, и мой смысл был передан независимо от выбора ярлыка, с которым вы можете не согласиться. Кроме того, Windows совместима с POSIX в более высоких версиях. Сделай вдох и отойди, пожалуйста.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780612#comment1785246_1780612
@Jed Smith, сильные мнения в сторону, подразумевается, что некоторые операционные системы, сертифицированные UNIX-совместимыми, не являются таковыми... поэтому я считаю справедливым сказать, что это вводит в заблуждение. Кроме того, что касается Windows, до тех пор, пока существуют выпуски, которые не являются совместимыми, разработчики не могут полагаться на POSIX, ориентируясь на платформу Windows, тем самым отрицая всю цель наличия POSIX.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780612#comment5918155_1780612
Unix-это операционная система. UNIX-это бренд, принадлежащий открытой группе. Системы, сертифицированные на соответствие профилям фирменной символики UNIX95, UNIX98 или UNIX03, из которых соответствие конкретной версии Единой спецификации UNIX составляет большинство требований к фирменной символике, могут использовать термин UNIX.
Является ответом!
Alex Martelli

23.11.2009 03:47:14

POSIX-это семейство стандартов, определенных IEEE для уточнения и унификации интерфейсов прикладного программирования (и вспомогательных вопросов, таких как утилиты командной строки), предоставляемых операционными системами Unix-Y. Когда вы пишете свои программы, чтобы полагаться на стандарты POSIX, вы можете быть уверены, что сможете легко переносить их среди большого семейства производных Unix (включая Linux, но не ограничиваясь им!); если и когда вы используете какой-либо Linux API, который не стандартизирован как часть Posix, вам будет сложнее, если и когда вы захотите перенести эту программу или библиотеку в другие Unix-y системы (например, MacOSX) в будущем.

https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780614#comment1667054_1780614
1. Вы имеете в виду, что POSIX говорит, что все * nix ОС (ядра) должны иметь по крайней мере этот набор системных вызовов. так ведь? 2. следует ли WINDOWS / MAC за POSIX? Если / Ifnot делает WINDOWS (95,98,2000, xp, vista, 7) следует какому-то общему стандарту (может быть, их собственному проприетарному) стандарту? Другими словами, POSIX в Microsoft world ==?
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780614#comment1667070_1780614
Нет, стандарт находится на уровне API - каждый указанный вызов может быть реализован в ядре или в библиотеке C в терминах другого вызова, и это просто прекрасно для Posix (и для ваших программ тоже; -). В MacOSX является POSIX-совместимой, см. devworld.apple.com/leopard/overview/osfoundations.html . Для окон см. en.wikipedia.org/wiki/POSIX#POSIX_for_Windows : соответствие Posix в настоящее время включено только в выпуски Enterprise и Ultimate (а не в более дешевые!- ), хотя вы можете получить частично w / Cygwin, en.wikipedia.org/wiki/Cygwin .
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780614#comment1667120_1780614
Ваш комментарий ошибочен, поскольку доля Microsoft на рынке настольных компьютеров, по крайней мере, делает его "тем, за чем следует мир".
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780614#comment1667359_1780614
Я думаю, что когти имели в виду, что Microsoft не прилагает особых усилий для обеспечения совместимости с другими платформами.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780614#comment37867276_1780614
Это стало еще более забавным из-за того, что единственная причина, по которой Windows и Word отделались, заключалась в том, что они потратили смешное количество времени, чтобы убедиться, что каждое приложение ведущей платформы было совместимо с их продуктом...
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780614#comment38962206_1780614
Является ли Ubuntu POSIX-совместимым? Мне снится кошмар, когда я пытаюсь скомпилировать какой-то обычный код C99, написанный на моем Mac для запуска сервера Ubuntu. Такие вещи, как usleep, дают мне ошибки.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780614#comment45878620_1780614
@когти я думаю, что MS, наконец, понял это и меняется, теперь по крайней мере, поддерживая open source!
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780614#comment48460092_1780614
@ deltaray обнимите, расширьте и погасите . МС Ява (нестандартных Java-приложений.утиль. Ява.безопасность, java.io Ява.Лэнг и Ява.awt), Internet Explorer (почти сказал "exploder") и .NET (да, я знаю, что они выпустили частичный исходный код для .NET, но его лицензия ограничительна, и это еще не Порт linux. Моно является неполным). Также системы патентов . Вы абсолютно правы.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780614#comment48460179_1780614
@NidhinDavid они полностью удалили свою подсистему POSIX в windows 8.1. Они не меняются к лучшему. И кроме того, открытие кода .NET с ограничительной лицензией (в частности, вы не можете использовать его в non-.NET проекты), что MS сделала для "поддержки open source"? Последнее, что я знал, что exFAT все еще является собственностью, и это новая стандартная файловая система для больших USB-накопителей и больших SD-карт.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780614#comment48713885_1780614
Я думаю, что OSX совместима с POSIX.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780614#comment51422914_1780614
OSX является POSIX-совместимая, MSWindows не, @9000 Убунту тоже не POSIX-совместимая
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780614#comment67269757_1780614
Microsoft's market share on desktops, at least, makes it "what the world follows"- Интересно отметить, насколько многое изменилось с момента этого комментария от 2009 года :)
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780614#comment86660332_1780614
@Sz. 512 теперь ближе. Этот ответ внезапно стал популярным, вероятно, потому, что с ним связан HNQ.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780614#comment88498020_1780614
Ну, похоже, они пошли в правильном направлении, по крайней мере, с .NET (и некоторыми другими проектами). Видишь github.com/Microsoft/dotnet , теперь, кажется, включает .Net Core. Все кажется MIT или Apache 2 лицензированным.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780614#comment101814834_1780614
Архивная ссылка для любопытных: web.archive.org/web/20080509070100/devworld.apple.com/leopard/…
t0mm13b

23.11.2009 03:50:16

Posix регулирует взаимодействие, переносимость и в других областях, таких как использование и механизм fork, разрешения и стандарты файловой системы, такие как /etc, /var, /usr и так далее . Следовательно, когда разработчики пишут программу под Posix-совместимой системой, такой как, например, Linux, как правило, не всегда гарантируется запуск на другой posix-совместимой системе, такой как IBM AIX system или другие коммерческие варианты Unix. Posix-это хорошая вещь, чтобы иметь как таковой, он облегчает разработку программного обеспечения для максимальной переносимости, к которой он стремится. Надеюсь, этот ответ имеет смысл.

Спасибо Jed Smith & Tinkertim за указание на мою ошибку-моя ошибка!!! :(

https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780619#comment1667026_1780619
Стандарты файловой системы обрабатываются вне POSIX.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780619#comment1667046_1780619
Вы путаете POSIX с такими вещами, как LSB (стандартная база Linux). Две (в основном) POSIX-совместимые операционные системы - это FBSD и Linux, но обе имеют довольно различную организацию файловой системы и установку библиотек по умолчанию.
Jim Dennis

23.11.2009 05:55:09

Позвольте мне дать грубое "неофициальное" объяснение.

POSIX-это набор стандартов, который пытается отличить "UNIX" и UNIX-подобные системы от тех, которые несовместимы с ними. Он был создан правительством США для целей закупок. Идея заключалась в том, что федеральные закупки США нуждались в способе законодательно определить требования к различным видам заявок и контрактов таким образом, чтобы исключить системы, к которым невозможно было бы подключить существующую кодовую базу или программистов.

Так как POSIX был написан постфактум ... для описания слабо схожего набора конкурирующих систем ... она не была написана таким образом, чтобы ее можно было реализовать.

Так, например, Microsoft NT была написана с достаточным соответствием POSIX, чтобы претендовать на некоторые ставки ... несмотря на то, что подсистема POSIX была по существу бесполезна с точки зрения практической переносимости и совместимости с системами UNIX.

На протяжении десятилетий были написаны различные другие стандарты для UNIX. Такие вещи, как SPEC1170 (заданные одиннадцать сотен семьдесят вызовов функций, которые должны были быть реализованы совместимо) и различные воплощения SUS (Single Unix Specification).

По большей части эти "стандарты" были неадекватны любому практическому техническому применению. Большинство из них существует для аргументации, юридических споров и других дисфункциональных причин.

https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780886#comment3211293_1780886
Тогда почему Linux реализует большую часть POSIX, включая многие расширения?
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780886#comment3216118_1780886
@ ninjalj: Linux был написан для реализации практического набора UNIX-подобных функций. Делать это в соответствии с POSIX имеет смысл. Однако я считаю, что POSIX не был создан как спецификация для реализации новых операционных систем ... он был создан для того, чтобы сотрудники госзакупок США могли отличать тех, кто подходит для определенных категорий в заявках, от тех, кто не подходит. основное внимание в Linux уделяется предоставлению полезных функций способом, который является разумно совместимым, надежным и производительным. POSIX - это не совсем случайность на этом пути.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780886#comment5918400_1780886
Довольно остроумно с вашей стороны утверждать, что POSIX был написан постфактум! Это является отличительной чертой хорошей организации по разработке стандартов (SDO), где консенсус не достигается до тех пор, пока не будет обеспечена хотя бы одна соответствующая реализация.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780886#comment8343656_1780886
@fpmurphy: создание спецификации ex post facto на основе одной или двух взаимодействующих реализаций является нормой для IETF ... стандарты сетевого протокола, которые взаимодействуют через намеренно свободные соединения. Это не был успешный процесс стандартизации ОС. API между программами и системой (ядром или микроядром и серверами его подсистем) гораздо более тесно связаны, чем клиенты и серверы или одноранговые узлы по сетям. (Я не говорю, что это невозможно; просто указываю, что есть различия, и история не показала, что последнее многообещающе).
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780886#comment60265688_1780886
Он был разработан компанией IEEE. Если бы он действительно был разработан правительством США, то это был бы федеральный стандарт обработки информации (FIPS), как и многие другие.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/1780886#comment73131111_1780886
Усилия IEEE по конкретизации POSIX еще в 1985 году были подстегнуты правительством США. Поищите что-нибудь, почитайте книгу по истории или еще что-нибудь.
Koray Tugay

14.04.2015 01:56:49

Этот стандарт обеспечивает общую основу для Unix-подобных операционных систем. Он определяет, как должна работать оболочка, чего ожидать от таких команд, как ls и grep, а также ряд библиотек языка Си, которые могут быть доступны авторам языка Си.

Например, каналы, которые пользователи командной строки используют для объединения команд, подробно описаны здесь, что означает, что функция popen (Pipe open) C является POSIX-стандартной, а не ISO C-стандартной.

Koray Tugay

27.04.2015 10:14:43

В 1985 году частные лица из компаний всей компьютерной индустрии объединились для разработки POSIX (портативной операционной системы Интерфейс для компьютерных сред) стандарт, в основе которого лежит в основном на Unix System V Interface Definition (SVID) и других более ранних версиях усилия по стандартизации. Эти усилия были подстегнуты США. правительство, которое нуждалось в стандартной вычислительной среде, чтобы свести к минимуму его обучение и расходы на закупки. Выпущенный в 1988 году, POSIX является группой стандартов IEEE, определяющих интерфейсы API, оболочки и утилиты для операционной системы. Хотя и ориентированный на UNIX-подобные системы, стандарты могут применяться к любой совместимой операционной системе. Теперь, когда эти стандарты получили признание, разработчики программного обеспечения могут разработка приложений, работающих на всех соответствующих версиях UNIX, Linux и другие операционные системы.

Из книги: практическое руководство по Linux

https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/31865755#comment52970106_31865755
Фантастические примеры, если бы у вас было определение, как и принятый ответ, это был бы лучший ответ.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/31865755#comment52970143_31865755
@Марк спасибо! Я стараюсь не повторять то, что сказано в других ответах, так как люди, вероятно, уже прочитали их, и избегать дублирования ;-) это известная дилемма: meta.stackoverflow.com/questions/305645/…
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/31865755#comment53025207_31865755
Хорошая идея, чтобы на самом деле объяснить, что POSIX покрывает (а что нет).
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/31865755#comment57935503_31865755
Повсюду в литературе появляются ссылки на "соответствие POSIX", и типичное определение POSIX люди находят "набор стандартов для взаимодействия между Unix-подобными операционными системами". Хотя это определение и полезно, оно оставляет много сомнений, особенно в отношении функций, которые, как ожидается, будут взаимодействовать. Конечно, вы можете пойти и прочитать всю спецификацию POSIX, чтобы углубиться в детали (и потратить на это много времени). Но этот ответ дает столь необходимое резюме, чтобы получить общую картину о сфере применения POSIX. Отдельное спасибо Сиро за то, что нашел время написать его!
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/31865755#comment63599280_31865755
Также неплохо было бы добавить некоторые гарантии Posix относительно целочисленных типов. Я не знаю точно, что такое и не указано, но я знаю, что как минимум Posix требует существования uint8_t,uint16_t, uint32_t и соответствующих типов со знаком. Я не уверен, гарантирует ли это, что типы, подобные "int", имеют мощность двух размеров и что система не будет делать что-то неприятное, например, иметь "int" с 32 битами значений, 1 бит знака и 31 бит заполнения [таким образом, увеличение uint32_t может привести к UB]; если у вас есть стандартный удобный, было бы неплохо сказать, что является и не гарантируется в этом отношении.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/31865755#comment63599454_31865755
@supercat uintX_tи подписанные версии присутствуют в C99, на котором основан POSIX 7, поэтому они гарантированы, поэтому я не думаю, что стоит упоминать об этом. Если int-это сила 2, я не знаю, это, вероятно, заслуживает отдельного вопроса: я уверен, что он уже существует, но быстрый Google его не нашел. Свяжись со мной, если найдешь его. :-) Если в POSIX простирается там, давайте ссылку на него.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/31865755#comment63599934_31865755
@Cirosantilli文文件六四事件法轮功: реализация c99, которая имеет как 16-битный беззнаковый тип, который может содержать значения от 0 до 65535, так и 16-битный знаковый тип, который содержит от -32768 до 32767, требуется для определения uint16_t и int16_t. реализация C99, которая, например, имеет 9-битный символьный тип, не может определить их. Я знаю, что Posix требует, чтобы charбыл 8 бит, и я думаю, что он требует существования этих других типов, но я не уверен в последнем пункте.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/31865755#comment63600410_31865755
@supercat Ах, я не знал, что uintX_tнеобязательны! Упоминается в stackoverflow.com/a/13413892/895245 на что Вы тоже ответили. Если вы найдете убедительную цитату расширения POSIX для этого, отредактируйте ответ там, и я свяжусь с ним.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/31865755#comment66272658_31865755
Почему Microsoft пытается быть совместимой с linux вместо BSD? GPL ненавидит коммерческое использование, и они " не поддерживают POSIX 100%, в отличие от BSD.
https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/31865755#comment66273661_31865755
@MarcusJ я ничего не знаю о BSD, но я думаю, что это причина: google.com/trends/explore?q=linux,bsd :-)
sras

13.10.2015 03:12:05

POSIX определяет набор стандартов для операционной системы или программы. Цель состоит в том, чтобы написать новое программное обеспечение, совместимое с UNIX-подобными системами.

Например, программа, работающая на Linux, также может быть скомпилирована и запущена на других UNIX-подобных системах, таких как Solaris, HP-UX и AIX и т. д..

Наиболее популярными примерами являются GNU Bash, которая на 100% соответствует POSIX, и gawkutility.

peterh - Reinstate Monica

10.02.2017 03:55:26

Posix-это скорее ОС, это"стандарт ОС". Вы можете представить его как воображаемую ОС, которая на самом деле не существует, но у нее есть документация. Эти документы являются "стандартом posix", определенным IEEE, который является большой стандартной организацией США. Операционные системы, реализующие эту спецификацию, являются "Posix-совместимыми".

Государственные регулирующие органы предпочитают Posix-совместимые решения в своих инвестициях, таким образом, Posix-совместимые решения имеют значительное финансовое преимущество, особенно для крупных ИТ-компаний США.

Награда за то, что ОС полностью совместима с posix, Это гарантия того, что она будет компилировать и запускать все Posix-совместимые приложения без проблем.

Linux-самый известный из них. Здесь также играют OSX, Solaris, NetBSD и Windows NT. Free-и OpenBSD только" почти " совместимы с Posix. Posix-соответствие WinNT - это всего лишь псевдо-решение, чтобы избежать этого государственного регулирования выше.

MCH

25.05.2018 12:25:04

Спецификация (blueprint) о том, как сделать ОС совместимой с поздней ОС UNIX (да благословит его Бог!). Вот почему macOS и GNU / Linux имеют очень похожие терминальные командные строки, GUI, библиотеки и т. д. Потому что они оба были разработаны в соответствии с проектом POSIX.

POSIX не говорит инженерам и программистам, как кодировать, но что кодировать.

prosti

27.09.2018 01:05:56

Некоторые факты о POSIX, которые не столь ярки.

POSIX - это также интерфейс системных вызовов или API, и ему почти 30 лет.

Он был разработан для сериализованного доступа к локальным хранилищам данных с использованием отдельных компьютеров с отдельными процессорами.

Безопасность не была главной проблемой в POSIX по дизайну, что привело к многочисленным атакам на состояние гонки на протяжении многих лет и заставило программистов обойти эти ограничения.

Серьезные ошибки все еще обнаруживаются, ошибки, которые можно было бы предотвратить с помощью более безопасного дизайна POSIX API.

POSIX ожидает, что пользователи будут выполнять один синхронный вызов за один раз и ждать его результатов, прежде чем выполнить следующий. Современные программисты рассчитывают выдавать много асинхронных запросов одновременно, чтобы повысить общую пропускную способность.

Этот синхронный API особенно плох для доступа к удаленным и облачным объектам, где важна высокая задержка.

Farruh Habibullaev

26.02.2019 08:44:37

POSIX означает портативный интерфейс операционной системы и является стандартом IEEE, предназначенным для облегчения переносимости приложений. POSIX-это попытка консорциума поставщиков создать единую стандартную версию UNIX.

Закрыть X