Posix

Posix Standard

Posix Standard

POSIX: Общ преглед

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

История на POSIX

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

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

Стандартът POSIX е разработен през 80-те години за разрешаване на проблема с преносимостта. Стандартът е дефиниран на базата на 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.1б: Удължения в реално време
POSIX.1в: Разширения на нишки
POSIX.2: Shell и помощни програми

След 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. Обем на черупката и помощните програми: Определяне на интерфейси на всяко приложение за командни черупки и общи полезни програми.
  4. Обосновка Обем: Съдържа информация и история за добавени или изхвърлени функции и мотиви на решенията.

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

Някои от водещите принципи зад дизайна на POSIX са:

Разработване на приложения POSIX

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

В общността за разработки има заблуди, че стандартът POSIX е стар и без значение. Не е вярно. POSIX е жив документ, който редовно се актуализира от Austin Group. Всеки може да се присъедини към групата и да участва в подобряване на стандарта. Стандартът се използва активно в днешните сървъри, работни станции, рутери, мобилни устройства, вградени системи и др. Използва се за машини UNIX и Linux.

Разработчиците обаче трябва да са наясно, че POSIX стандартът има проблеми. Можете да съобщите за всяка грешка, която откриете, на Austin Group и тя ще бъде разгледана за следващата ревизия.

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

Допълнително проучване:

Препратки:

Полезни инструменти за геймърите на Linux
Ако искате да играете игри на Linux, има вероятност да сте използвали приложения и помощни програми като Wine, Lutris и OBS Studio, за да подобрите иг...
HD Remastered Games за Linux, които никога преди не са имали издание на Linux
Много разработчици и издатели на игри излизат с HD ремастер на стари игри, за да удължат живота на франчайза, моля феновете, които искат съвместимост ...
Как да използвам AutoKey за автоматизиране на Linux игри
AutoKey е програма за автоматизация на настолни компютри за Linux и X11, програмирана в Python 3, GTK и Qt. Използвайки неговата функционалност за скр...