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]

YhteensopivuusMuokkaa

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]

Useita ohjelmistoja on kehitetty POSIX- tai Unix-yhteensopivuuden tuomiseen erilaisille alustoille:

OsatMuokkaa

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ösMuokkaa

LähteetMuokkaa

  1. IEEE 1003.1-2001 - IEEE Standard for IEEE Information Technology - Portable Operating System Interface (POSIX(R)) IEEE Standard Association. Viitattu 5.7.2019. (englanniksi)
  2. ISO/IEC 9945-1:2002 ISO. Viitattu 5.7.2019. (englanniksi)
  3. a b c d e f POSIX 1003.1 Frequently Asked Questions (FAQ Version 1.16) Open Group. Viitattu 8.9.2019. (englanniksi)
  4. a b Stephen R. Walli: The POSIX Family of Standards (PDF) maaliskuu 1995. StandardView. Viitattu 12.9.2019. (englanniksi)
  5. Standards: An Overview Of the Single UNIX Specification Version 3 30.1.2002. The Open Group. Viitattu 11.6.2019. (englanniksi)
  6. A little history QNX. Viitattu 10.9.2019. (englanniksi) 
  7. System V Definition linfo.org. Viitattu 10.9.2019. (englanniksi)
  8. DevynCJohnson: SUS, POSIX, and Other Standards dcjtech.info. 26.2.2017. Viitattu 8.7.2019. (englanniksi)
  9. OS X for UNIX Users (PDF) images.apple.com. heinäkuu 2011. Viitattu 30.11.2020. (englanniksi) 
  10. POSIX ibm.com. Viitattu 1.12.2020. (englanniksi) 
  11. OpenVMS beginner's FAQ alpha.mike-r.com. Viitattu 5.7.2019. (englanniksi)
  12. 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) 
  13. Kernel Enhancements for Windows XPInternet Archive
  14. Cygwin cygwin.com. Viitattu 1.12.2020. (englanniksi) 
  15. The EMX Project edm2.com. Viitattu 1.12.2020. (englanniksi) 
  16. Porting software to AmigaOS (unconventional style) sandervanderburg.blogspot.com. 17.1.2012. Viitattu 1.12.2020. (englanniksi) 
  17. https://github.com/bebbo/ixemul

Aiheesta muuallaMuokkaa

Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.