POSIX
POSIX (engl. Portable Operating System Interface) on käyttöjärjestelmille kehitetty standardi-/määrittelykokonaisuus. Standardin IEEE-versio on IEEE 1003.1-2001, jonka kansainvälinen ISO-standardi on ISO/IEC 9945-1.[1][2]
Nimeä "POSIX" on käytetty aluksi vain IEEE-standardin IEEE Std 1003.1-1988 synonyyminä, jonka jälkeen ilmeni suositellumpi termi POSIX.1.[3] IEEE POSIX 1003.2 (POSIX.2) on ollut erillinen standardi, joka on sittemmin liitetty POSIX 1003.1 -standardiin.[3] Standardi ratifioitiin vuonna 1988 ja laajennettiin vuonna 1990 kansainväliseksi ISO-standardiksi.[4] Yhdysvaltalaisella NIST:llä oli myös FIPS Pub 151-1 -määrittely.[4]
POSIX sai alkunsa noin vuonna 1985 alkaneesta projektista, jossa tarkoituksena oli yhtenäistää Unix-käyttöjärjestelmiä ja niiden ohjelmistoja käyttäjien ja ohjelmoijien kannalta helpompaan suuntaan. Standardi kattaa mm. käyttäjätason ohjelmia, niiden komentojen toimintaa ja käyttöjärjestelmän järjestelmäkutsuja. Nimen POSIX ehdotti Richard Stallman.[3]
Single UNIX Specification perustuu POSIX-määrittelyyn mutta laajentaa ja päivittää sitä.[5]
Yhteensopivuus
Vaikka POSIXia käytetään lähinnä Unix-johdannaisissa ja Unixin kaltaisissa käyttöjärjestelmissä, myös muut käyttöjärjestelmät voivat toteuttaa standardin.
QNX:ssä on POSIX-tuki.[6][7] Linux-jakeluille tarkoitettu Linux Standard Base -standardi sisältää POSIX-tuen.[8] OS X on POSIX-yhteensopiva.[9]
z/OS sisältää POSIX-yhteensopivan tilan.[10] OpenVMS-järjestelmässä on POSIX-alijärjestelmä.[11] VxWorks on POSIX 1003.13-2003 -standardin mukainen.[12] Windows toteutti osan standardista Windows 2000:een saakka: POSIX-tuki poistettiin Windows XP:ssä ja Windows Server 2003:ssa.[13] Haiku sisältää POSIX-yhteensopivuuskerroksen.[14]
Useita ohjelmistoja on kehitetty POSIX- tai Unix-yhteensopivuuden tuomiseen erilaisille alustoille:
Osat
Ennen vuotta 2001 standardi koostui useista osista:[3]
- POSIX.1: Core Services (sisältää standardin ANSI C) (IEEE Std 1003.1-1988)
- IEEE Std 1003.1b-1993 Realtime Extension
- IEEE Std 1003.1c-1995 Threads
- IEEE Std 1003.1d-1999 Additional Realtime Extensions
- IEEE Std 1003.1j-2000 Advanced Realtime Extensions
- IEEE Std 1003.1q-2000 Tracing
- POSIX.2: Shell and Utilities (IEEE Std 1003.2-1992)
Useat osat on myöhemmin liitetty osaksi IEEE Std 1003.1-2001 standardia.[3] Standardia on myöhemmin päivitetty ISO C -standardin mukaiseksi, IPv6-tuelle ja muita muutoksia.[3]
Katso myös
- FIPS-151
Lähteet
- IEEE 1003.1-2001 - IEEE Standard for IEEE Information Technology - Portable Operating System Interface (POSIX(R)) IEEE Standard Association. Viitattu 5.7.2019. (englanniksi)
- ISO/IEC 9945-1:2002 ISO. Viitattu 5.7.2019. (englanniksi)
- POSIX 1003.1 Frequently Asked Questions (FAQ Version 1.16) Open Group. Viitattu 8.9.2019. (englanniksi)
- Stephen R. Walli: The POSIX Family of Standards (PDF) maaliskuu 1995. StandardView. Viitattu 12.9.2019. (englanniksi)
- Standards: An Overview Of the Single UNIX Specification Version 3 30.1.2002. The Open Group. Viitattu 11.6.2019. (englanniksi)
- A little history QNX. Viitattu 10.9.2019. (englanniksi)
- System V Definition linfo.org. Viitattu 10.9.2019. (englanniksi)
- DevynCJohnson: SUS, POSIX, and Other Standards dcjtech.info. 26.2.2017. Viitattu 8.7.2019. (englanniksi)
- OS X for UNIX Users (PDF) images.apple.com. heinäkuu 2011. Viitattu 30.11.2020. (englanniksi)
- POSIX ibm.com. Viitattu 1.12.2020. (englanniksi)
- OpenVMS beginner's FAQ alpha.mike-r.com. Viitattu 5.7.2019. (englanniksi)
- Wind River’s VxWorks Becomes the First Operating System to Achieve Certified Conformance to POSIX PSE52 Real-Time Controller Profile Standard windriver.com. 27.11.2006. Viitattu 30.11.2020. (englanniksi)
- Kernel Enhancements for Windows XP – Internet Archive
- Alexander Tolstoy: A BeOS-inspired desktop operating system linux-magazine.com. 2018. Viitattu 20.2.2023. (englanniksi)
- Cygwin cygwin.com. Viitattu 1.12.2020. (englanniksi)
- The EMX Project edm2.com. Viitattu 1.12.2020. (englanniksi)
- Porting software to AmigaOS (unconventional style) sandervanderburg.blogspot.com. 17.1.2012. Viitattu 1.12.2020. (englanniksi)
- https://github.com/bebbo/ixemul
Aiheesta muualla
- IEEE, POSIX-standardi
- POSIX.1-2017 The Open Group -sivustolla (englanniksi)
- The Use of POSIX in Real-time Systems, Assessing its Effectiveness and Performance (PDF) (englanniksi)