Posix

Posix Standard

Posix Standard

POSIX: Обзор

Интерфейс переносимой операционной системы (POSIX) - это стандарт IEEE, который способствует совместимости и переносимости между операционными системами. Теоретически, исходный код, совместимый с POSIX, должен быть легко переносимым. В реальном мире при переходе приложения часто возникают проблемы, связанные с системой. Но соответствие POSIX упрощает перенос приложений, что может привести к экономии времени. Поэтому разработчикам следует познакомиться с основами этого широко используемого стандарта.

История POSIX

Первым программистам приходилось переписывать свои приложения с нуля для каждой новой модели компьютера. Но IBM System / 360 изменила это. В 1964 году была представлена ​​операционная система OS / 360. IBM начала использовать ту же аппаратную архитектуру, чтобы новые модели могли повторно использовать одну и ту же операционную систему. Наличие общей ОС на нескольких машинах является первым этапом переносимости приложений.

В конце 1960-х годов появление UNIX открыло новые возможности. Лаборатория Bell Labs компании AT&T отвечала за первоначальную разработку этой новой операционной системы. Он может работать на машинах от нескольких поставщиков. Но UNIX начал разветвляться на различные разновидности. Помимо System V от AT&T, были Berkeley Software Distribution (BSD), Xenix и другие. Было непросто перенести эти вкусы. Обещание переносимости приложений натолкнулось на препятствие. В ближайшие десятилетия появление новых операционных систем только усложнит перенос приложений между оборудованием, операционными системами и поставщиками.

Стандарт POSIX был разработан в 1980-х годах для решения проблемы переносимости. Стандарт был определен на основе System V и BSD Unix. POSIX не определяет операционную систему, он только определяет интерфейс между приложением и операционной системой. У программистов есть свобода писать свою ОС и приложение так, как они хотят, при условии, что интерфейс между ними соблюдается. Поскольку POSIX не зависит от оборудования, операционной системы или поставщика, легче добиться переносимости приложений.

Первый стандарт POSIX был выпущен в 1988 году. Формально он назывался IEEE Standard 1003.1-1988 Интерфейс портативной операционной системы для компьютерных сред ». В 1990 году была выпущена международная версия того же стандарта с небольшими вариациями, как ISO / IEC 9945-1: 1990 Информационные технологии - Интерфейс переносимой операционной системы (POSIX) - Часть 1: Системный прикладной программный интерфейс (API).

Изначально POSIX был разделен на несколько стандартов:

POSIX.1: Основные услуги
POSIX.1b: Расширения в реальном времени
POSIX.1c: Расширения потоков
POSIX.2: Шелл и Утилиты

После 1997 года Austin Group объединила все стандарты под одной крышей. С тех пор версии POSIX.1-2001 (также известный как IEEE Std 1003.1-2001), POSIX.1-2004 (также известный как IEEE Std 1003.1-2004) и POSIX.1-2008 (также известный как IEEE Std 1003.1-2008) были выпущены.

Примерами некоторых POSIX-совместимых систем являются AIX, HP-UX, Solaris и MacOS (начиная с 10.5 Леопард). С другой стороны, Android, FreeBSD, Linux Distributions, OpenBSD, VMWare и т. Д., следуют большей части стандарта POSIX, но не сертифицированы.

Основы POSIX

POSIX.Стандарт 1-2008 касается четырех основных областей:

  1. Базовый объем определения: Общие термины, концепции и интерфейсы.
  2. Объем интерфейсов системы: Определения системных сервисных функций и подпрограмм. Также включает переносимость, обработку ошибок и восстановление после ошибок.
  3. Объем Shell и Utilities: Определение интерфейсов любого приложения к командным оболочкам и обычным служебным программам.
  4. Обоснование Объем: Содержит информацию и историю о добавленных или исключенных функциях и обоснование решений.

Стандарт не распространяется на графические интерфейсы, интерфейсы баз данных, переносимость объектного / двоичного кода, конфигурации системы, соображения ввода-вывода или доступность ресурсов.

Некоторые из руководящих принципов, лежащих в основе дизайна POSIX:

Разработка приложений POSIX

Целью POSIX было улучшение переносимости. Когда ваш исходный код соответствует стандарту, вы можете легко скомпилировать и запустить код на другом компьютере. Однако, если POSIX определяется как общее требование для приложения, это может вызвать путаницу. Полный стандарт POSIX - это более 4000 страниц с более чем 1350 интерфейсами. Нет смысла реализовывать все. Таким образом, каждый проект должен определять аспекты POSIX, которые будут соответствовать определенным требованиям.

В сообществе разработчиков бытует неправильное представление о том, что стандарт POSIX старый и неактуальный. Это не верно. POSIX - это живой документ, который регулярно обновляется Austin Group. Любой желающий может присоединиться к группе и участвовать в улучшении стандарта. Стандарт активно используется в современных серверах, рабочих станциях, маршрутизаторах, мобильных устройствах, встроенных системах и т. Д. Используется для машин UNIX и Linux.

Однако разработчики должны знать, что стандарт POSIX имеет проблемы. Вы можете сообщить о любой обнаруженной ошибке в Austin Group, и она будет рассмотрена в следующей редакции.

Заключение
POSIX поначалу может показаться сложным. Тем не менее, разработчики приложений должны познакомиться с основами, так как они время от времени будут появляться по мере необходимости. Из-за большого объема стандарта невозможно стать экспертом по всему документу. Разработчики могут обратиться к сообществам UNIX и Linux, чтобы узнать больше. Сообщества могут ответить на ваши вопросы и дать вам лучшее представление о том, какая часть стандарта будет иметь отношение к вашему проекту.

Дальнейшее изучение:

Рекомендации:

Установите последнюю версию эмулятора Dolphin для Gamecube и Wii в Linux
Эмулятор Dolphin позволяет вам играть в выбранные вами игры Gamecube и Wii на персональных компьютерах (ПК) Linux. Являясь свободно доступным игровым...
Как использовать чит-движок GameConqueror в Linux
В статье содержится руководство по использованию чит-движка GameConqueror в Linux. Многие пользователи, играющие в игры на Windows, часто используют п...
Лучшие эмуляторы игровой консоли для Linux
В этой статье будет перечислено популярное программное обеспечение для эмуляции игровых консолей, доступное для Linux. Эмуляция - это уровень совмести...