stringtranslate.com

POSIX

La interfaz del sistema operativo portátil ( POSIX ; IPA : /ˈpɒz.ɪks/[1 ] ) es una familia de estándares especificados por la IEEE Computer Society para mantener la compatibilidad entre sistemas operativos . [1] POSIX define las interfaces de programación de aplicaciones (API) tanto del sistema como del usuario, junto con shells de línea de comandos e interfaces de utilidades, para la compatibilidad del software (portabilidad) con variantes de Unix y otros sistemas operativos. [1] [2] POSIX también es una marca comercial de IEEE. [1] POSIX está destinado a ser utilizado tanto por desarrolladores de aplicaciones como de sistemas. [3]

Nombre

Originalmente, el nombre "POSIX" se refería a IEEE Std 1003.1-1988, publicado en 1988. La familia de estándares POSIX se designa formalmente como IEEE 1003 y el número de estándar ISO/IEC es ISO / IEC 9945.

Los estándares surgieron de un proyecto que comenzó en 1984 basándose en el trabajo de actividades relacionadas en la asociación /usr/group . [4] Richard Stallman sugirió el nombre POSIX al IEEE en lugar del antiguo IEEE-IX . El comité lo encontró más fácil de pronunciar y recordar y, por lo tanto, lo adoptó. [5]

Descripción general

Se seleccionó Unix como base para una interfaz de sistema estándar, en parte porque era "neutral respecto al fabricante". Sin embargo, existían varias versiones importantes de Unix, por lo que era necesario desarrollar un sistema de denominador común. Las especificaciones POSIX para sistemas operativos tipo Unix originalmente consistían en un solo documento para la interfaz de programación central , pero eventualmente crecieron a 19 documentos separados (POSIX.1, POSIX.2, etc.). [6] La línea de comandos de usuario estandarizada y la interfaz de secuencias de comandos se basaron en el shell UNIX System V. [7] También se estandarizaron muchos programas, servicios y utilidades a nivel de usuario (incluidos awk , echo , ed ), junto con los servicios requeridos a nivel de programa (incluidas E/S básicas : archivos , terminales y redes ). POSIX también define una API de biblioteca de subprocesos estándar que es compatible con la mayoría de los sistemas operativos modernos. En 2008, la mayoría de las partes de POSIX se combinaron en un único estándar (IEEE Std 1003.1-2008 , también conocido como POSIX.1-2008).

A partir de 2014 , la documentación POSIX se divide en dos partes:

El desarrollo del estándar POSIX se lleva a cabo en el Grupo Austin (un grupo de trabajo conjunto entre IEEE, The Open Group e ISO/IEC JTC 1/SC 22 /WG 15).

Versiones

Piezas anteriores a 1997

Antes de 1997, POSIX constaba de varios estándares:

Versiones posteriores a 1997

Después de 1997, el Grupo Austin desarrolló las revisiones POSIX. Las especificaciones se conocen con el nombre de Especificación única UNIX , antes de convertirse en un estándar POSIX cuando la ISO las aprueba formalmente.

POSIX.1-2001 (con dos TC)

POSIX.1-2001 (o IEEE Std 1003.1-2001) equivale a la especificación única de UNIX, versión 3 menos X/Open Curses . [10]

Esta norma consistió en:

IEEE Std 1003.1-2004 implicó una actualización menor de POSIX.1-2001. Incorporó dos actualizaciones menores o erratas denominadas Corrigenda Técnica (CT). [11] Sus contenidos están disponibles en la web. [12]

POSIX.1-2008 (con dos CT)

Las especificaciones básicas, edición 7 (o IEEE Std 1003.1-2008 , edición 2016) son similares a la versión actual de 2017 (a partir del 22 de julio de 2018). [13] [14]

Esta norma consta de:

POSIX.1-2017

IEEE Std 1003.1-2017 (Revisión de IEEE Std 1003.1-2008): estándar IEEE para tecnología de la información: especificaciones básicas de interfaz de sistema operativo portátil (POSIX(R)), edición 7, está disponible en The Open Group o IEEE y, a partir de 22 de julio de 2018, la norma vigente. Es técnicamente idéntico a POSIX.1-2008 con los Corrigenda Técnicos 1 y 2 aplicados. Es posible que todavía esté disponible una copia gratuita en línea. [13]

Controversias

Bloques de 512 frente a 1024 bytes

POSIX exige tamaños de bloque predeterminados de 512 bytes para las utilidades df y du , lo que refleja el tamaño típico de los bloques en los discos. Cuando Richard Stallman y el equipo GNU estaban implementando POSIX para el sistema operativo GNU , se opusieron a esto con el argumento de que la mayoría de la gente piensa en términos de bloques de 1024 bytes (o 1 KiB ). La variable de entorno POSIX_ME_HARDER se introdujo para permitir al usuario forzar el comportamiento compatible con los estándares. [15] El nombre de la variable se cambió posteriormente a POSIXLY_CORRECT . [16] Esta variable ahora también se utiliza para otras peculiaridades de comportamiento.

Sistemas operativos orientados a POSIX

