POSIX (англ.: Portable Operating System Interface for Unix — Пераносны інтэрфейс аперацыйных сістэм Unix) — набор стандартаў, якія апісваюць інтэрфейсы паміж аперацыйнай сістэмай і прыкладной праграмай. Стандарт створаны для забеспячэння сумяшчальнасці розных UNIX-падобных аперацыйных сістэм і пераноснасці прыкладных праграм на ўзроўні зыходнага кода, але можа быць выкарыстаны і для не-Unix сістэм. Серыя стандартаў POSIX была распрацавана камітэтам 1003 IEEE. Міжнародная арганізацыя па стандартызацыі (ISO) сумесна з Міжнароднай электратэхнічнай камісіяй (IEC) прынялі гэты стандарт (POSIX) пад назвай ISO/IEC 9945.
Назва «POSIX» была прапанавана Рычардам Столманам[1]. Уводзіны ў POSIX.1 сцвярджае: «Чакаецца вымаўленне „позікс“ як „пазітыў“, а не „посікс“. Вымаўленне апублікавана ў мэтах абнародавання стандартнага спосабу спасылкі на стандартны інтэрфейс аперацыйнай сістэмы». «POSIX» з'яўляецца зарэгістраваным таварным знакамIEEE[1].
Задачы
садзейнічаць спрашчэнню пераносу кода прыкладных праграм на іншыя платформы;
спрыяць вызначэнню і ўніфікацыі інтэрфейсаў загадзя падчас праектавання, а не падчас іх рэалізацыі;
захоўваць па магчымасці і ўлічваць усе галоўныя, створаныя раней і тыя, што знаходзяцца ва ўжыванні, прыкладныя праграмы;
вызначаць патрэбны мінімум інтэрфейсаў прыкладных праграм, для паскарэння стварэння, ухвалення і зацвярджэння дакументаў;
развіваць стандарты ў кірунку забеспячэння камунікацыйных сетак, размеркаванай апрацоўкі даных і абароны інфармацыі;
рэкамендаваць абмежаванне ўжывання бінарнага (аб'ектнага) кода для праграм у простых сістэмах.
Змест
Стандарт складаецца з чатырох асноўных раздзелаў:
Базавыя вызначэнні (Base definitions) — спіс асноўных вызначэнняў і пагадненняў, ужываных у спецыфікацыях, і спіс загалоўкавых файлаў мовы Сі, якія павінны быць прадстаўлены адпаведнаму стандарту сістэмай.
Абалонка і утыліты (Shell and utilities) — апісанне утыліт і каманднай абалонкі sh, стандарты рэгулярных выразаў.
Абгрунтаванне (Rationale) — тлумачэнне прынцыпаў, ужываных у стандарце.
Версіі
POSIX.1, Каранёвыя службы (уключае стандарт ANSI C) (IEEE Std 1003.1-1988)
Стварэнне і кіраванне працэсамі
Сігналы[6]
Выключэнні плаваючай коскі
Парушэнні сегментацыі
Забароненыя дырэктывы
Памылкі шыны
Таймеры
Аперацыі над файламі (каталогамі)
Каналы
Бібліятэка C (Стандартны С)
Інтэрфейс і кантроль уводу-вываду
Трыгеры працэсаў
POSIX.1b, Пашырэнні рэальнага часу (IEEE Std 1003.1b-1993)
Планіроўка прыярытэтаў
Сігналы рэальнага часу
Таймеры і сінхранізацыя
Семафоры
Перадача паведамленняў
Падзяляльная памяць
Асінхронны і сінхронны ўвод-вывад
Інтэрфейс блакавання памяці
POSIX.1c, Пашырэнні ніцей выканання (IEEE Std 1003.1c-1995)
Стварэнне, кантроль і завяршэнне выканання ніцяў
Планавальнік ніцяў
Сінхранізацыя ніцяў
Апрацоўка сігналаў
POSIX-сумяшчальныя АС
У залежнасці ад ступені сумяшчальнасці са стандартамі, АС могуць быць цалкам альбо часткова сумяшчальныя з POSIX. Сертыфікаваныя прадукты можна знайсці на сайце IEEE.[2] Бясплатны доступ да версіі стандарту IEEE Std 1003.1-2004 знаходзіцца на сайце The Open Group.[3]
Цалкам POSIX-сумяшчальныя
Цалкам адпавядаюць адной з версій стандарту POSIX:
Cygwin — забяспечвае частковую адпаведнасць POSIX для некаторых прадуктаў Microsoft Windows.
UnxUtils — набор утыліт з POSIX-асяроддзя.
Microsoft POSIX subsystem, неабавязковая падсістэма Windows.
Microsoft Windows Services for UNIX — забяспечвае поўную адпаведнасць POSIX для некаторых прадуктаў Microsoft Windows. Аперацыйныя сістэмы на базе Windows NT да Windows 2000 мелі POSIX-узровень, убудаваны ў АС, і UNIX Services for Windows прадстаўлялі UNIX-падобнае асяроддзе. Для Windows XP, Windows Services for UNIX павінны быць усталяваны для POSIX-сумяшчальнасці. UNIX-падсістэма ўбудавана ў Enterprise і Ultimate рэдакцыі Windows Vista і не можа быць дададзена ў іншыя рэдакцыі.
UWIN ад AT&T Research забяспечвае POSIX па-над Win32 API.