Array ( [0] => {{Short description|Family of IEEE standards for compatibility between operating systems}} [1] => {{Distinguish|text=[[Unix]], [[Unix-like]], or [[Linux]]}} [2] => {{Use dmy dates|date=October 2023}} [3] => {{Infobox technology standard [4] => | title = Portable Operating System Interface (IEEE 1003) [5] => | status = Published [6] => | year_started = {{Start date and age|1988}} [7] => | version = IEEE Std 1003.1-2017 [8] => | version_date = {{Start date and age|2017}} [9] => | organization = [[Austin Group]] ([[IEEE Computer Society]], [[The Open Group]], [[ISO/IEC JTC 1/SC 22]]/WG 15) [10] => | related_standards = [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] 9945 [11] => | abbreviation = POSIX [12] => | domain = [[Application programming interface]]s [13] => | website = {{URL|https://posix.opengroup.org}} [14] => }} [15] => The '''Portable Operating System Interface''' ('''POSIX'''; {{IPAc-en|IPA|ˈ|p|ɒ|z|.|ɪ|k|s}}{{cite web|date=13 June 2020|title=POSIX.1 FAQ|url=https://www.opengroup.org/austin/papers/posix_faq.html|publisher=The Open Group|access-date=20 February 2023}}) is a family of [[standardization|standard]]s specified by the [[IEEE Computer Society]] for maintaining compatibility between [[operating system]]s. POSIX defines both the system and user-level [[API|application programming interface]]s (APIs), along with command line [[Unix shell|shell]]s and utility interfaces, for software compatibility (portability) with variants of [[Unix]] and other operating systems.{{cite web|title=P1003.1 - Standard for Information Technology--Portable Operating System Interface (POSIX(TM)) Base Specifications, Issue 8|url =https://standards.ieee.org/project/1003_1.html#Standard|website=IEEE Standards Association}} POSIX is also a [[trademark]] of the IEEE. POSIX is intended to be used by both application and system developers.{{Cite web|title=Introduction|url=https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap01.html|access-date=22 July 2021|work=The Open Group Base Specifications Issue 7, 2018 edition}} [16] => [17] => ==Name== [18] => Originally, the name "POSIX" referred to IEEE Std 1003.1-1988, released in 1988. The family of POSIX standards is formally designated as '''IEEE 1003''' and the ISO/IEC standard number is [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] 9945. [19] => [20] => The standards emerged from a project that began in 1984 building on work from related activity in the ''/usr/group'' association.{{Cite web|title=JimIsaak - POSIX Impact|url=https://sites.google.com/site/jimisaak/posix-impact|access-date=15 September 2022 |website=sites.google.com|language=en-US}} [[Richard Stallman]] suggested the name ''POSIX'' to the IEEE instead of former ''IEEE-IX''. The committee found it more easily pronounceable and memorable, and thus adopted it.{{cite web|year=2011|title=The origin of the name POSIX|url=http://stallman.org/articles/posix.html|access-date=28 September 2013}} [21] => [22] => ==Overview== [23] => [[Unix]] was selected as the basis for a standard system interface partly because it was "manufacturer-neutral". However, several major versions of Unix existed—so there was a need to develop a common-denominator system. The POSIX specifications for [[Unix-like]] operating systems originally consisted of a single document for the core [[programming interface]], but eventually grew to 19 separate documents (POSIX.1, POSIX.2, etc.).{{Cite report|date=4 December 2003|title=PASC Status (including POSIX)|url= http://www.pasc.org/standing/sd11.html|publisher=[[IEEE Computer Society]]|access-date=1 March 2015}} The standardized user [[command-line interface|command line]] and [[command-line interface#Command-line interpreter|scripting interface]] were based on the [[UNIX System V]] shell.{{cite web|url=https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xcu_chap02.html|title=Shell Command Language - The Open Group Base Specifications Issue 7, 2013 Edition|access-date=28 April 2020}} Many user-level programs, services, and utilities (including [[AWK|awk]], [[echo (command)|echo]], [[ed (text editor)|ed]]) were also standardized, along with required program-level services (including basic [[input/output|I/O]]: [[computer file|file]], [[computer terminal|terminal]], and [[computer network|network]]). POSIX also defines a standard [[thread (computing)|threading]] library API which is supported by most modern operating systems. In 2008, most parts of POSIX were combined into a single standard ''(IEEE Std 1003.1-2008'', also known as ''POSIX.1-2008).'' [24] => [25] => {{As of | 2014 }}, POSIX documentation is divided into two parts: [26] => * POSIX.1, 2013 Edition: POSIX Base Definitions, System Interfaces, and Commands and Utilities (which include POSIX.1, extensions for POSIX.1, Real-time Services, Threads Interface, Real-time Extensions, Security Interface, Network File Access and Network Process-to-Process Communications, User Portability Extensions, Corrections and Extensions, Protection and Control Utilities and Batch System Utilities. This is POSIX 1003.1-2008 with Technical Corrigendum 1.) [27] => * POSIX Conformance Testing: A test suite for POSIX accompanies the standard: '''VSX-PCTS''' or the '''VSX POSIX Conformance Test Suite'''.{{cite web | url = https://www.opengroup.org/testing/testsuites/vsxpcts2003.htm | title = Test Suites VSX-PCTS2003 | publisher = The Open Group}} [28] => [29] => The development of the POSIX standard takes place in the [[Austin Group]] (a joint [[working group]] among the IEEE, [[The Open Group]], and the [[ISO/IEC JTC 1/SC 22]]/WG 15). [30] => [31] => ==Versions== [32] => ===Parts before 1997=== [33] => Before 1997, POSIX comprised several standards: [34] => * '''POSIX.1''': Core Services (incorporates Standard [[ANSI C]]) (IEEE Std 1003.1-1988) [35] => ** [[Process (computing)|Process]] Creation and Control [36] => ** [[Signal (IPC)|Signals]] [37] => *** [[SIGFPE|Floating Point Exceptions]] [38] => *** [[SIGSEGV|Segmentation / Memory Violations]] [39] => *** [[SIGILL|Illegal Instructions]] [40] => *** [[SIGBUS|Bus Errors]] [41] => *** [[SIGALRM|Timers]] [42] => ** File and Directory Operations [43] => ** [[Pipeline (Unix)|Pipes]] [44] => ** [[C standard library|C Library (Standard C)]] [45] => ** [[Input/Output|I/O]] Port Interface and Control [46] => ** Process Triggers [47] => * '''POSIX.1b''': Real-time extensions (IEEE Std 1003.1b-1993, later appearing as librt—the Realtime Extensions library) [48] => {{cite web|url=https://docs.oracle.com/cd/E19455-01/806-0632/6j9vm89ic/index.html|title=librt(3LIB)|date=4 August 1998|website=docs.oracle.com|series=man pages section 3: Library Interfaces and Headers|publisher=Oracle Corporation|access-date=18 February 2016|quote=librt, libposix4- POSIX.1b Realtime Extensions library [...] librt is the preferred name for this library. The name libposix4 is maintained for backward compatibility and should be avoided. Functions in this library provide most of the interfaces specified by the POSIX.1b Realtime Extension.}} [49] => ** Priority [[Scheduling (computing)|Scheduling]] [50] => ** [[SIGRTMIN and SIGRTMAX|Real-Time Signals]] [51] => ** Clocks and Timers [52] => ** [[Semaphore (programming)|Semaphores]] [53] => ** [[Message Passing]] [54] => ** [[Shared memory|Shared Memory]] [55] => ** [[Asynchronous I/O|Asynchronous]] and Synchronous I/O [56] => ** Memory Locking Interface [57] => * '''POSIX.1c''': [[POSIX Threads|Threads extensions]] (IEEE Std 1003.1c-1995) [58] => ** Thread Creation, Control, and Cleanup [59] => ** Thread Scheduling [60] => ** Thread Synchronization [61] => ** Signal Handling [62] => * '''POSIX.2''': Shell and Utilities (IEEE Std 1003.2-1992) [63] => ** [[Command-line interpreter|Command Interpreter]] [64] => ** Utility Programs [65] => [66] => ===Versions after 1997=== [67] => After 1997, the [[Austin Group]] developed the POSIX revisions. The specifications are known under the name [[Single UNIX Specification]], before they become a POSIX standard when formally approved by the ISO. [68] => [69] => ====POSIX.1-2001 (with two TCs)==== [70] => ''POSIX.1-2001'' (or IEEE Std 1003.1-2001) equates to the ''Single UNIX Specification, version 3'' minus ''X/Open Curses''.{{cite web|url=https://unix.org/version3/overview.html|title=The Single UNIX Specification Version 3 - Overview|website=unix.org}} [71] => [72] => This standard consisted of: [73] => * the Base Definitions, Issue 6, [74] => * the System Interfaces and Headers, Issue 6, [75] => * the Commands and Utilities, Issue 6. [76] => [77] => IEEE Std 1003.1-2004 involved a minor update of POSIX.1-2001. It incorporated two minor updates or [[Erratum|errata]] referred to as ''Technical Corrigenda'' (TCs).{{cite web|url=http://www.unix.org/version3/ieee_std.html|title=IEEE Std 1003.1|edition = 2004|publisher=Unix.org|access-date=26 July 2009}} Its contents are available on the web.{{cite web|url=https://pubs.opengroup.org/onlinepubs/009695399/|title=IEEE Std 1003.1|edition=2004|publisher=The Open Group}}. [78] => [79] => ====POSIX.1-2008 (with two TCs)==== [80] => ''Base Specifications, Issue 7'' (or ''IEEE Std 1003.1-2008'', 2016 Edition) is similar to the current 2017 version (as of 22 July 2018).{{cite web|url=https://pubs.opengroup.org/onlinepubs/9699919799/|title=Base Specifications, Issue 7, 2018 Edition|access-date=1 May 2024|publisher=The Open Group}}{{cite web|url =https://www.opengroup.org/austin/|title=The Austin Common Standards Revision Group|access-date=1 March 2016|publisher=The Open Group}} [81] => [82] => This standard consists of: [83] => * the Base Definitions, Issue 7, [84] => * the System Interfaces and Headers, Issue 7, [85] => * the Commands and Utilities, Issue 7, [86] => * the Rationale volume. [87] => [88] => ====POSIX.1-2017==== [89] => IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008) - IEEE Standard for Information Technology—Portable Operating System Interface (POSIX(R)) Base Specifications, Issue 7 is available from either The Open Group or IEEE and is, as of 22 July 2018, the current standard. It is technically identical to POSIX.1-2008 with Technical Corrigenda 1 and 2 applied. A free online copy may still be available. [90] => [91] => ==Controversies== [92] => ===512- vs 1024-byte blocks=== [93] => POSIX mandates 512-byte default [[Block (computer memory)|block]] sizes for the [[Df (Unix)|df]] and [[Du (Unix)|du]] utilities, reflecting the typical size of blocks on disks. When [[Richard M. Stallman|Richard Stallman]] and the [[GNU]] team were implementing POSIX for the [[GNU operating system]], they objected to this on the grounds that most people think in terms of 1024 byte (or 1 [[Kibibyte|KiB]]) blocks. The environment variable {{var|POSIX_ME_HARDER}} was introduced to allow the user to force the standards-compliant behaviour.{{Cite newsgroup|last=Stallman|first=Richard|title=Democracy Triumphs in Disk Units|date=28 August 1991|newsgroup=gnu.announce|message-id=9108281809.AA03552@mole.gnu.ai.mit.edu|via=Google Groups |url=http://groups.google.com/group/gnu.announce/msg/6c6e20b57ddb1a82?pli=1}} The variable name was later changed to {{var|POSIXLY_CORRECT}}.{{cite web|publisher=GNU|url=https://www.gnu.org/prep/standards/standards.html#Non_002dGNU-Standards|title=GNU Coding Standards}} This variable is now also used for a number of other behaviour quirks. [94] => [95] => ==POSIX-oriented operating systems== [96] => Depending upon the degree of compliance with the standards, one can classify operating systems as fully or partly POSIX compatible. [97] => [98] => ===POSIX-certified=== [99] => Current versions of the following operating systems have been certified to conform to one or more of the various POSIX standards. This means that they passed the automated conformance tests{{cite web|url=http://get.posixcertified.ieee.org/certification_guide.html#Howto|title=POSIX Certified by IEEE and The Open Group - Program Guide|at=Section 2, How to Achieve Certification|access-date=22 January 2022}} and their certification has not expired and the operating system has not been discontinued.{{cite web |url=http://get.posixcertified.ieee.org/certification_guide.html#Renewals|title=POSIX Certified by IEEE and The Open Group - Program Guide|at=Section 4, Renewals and Certified Product Updates|access-date=22 January 2022}}{{cite web|url=https://www.opengroup.org/openbrand/register/company.htm|title=Certified Products by Company|author=|date=n.d.|publisher=The Open Group |access-date=22 January 2022}} [100] => [101] => {{div col|colwidth=15em}} [102] => *[[IBM AIX|AIX]]{{cite web |url=https://www.opengroup.org/openbrand/register/ibm.htm |title=IBM |publisher=The Open Group |access-date=23 January 2022}} [103] => *[[HP-UX]]{{cite web |url=https://www.opengroup.org/openbrand/register/hp.htm |title=Hewlett-Packard |publisher=The Open Group |access-date=26 January 2014}} [104] => *[[Integrity (operating system)|INTEGRITY]]{{Cite web|url=http://get.posixcertified.ieee.org/register.html|title=POSIX Certification Register|website=get.posixcertified.ieee.org|access-date=23 January 2022}} [105] => *[[macOS]] (since [[Mac OS X Leopard|10.5 Leopard]]){{cite web|title=The Open Brand - Register of Certified Products |url=https://www.opengroup.org/openbrand/register/brand3555.htm|work=Register of Open Branded Products|publisher=The Open Group |access-date=20 May 2015}}{{cite web|title=Apple Inc|url=https://www.opengroup.org/openbrand/register/apple.htm |work=Register of Open Branded Products|publisher=The Open Group|access-date=20 May 2015}} [106] => *[[OpenServer]]{{cite web|url=https://www.opengroup.org/openbrand/register/brand2574.htm|title=SCO OpenServer Release 5 |date=3 May 1995|publisher=The Open Group|access-date=24 December 2021}} [107] => *[[UnixWare]]{{cite web|url=https://www.opengroup.org/openbrand/register/brand2713.htm |title=UnixWare ® 7.1.3 and later |date=16 May 2003|publisher=The Open Group|access-date=24 December 2021}} [108] => *[[VxWorks]] [109] => *[[z/OS]] [110] => {{div col end}} [111] => [112] => ===Formerly POSIX-certified=== [113] => Some versions of the following operating systems had been certified to conform to one or more of the various POSIX standards. This means that they passed the automated conformance tests. The certification has expired and some of the operating systems have been discontinued. [114] => [115] => {{div col|colwidth=15em}} [116] => *[[EulerOS]] (exp. 2022){{cite web |url=https://www.opengroup.org/openbrand/register/huawei.htm|title=Huawei Technology Co., Ltd|publisher=The Open Group|access-date=26 May 2017}} [117] => *[[Inspur K-UX]] (exp. 2019){{cite web|url=https://www.opengroup.org/openbrand/register/inspur.htm|title=Inspur Co., Ltd |publisher=The Open Group|access-date=26 May 2017}} [118] => *[[IRIX]] (defunct 2006){{cite web |url=https://www.opengroup.org/openbrand/register/sgi.htm|title=Silicon Graphics, Inc. |publisher=The Open Group|access-date=26 January 2014}} [119] => *[[OS/390]] (defunct 2004){{cite web|archive-url=https://web.archive.org/web/20030802103246/http://www.opengroup.org/openbrand/register/|url=http://www.opengroup.org/openbrand/register/|title=The Open Brand - Register of Certified Products|date=23 July 2003|archive-date=2 August 2003|access-date=23 January 2022|website=Open Group}} [120] => *[[QNX|QNX Neutrino]]{{cite press release|url=http://www.qnx.com/news/pr_2862_1.html|title=QNX Achieves New POSIX Certification|date=8 April 2008|access-date=16 January 2016 | publisher=QNX}} [121] => *[[Solaris (operating system)|Solaris]] (exp. 2019){{cite web|url=https://www.opengroup.org/openbrand/register/sun.htm|title=Oracle Corporation|publisher=The Open Group|access-date=26 January 2014|archive-url=https://web.archive.org/web/20170712134003/https://www.opengroup.org/openbrand/register/sun.htm|archive-date=12 July 2017}} [122] => *[[Tru64 UNIX|Tru64]] (defunct 2010){{cite web|url=https://www.opengroup.org/openbrand/register/hp.htm|title=Hewlett-Packard |publisher=The Open Group|access-date=26 January 2014|archive-url=https://web.archive.org/web/20140709114759/https://www.opengroup.org/openbrand/register/hp.htm|archive-date=9 July 2014}} [123] => {{div col end}} [124] => [125] => ===Mostly POSIX-compliant=== [126] => The following are not certified as POSIX compliant yet comply in large part: [127] => {{div col|colwidth=18em}} [128] => *[[Android (operating system)|Android]] (Available through Android NDK){{citation needed|date=December 2014}} [129] => *[[BeOS]] (and subsequently [[Haiku (operating system)|Haiku]]) [130] => *[[Contiki]] [131] => *[[Darwin (operating system)|Darwin]] (core of [[macOS]] and [[iOS]]) [132] => *[[DragonFly BSD]] [133] => *[[FreeBSD]]{{cite web|url=http://people.freebsd.org/~schweikh/posix-utilities.html|title=FreeBSD POSIX 2001 Utility Compliance|first=Jens|last=Schweikhardt|publisher=FreeBSD}} [134] => *[[illumos]] [135] => *[[Linux]] (most distributions) [136] => *[[LynxOS]] [137] => *[[MINIX]] (now [[MINIX3]]) [138] => *[[HP Multi-Programming Executive|MPE/iX]]{{Cite magazine|magazine=Computerworld|url=https://books.google.com/books?id=-6GcSQAVaHgC&q=posix&pg=PA24|title = HP 3000 sales catch market by surprise|author=Mark Halper|volume = 28|issue=4|publisher=IDG Enterprise|date= 7 November 1994}} [139] => *[[NetBSD]] [140] => *[[Nucleus RTOS]] [141] => *[[NuttX]] [142] => *[[OpenBSD]] [143] => *[[OpenSolaris]]{{Cite book|title=OpenSolaris Bible|url=https://books.google.com/books?id=y8qaxiZNvqAC|publisher=John Wiley & Sons|date=21 March 2011|isbn=9781118080313|language=en|first1=Nicholas A.|last1=Solter|first2=Jerry|last2=Jelinek|first3=David|last3=Miner}} [144] => *[[PikeOS]] RTOS for embedded systems with optional PSE51 and PSE52 partitions; see [[Logical partition|partition (mainframe)]] [145] => *[[PX5 RTOS]]{{cite web|url=https://www.embedded.com/rtos-with-standard-posix-pthreads-api-a-complement-to-embedded-linux/|title=RTOS with standard POSIX pthreads API: a complement to embedded Linux|website=Embedded.com|author-first1=Bill|author-last1=Lamie|author-first2=Rafael|author-last2=Taubinger|date=15 June 2023|access-date=13 September 2023}} [146] => *[[Redox (operating system)|Redox]] [147] => *[[RTEMS]] – POSIX API support designed to IEEE Std. 1003.13-2003 PSE52 [148] => *[[SerenityOS]] [149] => *[[Stratus OpenVOS]]{{cite web|url=https://stratadoc.stratus.com/vos/19.3.0/r217m-03/wwhelp/wwhimpl/js/html/wwhelp.htm?context=r217m-03&file=ch1r217m-03.html|title=OpenVOS POSIX.1: Conformance Guide|publisher=Status Technologies|access-date=26 November 2021}} [150] => *[[SkyOS]] [151] => *[[Syllable Desktop|Syllable]] [152] => *[[ULTRIX]]{{cite manual|url=http://bitsavers.org/pdf/dec/vax/ultrix-32/4.0_Jun90/AA-LY25C-TE_POSIX_Conformance_Document_Jun1990.pdf|title=ULTRIX POSIX Conformance Document|date=June 1990|publisher=Digital|access-date=13 December 2021}} [153] => *[[VSTa]] [154] => *[[VMware ESXi]] [155] => *[[Xenix]] [156] => *[[Zephyr_(operating_system)|Zephyr]]{{cite web|url=https://docs.zephyrproject.org/latest/services/portability/posix.html|title=POSIX Support|publisher=Zephyr documentation|access-date=7 March 2023}} [157] => [158] => {{div col end}} [159] => [160] => ====POSIX for Microsoft Windows==== [161] => *[[Cygwin]] provides a largely POSIX-compliant development and run-time environment for [[Microsoft Windows]]. [162] => *[[MinGW]], a [[fork (software development)|fork]] of Cygwin, provides a less POSIX-compliant development environment and supports compatible [[C (programming language)|C]]-programmed applications via [[Msvcrt]], Microsoft's old Visual C [[runtime library]]. [163] => *libunistd, a largely POSIX-compliant development library originally created to build the Linux-based C/[[C++]] source code of [[CinePaint]] as is in [[Microsoft Visual Studio]]. A lightweight implementation that has POSIX-compatible header files that map POSIX APIs to call their Windows API counterparts.{{cite web|url = https://github.com/robinrowe/libunistd|title=libunistd| last=Rowe|first=Robin|date=8 September 2022|website=Github|publisher=|access-date=18 February 2023|quote=If you want to build single codebase C++ code to run on Windows, Linux and MacOS, you need this for Windows}} [164] => *[[Microsoft POSIX subsystem]], an optional Windows subsystem included in Windows NT-based operating systems up to Windows 2000. It supported POSIX.1 as it stood in the 1990 revision, without [[pthreads|threads]] or [[Berkeley socket|sockets]]. [165] => *[[Interix]], originally OpenNT by Softway Systems, Inc., is an upgrade and replacement for [[Microsoft POSIX subsystem]] that was purchased by [[Microsoft]] in 1999. It was initially marketed as a stand-alone add-on product and then later included it as a component in [[Windows Services for UNIX]] (SFU) and finally incorporated it as a component in [[Windows Server 2003 R2]] and later Windows OS releases under the name "Subsystem for UNIX-based Applications" (SUA); later made deprecated in 2012 (Windows 8){{cite web|url=https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh831568(v=ws.11)|title=Features Removed or Deprecated in Windows Server 2012|date=31 August 2016|website=[[Microsoft Docs]]}} and dropped in 2013 (2012 R2, 8.1). It enables full POSIX compliance for certain [[Microsoft Windows]] products.{{Citation needed|date=March 2011}} [166] => *[[Windows Subsystem for Linux]], also known as WSL, is a compatibility layer for running Linux binary executables natively on Windows 10 and 11 using a Linux image such as Ubuntu, Debian, or OpenSUSE among others, acting as an upgrade and replacement for Windows Services for UNIX. It was released in beta in April 2016. The first distribution available was Ubuntu. [167] => *[[UWIN]] from AT&T Research implements a POSIX layer on top of the Win32 APIs. [168] => *[[MKS Toolkit]], originally created for MS-DOS, is a software package produced and maintained by [[MKS Inc.]] that provides a [[Unix-like]] environment for scripting, connectivity and porting [[Unix]] and [[Linux]] software to both 32- and 64-bit [[Microsoft Windows]] systems. A subset of it was included in the first release of [[Windows Services for UNIX]] (SFU) in 1998.{{cite web|url=http://www.microsoft.com/ntserver/nts/exec/overview/sfu.asp|title=Windows NT Services for UNIX Add-On Pack|website=[[Microsoft]]|archive-url=https://web.archive.org/web/19990508011234/http://www.microsoft.com/ntserver/nts/exec/overview/sfu.asp|archive-date=8 May 1999}}{{cite press release|url=http://mks.com/press/981109a.htm|title=MKS Solves Enterprise Interoperability Challenges|archive-url=https://web.archive.org/web/19990428003638/http://mks.com/press/981109a.htm|archive-date=28 April 1999}} [169] => *[[Microsoft Windows library files#Runtime libraries|Windows C Runtime Library]] and [[Winsock|Windows Sockets API]] implement commonly used POSIX API functions for file, time, environment, and socket access,{{cite web |url=https://docs.microsoft.com/en-us/previous-versions/ms235384(v=vs.100) |title=Deprecated CRT Functions |date=15 October 2009 |access-date=23 July 2022 |website=[[Microsoft Docs]]}} although the support remains largely incomplete and not fully interoperable with POSIX-compliant implementations.{{cite web |url=https://docs.microsoft.com/en-us/windows/win32/winsock/porting-socket-applications-to-winsock?redirectedfrom=MSDN |title=Porting Socket Applications to Winsock |date=7 January 2021 |access-date=23 July 2022 |website=[[Microsoft Docs]]}}{{cite web|url=https://tangentsoft.net/wskfaq/articles/bsd-compatibility.html|title=Winsock Programmer's FAQ Articles: BSD Sockets Compatibility|date=31 August 2015 |access-date=8 October 2015 |publisher=Warren Young}}{{discuss|BSD sockets as "POSIX"}} [170] => [171] => ====POSIX for OS/2==== [172] => Mostly POSIX compliant environments for [[OS/2]]: [173] => * [[EMX (programming environment)|emx+gcc]] – largely POSIX compliant [174] => [175] => ====POSIX for DOS==== [176] => Partially POSIX compliant environments for [[DOS]] include: [177] => * [[EMX (programming environment)|emx+gcc]] – largely POSIX compliant [178] => * [[DJGPP]] – partially POSIX compliant [179] => * [[DR-DOS]] multitasking core via {{mono|[[EMM386]] /MULTI}} – a POSIX threads frontend API extension is available [180] => {{Anchor|Compliant via compatibility feature}} [181] => [182] => ====Compliant via compatibility layer==== [183] => [184] => The following are not officially certified as POSIX compatible, but they conform in large part to the standards by implementing POSIX support via some sort of compatibility feature (usually translation libraries, or a layer atop the kernel). Without these features, they are usually non-compliant. [185] => [186] => *[[AmigaOS]] (through the ixemul library or [[vbcc]]_PosixLib{{Cite web|url=http://aminet.net/package/dev/c/vbcc_PosixLib|title=Aminet - dev/C/Vbcc_PosixLib.lha}}) [187] => *[[eCos]] – POSIX is part of the standard distribution, and used by many applications. 'external links' section below has more information. [188] => *[[IBM i]] (through the [[IBM i#PASE|PASE]] compatibility layer){{cite web|title=Programming IBM PASE for i|url=https://www.ibm.com/docs/de/ssw_ibm_i_73/rzalf/rzalfpdf.pdf|website=ibm.com|publisher=IBM|date=2013|access-date=25 November 2021}} [189] => *[[MorphOS]] (through the built-in ixemul library) [190] => *[[OpenVMS]] (through optional POSIX package){{cite web|url=https://peren.com/fips151-2_peren_vpl.htm|title=FIPS 151-2 Conformance Validated Products List|publisher=Perennial Test Lab|access-date=14 August 2022}} [191] => *[[Plan 9 from Bell Labs]] APE - ANSI/POSIX Environment{{cite web|url=http://plan9.bell-labs.com/sys/doc/ape.html |title=APE — ANSI/POSIX Environment|publisher=Bell Labs|work=Plan 9 documents|archive-url=https://web.archive.org/web/20170601064807/http://plan9.bell-labs.com/sys/doc/ape.html|archive-date=1 June 2017}} [192] => *[[RIOT (operating system)|RIOT]] (through optional POSIX module) [193] => *[[Symbian|Symbian OS]] with [[PIPS]] (PIPS Is POSIX on Symbian) [194] => *[[VAXELN]] (partial support of 1003.1 and 1003.4 through the VAXELN POSIX runtime library){{cite manual|url=http://www.bitsavers.org/pdf/dec/vax/realtime/EK-RPTSS-TM-004_Real-Time_Products_Technical_Summary_Dec92.pdf|title=Realtime Products Technical Summary, Fifth Edition|publisher=[[Digital Equipment Corporation]]|date=December 1992|access-date=8 December 2021}} [195] => *[[Architecture of Windows NT|Windows NT kernel]] when using Microsoft [[Windows Services for UNIX|SFU]] 3.5 or [[Subsystem for UNIX-based Applications|SUA]] [196] => **[[Windows 2000|Windows 2000 Server or Professional with Service Pack 3 or later]]. To be POSIX compliant, one must activate optional features of Windows NT and Windows 2000 Server.{{cite web|url=http://www.microsoft.com/technet/archive/ntwrkstn/reskit/poscomp.mspx|title=Chapter 29 - POSIX Compatibility|work=MS Windows NT Workstation Resource Kit|publisher=Microsoft|archive-url=https://web.archive.org/web/20080115185233/http://www.microsoft.com/technet/archive/ntwrkstn/reskit/poscomp.mspx|archive-date=15 January 2008}} [197] => **[[Windows XP|Windows XP Professional with Service Pack 1 or later]] [198] => **[[Windows Server 2003]] [199] => **[[Windows Server 2008]] and Ultimate and Enterprise versions of [[Windows Vista]] [200] => **[[Windows Server 2008 R2]] and Ultimate and Enterprise versions of [[Windows 7]] [201] => **albeit deprecated, still available for [[Windows Server 2012]] and Enterprise version of [[Windows 8]] [202] => [203] => ==See also== [204] => * [[Single UNIX Specification]] [205] => * [[POSIX signal]] [206] => * [[POSIX Threads]] [207] => * [[C POSIX library]] [208] => * [[IBM Common User Access]] – User interface standard [209] => * [[Portable character set]], set of 103 characters which should be supported in any POSIX-compliant character set locale [210] => * [[Real-time operating system]] [211] => * [[Interix]] – a full-featured POSIX and Unix environment subsystem for Microsoft's Windows NT-based operating systems [212] => * [[TRON project]] – alternative OS standards to POSIX [213] => [214] => ==References== [215] => {{Reflist|30em}} [216] => [217] => ==External links== [218] => {{Commons category|POSIX}} [219] => * {{Cite web|url=https://pubs.opengroup.org/onlinepubs/9699919799/|publisher=The Open Group/IEEE|title=The Open Group Base Specifications Issue 7, 2018 edition IEEE Std 1003.1™-2017}} [220] => * {{Cite web|url=https://posix.opengroup.org|publisher=The Open Group/IEEE|title=POSIX Certification home}} [221] => [222] => {{Open Group standards}} [223] => {{IEEE standards}} [224] => {{ISO standards}} [225] => {{List of International Electrotechnical Commission standards}} [226] => {{Inter-process communication}} [227] => {{Authority control}} [228] => [229] => [[Category:POSIX| ]] [230] => [[Category:Application programming interfaces]] [231] => [[Category:Open Group standards]] [232] => [[Category:IEC standards]] [233] => [[Category:IEEE standards]] [234] => [[Category:ISO standards]] [] => )
good wiki

POSIX

POSIX, short for Portable Operating System Interface, is a family of standards that defines the interface between an operating system and applications. It was originally developed by the Institute of Electrical and Electronics Engineers (IEEE) in the late 1980s and is derived from the UNIX operating system.

More about us

About

It was originally developed by the Institute of Electrical and Electronics Engineers (IEEE) in the late 1980s and is derived from the UNIX operating system. POSIX encompasses a set of APIs for various functions such as file handling, process control, inter-process communication, and signal handling. These standards ensure that software written to comply with POSIX can run on multiple platforms, allowing for software portability and interoperability. POSIX-compliant operating systems include various versions of UNIX, Linux, and macOS. The Wikipedia page on POSIX provides detailed information about its history, design, components, implementations, and impact on the software industry.

Expert Team

Vivamus eget neque lacus. Pellentesque egauris ex.

Award winning agency

Lorem ipsum, dolor sit amet consectetur elitorceat .

10 Year Exp.

Pellen tesque eget, mauris lorem iupsum neque lacus.