Почему POSIX называется «Портативный интерфейс операционной системы»? - PullRequest
6 голосов
/ 22 января 2010

Я усердно искал, но все еще не понимал, почему POSIX называется «Портативный интерфейс операционной системы», я понял, что это некоторая библиотека потоков для среды Unix, потому что, когда вам нужно использовать ее под Windows, вы должны использовать Cygwin «Службы Windows Unix» и т. Д. Вот почему я запутался, почему он называется Portable OSIX. Я профессиональный программист C / C ++ в области Windows, но новичок в Unix / Linux. Спасибо за ваши ответы заранее.

Ответы [ 4 ]

13 голосов
/ 22 января 2010

До Posix семейное дерево Unix становилось очень разнообразным и несовместимым. Программа, написанная для одного Unix, была несовместима с другим Unix без значительных усилий по переносу.

Posix была одной из попыток представить общий набор утилит и программных интерфейсов, чтобы ваше программное обеспечение могло переноситься на несколько версий Unix.

Поскольку Posix относится к интерфейсу, а не к реальной ОС, возможно иметь фасад Posix в не-Unix ОС (например, Microsoft Windows Services для Unix , представляющий фасад Posix поверх Windows).

9 голосов
/ 22 января 2010

То, что один или два отставших решили не включать его в свое ядро, не делает его менее переносимым практически для любой другой важной операционной системы.

4 голосов
/ 22 января 2010

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

Причиной определения POSIX было то, что многие различные версии UNIX были несовместимы, потому что операционные системы не согласовали реализацию потоков или процессов.

Вот еще несколько ссылок для дальнейшего исследования:

3 голосов
/ 22 января 2010

POSIX определяет набор переносимых функций C, оболочки, программ, которые облегчают жизнь программиста, поскольку, учитывая определения в POSIX, гораздо проще писать portable код (не только C, но скрипты тоже). Представь, если бы у каждого был свой способ делать вещи!

Не все операционные системы совместимы с POSIX, поэтому, если вам нужно разрабатывать и для них, вы должны делать специфичные для системы вещи. Но POSIX, вероятно, сегодня является переносимым стандартом для различных систем. Конечно, есть ISO C, который является более переносимым, но тогда трудно написать очень полезные программы только на ISO C!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...