POSIX

käyttöjärjestelmästandardi

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 määrittää Unix-yhteensopivan käyttöjärjestelmän järjestelmäkutsujen rajanpinnan ja lisäksi mm. käyttäjätason ohjelmia ja niiden toimintaa. Nimen POSIX ehdotti Richard Stallman.[3]

Single UNIX Specification perustuu POSIX-määrittelyyn mutta laajentaa ja päivittää sitä.[5]

Yhteensopivuus

muokkaa

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 NT toteutti standardista käyttöjärjestelmän rajapinnan[13] Windows 2000:een saakka: POSIX-tuki poistettiin Windows XP:ssä ja Windows Server 2003:ssa.[14] Haiku sisältää POSIX-yhteensopivuuskerroksen.[15]

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

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]

POSIX.1-2017 (IEEE Std 1003.1-2017) on viimeisin päivitetty versio standardista.[20]

Katso myös

muokkaa

Lähteet

muokkaa
  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. https://blog.ret2.io/2017/09/20/subsystem-posix/
  14. Kernel Enhancements for Windows XP – Internet Archive
  15. Alexander Tolstoy: A BeOS-inspired desktop operating system linux-magazine.com. 2018. Viitattu 20.2.2023. (englanniksi)
  16. Cygwin cygwin.com. Viitattu 1.12.2020. (englanniksi) 
  17. The EMX Project edm2.com. Viitattu 1.12.2020. (englanniksi) 
  18. Porting software to AmigaOS (unconventional style) sandervanderburg.blogspot.com. 17.1.2012. Viitattu 1.12.2020. (englanniksi) 
  19. https://github.com/bebbo/ixemul
  20. The Open Group Base Specifications Issue 7, 2018 edition pubs.opengroup.org. Viitattu 20.4.2024. (englanniksi)

Aiheesta muualla

muokkaa