Dependiendo del grado de cumplimiento de los estándares, se pueden clasificar los sistemas operativos como total o parcialmente compatibles con POSIX.

Certificado POSIX

Se ha certificado que las versiones actuales de los siguientes sistemas operativos cumplen con uno o más de los diversos estándares POSIX. Esto significa que pasaron las pruebas de conformidad automatizadas [17] y su certificación no ha caducado y el sistema operativo no ha sido descontinuado. [18] [19]

Anteriormente certificado POSIX

Algunas versiones de los siguientes sistemas operativos han sido certificadas para cumplir con uno o más de los diversos estándares POSIX. Esto significa que pasaron las pruebas de conformidad automatizadas. La certificación ha caducado y algunos de los sistemas operativos han sido descontinuados. [18]

Mayormente compatible con POSIX

Los siguientes no están certificados como compatibles con POSIX pero cumplen en gran medida:

POSIX para Microsoft Windows

POSIX para OS/2

Entornos principalmente compatibles con POSIX para OS/2 :

POSIX para DOS

Los entornos parcialmente compatibles con POSIX para DOS incluyen:

Cumple a través de la capa de compatibilidad

Los siguientes no están certificados oficialmente como compatibles con POSIX, pero se ajustan en gran medida a los estándares al implementar soporte POSIX a través de algún tipo de característica de compatibilidad (generalmente bibliotecas de traducción o una capa encima del kernel). Sin estas características, normalmente no cumplen con las normas.

Ver también

