Difference between revisions 7741470 and 7766433 on bgwiki

{{обработка}}
'''POSIX''' ({{IPA-en|ˈpɒzɪks}}) или ''Portable Operating System Interface'' (преносим интерфейс за операционни системи) е събирателно наименование на група от [[стандарт]]и, предложени от [[IEEE]] за [[приложно-програмен интерфейс]] в подобните на [[Unix]] [[операционна система|операционни системи]]. Повечето съвременни операционни системи частично или пълно спазват тези стандарти.

<ref name = "FAQ" /><ref name = "IET">{{cite web
| title = POSIX
| url = http://standards.ieee.org/regauth/posix/
| work = Standards
| publisher = IEEE}}</ref>

==Етимология==
Първоначално името "POSIX" се отнася до стандарта [[IEEE]], влязъл в употреба през [[1988]] г. Стандартите POSIX формално са познати като '''IEEE 1003''', а международно са известни като [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] 9945.
Стандартите се появяват от проект, чието начало е поставено през 1985 год. [[Ричард Стоулман]] предлага името ''POSIX'' на IEEE, измествайки предишното ''IEEE-IX''. Комитетът намира предложението за по-лесно произносимо и запомнящо се.<ref name = "FAQ">{{cite web
|date = 2 февруари 2006
|title = POSIX 1003.1 FAQ Версия 1.12
|url = http://www.opengroup.org/austin/papers/posix_faq.html
|accessdate =14 Юли 2015}}</ref><ref name = "RMS">{{cite web
|year = 2011
|title = Произход на името POSIX.
|url = http://stallman.org/articles/posix.html
|accessdate = 14 Юли 2015}}</ref>

