Введение в POSIX'ивизм


Упорядочивание стилей работы - часть 2


Термин Portable в названии первоначально означал, что соответствующая POSIX-спецификациям система может быть перенесена (возможно, с минимальными модификациями) на любое компьютерное "железо". То есть - на машины с любой архитектурой - ведь тогда ОС Unix-семейства функционировали не только (точнее даже, не столько) на PC. Однако со временем не менее важным оказался несколько другой аспект этого термина: любая прикладная программа, написанная в соответствии со стандартами POSIX, теоретически может быть перенесена (подчас без всяких переделок) на любую ОС POSIX-совместимого семейства. И нужно отметить - это один из тех редких случаев, когда теоретические ожидания блестяще подтвердились практикой.

Стандарты POSIX существуют в виде серии регулярно обновляемых документов (общим числом под два десятка), в которых описываются спецификации отдельных компонентов систем. Из них наибольший интерес для нас представляет документ IEEE Std 1003.1, в последней редакции которого (от 2004 г. - 2004 Edition) были объединены ранее отдельные стандарты. В современном своем виде он включает четыре "тома":

  • Base Definitions volume (XBD) - определение терминов, концепций и интерфейсов, общих для всех томов данного стандарта;
  • System Interfaces volume (XSH) - интерфейсы системного уровня и их привязка к языку Си, где описываются обязательные интерфейсы между прикладными программами и операционной системой, в частности - спецификации системных вызовов;
  • Shell and Utilities volume (XCU) - определение стандартных интерфейсов командного интерпретатора (т.н. POSIX-shell), а также базовой функциональности Unix-утилит;
  • Rationale (Informative) volume (XRAT) - дополнительная, в том числе историческая, информация о стандарте.

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


Начало  Назад  Вперед



Книжный магазин