Referencias

  1. ^ abcd "Preguntas frecuentes sobre POSIX.1". El grupo abierto. 13 de junio de 2020 . Consultado el 20 de febrero de 2023 .
  2. ^ "P1003.1 - Estándar para tecnología de la información - Especificaciones básicas de la interfaz del sistema operativo portátil (POSIX (TM)), edición 8". Asociación de Estándares IEEE .
  3. ^ "Introducción". Especificaciones básicas de Open Group Número 7, edición de 2018 . Consultado el 22 de julio de 2021 .
  4. ^ "JimIsaak - Impacto POSIX". sitios.google.com . Consultado el 15 de septiembre de 2022 .
  5. ^ "El origen del nombre POSIX". 2011 . Consultado el 28 de septiembre de 2013 .
  6. ^ Estado PASC (incluido POSIX) (Reporte). Sociedad de Computación IEEE . 4 de diciembre de 2003 . Consultado el 1 de marzo de 2015 .
  7. ^ "Lenguaje de comandos de Shell: especificaciones básicas de Open Group, edición 7, edición de 2013" . Consultado el 28 de abril de 2020 .
  8. ^ "Suites de pruebas VSX-PCTS2003". El grupo abierto.
  9. ^ "libre(3LIB)". docs.oracle.com . Sección 3 de las páginas de manual: Interfaces y encabezados de biblioteca. Corporación Oráculo. 4 de agosto de 1998 . Consultado el 18 de febrero de 2016 . librt, libposix4- Biblioteca POSIX.1b Realtime Extensions [...] librt es el nombre preferido para esta biblioteca. El nombre libposix4 se mantiene por compatibilidad con versiones anteriores y debe evitarse. Las funciones de esta biblioteca proporcionan la mayoría de las interfaces especificadas por POSIX.1b Realtime Extension.
  10. ^ "La especificación única de UNIX, versión 3: descripción general". unix.org .
  11. ^ "IEEE Std 1003.1" (edición de 2004). Unix.org . Consultado el 26 de julio de 2009 .
  12. ^ "IEEE Std 1003.1" (edición de 2004). El grupo abierto..
  13. ^ ab "Especificaciones básicas, número 7, edición de 2016". El grupo abierto . Consultado el 18 de diciembre de 2014 .
  14. ^ "El Grupo de Revisión de Normas Comunes de Austin". El grupo abierto . Consultado el 1 de marzo de 2016 .
  15. ^ Stallman, Richard (28 de agosto de 1991). "La democracia triunfa en las unidades de disco". Grupo de noticias : gnu.announce. Usenet:  [email protected] – a través de Grupos de Google.
  16. ^ "Estándares de codificación GNU". ÑU.
  17. ^ "POSIX certificado por IEEE y The Open Group - Guía del programa". Sección 2, Cómo lograr la certificación . Consultado el 22 de enero de 2022 .
  18. ^ ab "POSIX certificado por IEEE y The Open Group - Guía del programa". Sección 4, Renovaciones y actualizaciones de productos certificados . Consultado el 22 de enero de 2022 .
  19. ^ "Productos certificados por empresa". El grupo abierto. y nd . Consultado el 22 de enero de 2022 .
  20. ^ ab "IBM". El grupo abierto . Consultado el 23 de enero de 2022 .
  21. ^ "Hewlett-Packard". El grupo abierto . Consultado el 26 de enero de 2014 .
  22. ^ ab "Registro de certificación POSIX". get.posixcertified.ieee.org . Consultado el 23 de enero de 2022 .
  23. ^ "The Open Brand - Registro de productos certificados". Registro de Productos de Marca Abierta . El grupo abierto . Consultado el 20 de mayo de 2015 .
  24. ^ "Apple Inc". Registro de Productos de Marca Abierta . El grupo abierto . Consultado el 20 de mayo de 2015 .
  25. ^ "SCO OpenServer versión 5". El grupo abierto. 3 de mayo de 1995 . Consultado el 24 de diciembre de 2021 .
  26. ^ "UnixWare ® 7.1.3 y posteriores". El grupo abierto. 16 de mayo de 2003 . Consultado el 24 de diciembre de 2021 .
  27. ^ "Tecnología Co., Ltd de Huawei". El grupo abierto . Consultado el 26 de mayo de 2017 .
  28. ^ "Inspur Co., Ltd". El grupo abierto . Consultado el 26 de mayo de 2017 .
  29. ^ "Silicon Graphics, Inc". El grupo abierto . Consultado el 26 de enero de 2014 .
  30. ^ "The Open Brand - Registro de productos certificados". Grupo Abierto . 23 de julio de 2003. Archivado desde el original el 2 de agosto de 2003 . Consultado el 23 de enero de 2022 .
  31. ^ "QNX logra una nueva certificación POSIX" (Presione soltar). QNX. 8 de abril de 2008 . Consultado el 16 de enero de 2016 .
  32. ^ "Corporación Oracle". El grupo abierto. Archivado desde el original el 12 de julio de 2017 . Consultado el 26 de enero de 2014 .
  33. ^ "Hewlett-Packard". El grupo abierto. Archivado desde el original el 9 de julio de 2014 . Consultado el 26 de enero de 2014 .
  34. ^ Schweikhardt, Jens. "Cumplimiento de la utilidad FreeBSD POSIX 2001". FreeBSD.
  35. ^ Mark Halper (7 de noviembre de 1994). "Las ventas de HP 3000 toman el mercado por sorpresa". Mundo de la informática . vol. 28, núm. 4. Empresa IDG.
  36. ^ Solter, Nicolás A.; Jelinek, Jerry; Minero, David (21 de marzo de 2011). Biblia OpenSolaris. John Wiley e hijos. ISBN 9781118080313.
  37. ^ Lamie, Bill; Taubinger, Rafael (15 de junio de 2023). "RTOS con API pthreads POSIX estándar: un complemento para Linux integrado". Embedded.com . Consultado el 13 de septiembre de 2023 .
  38. ^ "OpenVOS POSIX.1: Guía de conformidad". Tecnologías de estado . Consultado el 26 de noviembre de 2021 .
  39. ^ Documento de conformidad de ULTRIX POSIX (PDF) . Digital. Junio ​​de 1990 . Consultado el 13 de diciembre de 2021 .
  40. ^ "Soporte POSIX". Documentación de Zephyr . Consultado el 7 de marzo de 2023 .
  41. ^ Rowe, Robin (8 de septiembre de 2022). "libunista". Github . Consultado el 18 de febrero de 2023 . Si desea crear código C++ de base de código única para ejecutar en Windows, Linux y MacOS, necesita esto para Windows.
  42. ^ "Funciones eliminadas o obsoletas en Windows Server 2012". Documentos de Microsoft . 31 de agosto de 2016.
  43. ^ "Paquete complementario de servicios de Windows NT para UNIX". Microsoft . Archivado desde el original el 8 de mayo de 1999.
  44. ^ "MKS resuelve los desafíos de interoperabilidad empresarial" (Presione soltar). Archivado desde el original el 28 de abril de 1999.
  45. ^ "Funciones CRT obsoletas". Documentos de Microsoft . 15 de octubre de 2009 . Consultado el 23 de julio de 2022 .
  46. ^ "Transferencia de aplicaciones de socket a Winsock". Documentos de Microsoft . 7 de enero de 2021 . Consultado el 23 de julio de 2022 .
  47. ^ "Artículos de preguntas frecuentes del programador de Winsock: compatibilidad de sockets BSD". Warren joven. 31 de agosto de 2015 . Consultado el 8 de octubre de 2015 .
  48. ^ "Aminet - dev/C/Vbcc_PosixLib.lha".
  49. ^ "Programación de IBM PASE para i" (PDF) . ibm.com . IBM. 2013 . Consultado el 25 de noviembre de 2021 .
  50. ^ "Lista de productos validados de conformidad con FIPS 151-2". Laboratorio de pruebas perenne . Consultado el 14 de agosto de 2022 .
  51. ^ "APE - Entorno ANSI/POSIX". Plan 9 documentos . Laboratorios Bell. Archivado desde el original el 1 de junio de 2017.
  52. ^ Resumen técnico de productos en tiempo real, quinta edición (PDF) . Corporación de equipos digitales . Diciembre de 1992 . Consultado el 8 de diciembre de 2021 .
  53. ^ "Capítulo 29 - Compatibilidad POSIX". Kit de recursos para estaciones de trabajo MS Windows NT . Microsoft. Archivado desde el original el 15 de enero de 2008.

enlaces externos