==Преглед==
Спецификациите POSIX за [[Unix-базирани]] операционни системи се състоят оригинално от отделен документ за програмния интерфейс на ядрото, но всъщност се разширяват до 19 отделни документа (POSIX.1, POSIX.2, и т.н).<ref>{{Cite report|date= 2003-12-04 |title= PASC Състояние (including POSIX) |url= http://www.pasc.org/standing/sd11.html |publisher= [[IEEE Computer Society]] |accessdate= 2015-03-01 }}</ref>  Стандартизиран потребителски [[команден ред]] и [[скриптов интерфейс]] се основават на [[Korn shell]]. Много програми на потребителско ниво, услуги и пособия включително [[awk]], [[echo]] и [[ed]] са стандартизирани по същия начин. Също така чрез POSIX е дефиниран стандарта [[тема (компютърна наука)|threading]] библиотека API която се поддържа от най-модерните операционни системи. В сегашни дни, повечето части на POSIX са комбинирани в отделен стандарт, ''IEEE Std 1003.1-2008'', известен също като ''POSIX.1-2008''.


====POSIX.1====
* POSIX.1, Услуги на Ядрото (включва Стандарта [[ANSI C]]) (IEEE Std 1003.1-1988)
** [[Процес]] Създаване и Контрол
** [[Сигнал]]
** [[Изключения с Плаваща запетая]]
** [[Сегментиране]] Нарушенията на паметта
** [[Незаконни инструкции]]
** [[SIGBUS|Грешки на Шината]]
** [[SIGALRM|Таймери]]
** Операции с Файлове и Директории
** [[Pipeline (Unix)|Pipes]]
** [[C standard library|"C" Библиотеки (Стандарт C)]]
** [[Input/Output|I/O]] Портов Интерфейс и Контрол
** Процес на тригери

====POSIX.1b====
* POSIX.1b, Разширения в Реално-време (IEEE Std 1003.1b-1993)
** Приоритет [[Scheduling (изчисления)|Scheduling]]
** [[SIGRTMIN и SIGRTMAX|Сигнали в Реално-Време]]
** Тактова честота и Таймери
** [[Semaphore (програмиране)|Семафори]]
** [[Преминаване на Съобщенията]]
** [[Споделена Памет]]
** [[Асинхроненни  I/O|Асинхронни]] и Синх. I/O
** Интерфейси за Заключване на Паметта

====POSIX.1c====
* POSIX.1c, [[POSIX Разширения на Темите|Разширения на Темите]] (IEEE Std 1003.1c-1995)
** Създаване на Тема, Контрол и Почистване
** Вкарване на Темата в Списък
** Синхронизиране на Темата
** Управление на Сигнала

====POSIX.2====
* POSIX.2, Шел и Приложения (IEEE Std 1003.2-1992)
** [[Интерпретатор в командният ред |Команден Интерпретатор]]
** Приложни Програми

===Версии след 1997===
След 1997 год.,  [[Austin Group]] разработва ревизия на POSIX. Спецификациите са известни под името [[Single UNIX Specification]], преди да станат стандарта POSIX когато са формално одобрени от ISO.

====POSIX.1-2001====
''POSIX.1-2001'' или IEEE Std 1003.1-2001 се развнява на ''Single UNIX Specification version 3''<ref>{{цитат от пресата
  |url = http://www.unix.org/version3/pr.html
  |title = The Open Group анонсира завършването на съвместна ревизия на POSIX и на Самостоятелни UNIX Спецификации
  |accessdate =26 Юли 2009
  |date = 30 Януари 2002
  |publisher = The Open Group
}}</ref>

Този стандарт се състои от:
* Основни Определения, Издание 6,
* Системни Интерфейси и Хедъри, Издание 6,
* Команди и Приложения, Издание 6.

====POSIX.1-2004 (с две Технически Корекции)====
IEEE Std 1003.1-2004 включва леки подобрения на POSIX.1-2001. Те включват две технически [[Erratum|корекции]].<ref>{{цитат web
  |url = http://www.unix.org/version3/ieee_std.html
  | title = IEEE Std 1003.1 | edition = 2004 | publisher = Unix.org
  |accessdate =26 Юли 2009
  |postscript = <!-- Параметри вмъкнати от Bot. Или ги премахнете; или променете стойностите им на "." за цитата до края в ".", както е необходимо. -->{{непоследователни цитати}}}}</ref>  Съдържанието им може да се намери във мрежата.<ref>{{Cite journal | url = http://www.opengroup.org/onlinepubs/009695399/ | title= IEEE Std 1003.1 | edition = 2004 | publisher = The Open Group | postscript = <!-- Параметри вмъкнати от Bot. Или ги премахнете; или променете стойностите им на "." за цитата до края в ".", както е необходимо. -->{{непоследователни цитати}}}}.</ref>

====POSIX.1-2008 (с една TК)====
{{Както през | 2014}} ''POSIX.1-2008 с TC1'' или IEEE Std 1003.1, 2013 изданието представя текущата версия.<ref>{{цитат web
  |url = http://www.opengroup.org/bookstore/catalog/c143.htm
  |title = Основни Спецификации, Издание 7, 2013 Издание
  |accessdate =18 Декември 2014
  |publisher = The Open Group}}</ref><ref>{{cite web
  |url = http://www.opengroup.org/austin/
  |title = The Austin Common Standards Revision Group
  |accessdate =27 July 2009
  |publisher = The Open Group}}</ref>  Безплатно онлайн копие е налично.<ref>{{Cite journal | url = http://www.opengroup.org/onlinepubs/9699919799/ | publisher = The Open Group | title = Posix.1-2013}}.</ref>

Този стандарт се състои от:
* Основни Определения, Издание 7,
* Системни Интерфейси и Заглавия, Издание 7,
* Команди и Приложения, Издание 7,
* Том на обосновката.

==Контра версии==

===512- срещу 1024-байтови блокове===
POSIX указва 512-байтов блоков размер за [[Df (Unix)|df]] и [[Du (Unix)|du]] приложения, което се отразява в размер на блока по подразбиране на дисковете. Когато [[Richard M. Stallman|Ричард Столман]] и тиймът на [[GNU]] внедряваха POSIX за [[GNU operating system |GNU операционната система]], те изразиха възражение срещу това, че повечето хора мислят с понятия на базата на 1024 байтови (или 1[[Kibibyte|KiB]]) блокове. Тогава бе въведена Променливата на средата POSIXLY_CORRECT, която трябваше да позволи на потребителят да форсира поведението на стандартната-съвместимост.<ref>{{Cite journal | publisher = GNU | url = http://groups.google.com/group/gnu.announce/msg/6c6e20b57ddb1a82?pli=1 | title = Announce | type = Google Groups replica | postscript = <!-- Bot inserted parameter. Either remove it; or change its value to "." for the cite to end in a ".", as necessary. -->{{inconsistent citations}}}}</ref>. Име на променливата POSIX_ME_HARDER също бе дискутиран.<ref>{{Cite journal | url = http://www.linuxdevcenter.com/pub/a/linux/2004/12/22/rms_interview.html?page=2 | title = Freedom, Innovation, and Convenience: The RMS Interview | publisher = Linuxdevcenter | date = 22 December 2004 | postscript = <!-- Bot inserted parameter. Either remove it; or change its value to "." for the cite to end in a ".", as necessary. -->{{inconsistent citations}}}}</ref>.

==POSIX - ориентирани операционни системи==
В зависимост от степента на съответствие със стандартите, човек може да класифицира операционните системи като напълно или частично съвместими с POSIX. Такива продукти със сертификат могат да бъдат намерени на уеб-сайта на IEEE.<ref name = "certification">{{cite web | url = http://get.posixcertified.ieee.org/search_certprodlist.tpl?CALLER=cert_prodlist.tpl | publisher = IEEE | title = POSIX Certification}}</ref>

===POSIX-сертифицирани===
Някои версии на следните операционни системи са били сертифицирани така, че да задоволят един или повечето от различните стандарти на POSIX.

<!-- Моля не добавяйте допълнителни операционни системи без да цитирате също и източника на информацията. -->
{{Multicol}}
*[[IBM AIX (operating system)|AIX]]<ref>{{cite web |url=http://www.opengroup.org/openbrand/register/ibm.htm |title=IBM |publisher=The Open Group |accessdate=26 January 2014}}</ref>
*[[HP-UX]]<ref name="hp">{{cite web |url=http://www.opengroup.org/openbrand/register/hp.htm |title=Hewlett-Packard  |publisher=The Open Group |accessdate=26 January 2014}}</ref>
{{Multicol-break}}
*[[IRIX]]<ref>{{cite web |url=http://www.opengroup.org/openbrand/register/sgi.htm |title=Silicon Graphics, Inc. |publisher=The Open Group |accessdate=26 January 2014}}</ref>
*[[OS X]] (since [[Mac OS X Leopard|10.5 Leopard]])<ref>{{cite web|title=The Open Brand - Register of Certified Products |url=http://www.opengroup.org/openbrand/register/brand3555.htm |work=Register of Open Branded Products |publisher=The Open Group |accessdate=May 20, 2015}}</ref><ref>{{cite web|title=Apple Inc |url=http://www.opengroup.org/openbrand/register/apple.htm |work=Register of Open Branded Products|publisher=The Open Group |accessdate=May 20, 2015}}</ref>{{discuss|Mac OS X and POSIX}}
{{Multicol-break}}
*[[Solaris Operating System|Solaris]]<ref>{{cite web |url=http://www.opengroup.org/openbrand/register/sun.htm |title=Oracle Corporation |publisher=The Open Group |accessdate=26 January 2014}}</ref>
*[[Tru64 UNIX|Tru64]]<ref name="hp"/>
{{Multicol-break}}
*[[UnixWare]]<ref>{{cite web |url=http://www.opengroup.org/openbrand/register/brand2713.htm |title=UnixWare ® 7.1.3 and later  |date=16 May 2003 |publisher=The Open Group}}</ref>
{{Multicol-end}}
*[[QNX|QNX® Neutrino]]<ref>{{cite web |url=http://www.qnx.com/news/pr_2862_1.html}}</ref>

===Повечето POSIX-съвместими===
{{Секзия за разширяване|date=Януари 2007}}
Следните, ако не са официално сертифицирани като съвместими с POSIX, се съобразяват в по-голямата си част:

*[[BeOS]] (и последваща [[Haiku (операционна система)|Haiku]])
*[[Contiki]]
*[[Darwin (операционна система)|Darwin]] (ядро на [[OS X]] и [[iOS]])
*[[FreeBSD]]<ref name = "FreeBSD">{{cite web | url = http://people.freebsd.org/~schweikh/posix-utilities.html | title = POSIX utilities | author = Schweik | publisher = FreeBSD}}</ref>
*[[illumos]]
*[[Linux]] (повечето дистрибуции &mdash; виж [[Linux Standard Base]])
*[[Minix|MINIX]] (сега [[MINIX3]])
*[[NetBSD]]
*[[Nucleus RTOS]]
*[[NuttX]]
*[[OpenBSD]]
*[[OpenSolaris]]
*[[PikeOS]] RTOS за вградени системи с избираеми PSE51 и PSE52 дялове; виж [[partition (mainframe)]]
*[[RTEMS]] – POSIX API поддръжка конструирани към IEEE Std. 1003.13-2003 PSE52
*[[Sanos]]
*[[SkyOS]]
*[[Syllable (операционна система)|Syllable]]
*[[VSTa]]
*[[VxWorks]] (VxWorks често се използва като шел около non-posix Kernels т.е. TiMOS/SROS )
*[[Android (операционна система)|Android]] (Налична чрез Android NDK) {{необходим е цитат|date=Декември 2014}}

====POSIX за Windows====
*[[Cygwin]] осигурява по-голяма съвместимост с POSIX разработката и среда за стартиране под [[Microsoft Windows]].
**[[MinGW]], бивша [[fork (software development)|fork]] of Cygwin, осигурява по-малка съвместимост с POSIX среда за разработка и поддръжка на съвместимостта [[C (програмен език)|C]]-програмни приложения чрез [[Msvcrt]], Старата библиотека за стартиране на Visual C под Microsoft.
*[[Microsoft POSIX подсистема]], алтернативна подсистема на  Windows включена в Windows NT-базирани операционни системи до Windows 2000. POSIX-1 тъй както е застанала в ревизията за 1990, без теми и подложки.
*[[Interix]], оригинално заглавие OpenNT от Softway Systems, Inc., е подобрение и замяна на [[Microsoft POSIX subsystem]] тя бе купена от [[Microsoft]] през 1999. Първоначално бе предложена на пазара като самостоятелно допълнение и след това включена като компонент в [[Windows Services for UNIX]] (SFU) и накрая внедрена като компонент на [[Windows Server 2003 R2]], а по-късните версии на Windows OS под името "Subsystem for UNIX-based Applications" (SUA); по-късно е маркирана като изхвърлена във (Windows 8)<ref>[http://technet.microsoft.com/en-us/library/hh831568.aspx Features Removed or Deprecated in Windows Server 2012]</ref> и адаптирана през 2013 (2012 R2, 8.1). Тя разрешава пълна съвместимост с POSIX за определени продукти на [[Microsoft Windows]]{{нужен е цитат|date=Март 2011}}.
*[[UWIN]] от AT&T Research прилага POSIX слой в горната част на Win32 APIs.
*[[MKS Toolkit]], оригинално съсздадена за MS-DOS, е софтуерен пакет произведен и поддържан от [[MKS Inc.]] който осигурява [[Unix-like]] среда за сриптове, свързаност помежду им и пренасяне [[Unix]] и [[Linux]] софтуер към двете 32- и 64-битови [[Microsoft Windows]] системи. Неин под-набор бе включен в първото издание на [[Windows Services for UNIX]] (SFU) през 1998.<ref>[https://web.archive.org/web/19990508011234/http://www.microsoft.com/ntserver/nts/exec/overview/sfu.asp Windows NT Services for UNIX Add-On Pack] for NT 4; see also the [https://web.archive.org/web/19990428003638/http://mks.com/press/981109a.htm November '98 press release] for MKS toolkit 6.1, also [http://www.prnewswire.com/news-releases/mks-solves-enterprise-interoperability-challenges-77329697.html archived elsewhere]</ref>

====POSIX за OS/2====
Най-вече POSIX съвместими среди за [[OS/2]]:
* [[EMX (програмна среда)|emx+gcc]] – до голяма степен POSIX съвместима

====POSIX за DOS====
Частично POSIX съвместими среди за [[DOS]] включват:
* [[EMX (програмна среда)|emx+gcc]] – до голяма степен POSIX съвместима
* [[DJGPP]] – частично POSIX съвместима
* [[DR-DOS]] много-задачно ядро чрез <tt>EMM386 /MULTI</tt> - [[Pthreads]] интерфейсно API разширение е налично

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

*[[eCos]]&nbsp;– POSIX е част от стандартната дистрибуция и се използва от много приложения. 'external links' секцията по-долу има известна информация.
*[[MorphOS]] (чрез вградената ixemul библиотека)
*[[OpenVMS]] (чрез избираем POSIX пакет)
*[[Plan 9 от Bell Labs]] APE - ANSI/POSIX Среда<ref name = "APE">{{cite web | url = http://plan9.bell-labs.com/sys/doc/ape.html | title = APE — ANSI/POSIX Environment | publisher = Bell Labs | work = Plan 9}}</ref>
*[[RIOT (операционна система)|RIOT]] (чрез избираем POSIX модул)
*[[Symbian OS]] с [[PIPS]] (PIPS е POSIX в Symbian)
*[[Архитектура на Windows NT|Windows NT kernel]] когато използва Microsoft [[Windows Services for Unix|SFU]] 3.5 или SUA
**[[Windows 2000|Windows 2000 Server или Professional със  Service Pack 3 или следващ]]. Да е POSIX съвместим, трябва да се активира избираеми характеристики на Windows NT и Windows 2000 Server.<ref name = "MS">{{cite web | url = http://www.microsoft.com/technet/archive/ntwrkstn/reskit/poscomp.mspx | title = POSIX Compatibility | work = MS Windows NT Workstation Resource Kit | publisher = Microsoft}}</ref>
**[[Windows XP|Windows XP Professional със Service Pack 1 или следващ]]
**[[Windows Server 2003]]
**[[Windows Server 2008]] и Ultimate и Enterprise версии на [[Windows Vista]]
**[[Windows Server 2008 R2]] и Ultimate и Enterprise версии на [[Windows 7]]
**макар и отхвърлена, все още е налична за [[Windows Server 2012]] и Enterprise версия за [[Windows 8]]
*[[z/OS]] (сертифицирана като съвместима)

==Виж също==
* [[POSIX сигнал]]
* [[POSIX Теми]]
* [[TRON проект]]&nbsp;– алтернативни OS стандарти към POSIX
* [[Common User Access]]&nbsp;– Потребителски интерфйесен стандарт
* [[Interix]]&nbsp;– пълнофункционална POSIX и Unix подсистемна среда за Windows NT-базирани операционни системи на Microsoft
* [[C POSIX library]]
* [[Real-time operating system - Операционни системи в Реално-Време]]
* [[Portable character set - Портативен знаков набор]]

==Позоваване на източници==
{{Reflist|30em}}

==Външни връзки==
{{Commonscat|POSIX}}
* {{Cite journal | url = http://www.opengroup.org/austin/ | title = The Austin Group | publisher = The Open Group | postscript = <!-- Bot inserted parameter. Either remove it; or change its value to "." for the cite to end in a ".", as necessary. -->{{inconsistent citations}}}}.
* {{cite web | url = http://www.pasc.org/ | title = The Portable Application Standards Committee | postscript = <!-- Bot inserted parameter. Either remove it; or change its value to "." for the cite to end in a ".", as necessary. -->{{inconsistent citations}}}}
* {{Cite journal | url = http://standards.ieee.org/regauth/posix/ | publisher = IEEE | title = POSIX Certification Authority | postscript = <!-- Bot inserted parameter. Either remove it; or change its value to "." for the cite to end in a ".", as necessary. -->{{inconsistent citations}}}}.
* {{Cite journal | url = http://www.unix.org/ | publisher = The Open Group | title = The UNIX System | type = home page | postscript = <!-- Bot inserted parameter. Either remove it; or change its value to "." for the cite to end in a ".", as necessary. -->{{inconsistent citations}}}}
* {{Cite book | url = http://www.opengroup.org/onlinepubs/9699919799/ | title = Posix.1-2008 | publisher = The Open Group | chapter= Base Specifications | issue = 7 | postscript = <!-- Bot inserted parameter. Either remove it; or change its value to "." for the cite to end in a ".", as necessary. -->{{inconsistent citations}}}}
* {{Cite journal | url = http://wt.tuxomania.net/publications/posix.1e/ | title = What could have been IEEE 1003.1e/2c | publisher = Tuxomania | postscript = <!-- Bot inserted parameter. Either remove it; or change its value to "." for the cite to end in a ".", as necessary. -->{{inconsistent citations}}}}

{{Open Group standards|state=uncollapsed}}
{{ISO standards}}

[[Категория:ISO standardsСтандарти ISO]]
[[Категория:IEC standards]]
[[Категория:IEEE standards]]
[[Категория:Application programming interfaces]]
[[Категория:POSIX|*]]

[2][4][необходим е по-добър източник]