4 puntos por GN⁺ 2024-10-16 | 1 comentarios | Compartir por WhatsApp
  • La versión más reciente del sistema operativo de Apple aparece oficialmente validada como la versión compatible más reciente con UNIX™ en la lista de Open Group, aunque quizá no sea exactamente lo que imaginas
    • macOS no usa código fuente de AT&T. "Unix" ya no significa eso desde que Novell adquirió UNIX de Bell Labs en 1993
  • Nota: OS X ya había sido certificado como UNIX desde hace 16 años

Lo que significa la certificación UNIX™

  • No tiene relación con el código. Así ha sido durante más de 30 años
  • La certificación UNIX™ ahora significa básicamente "compatibilidad con POSIX"
  • POSIX es una especificación de compatibilidad y un conjunto de pruebas: las herramientas correctas deben estar en los lugares correctos
  • El sistema operativo de mainframe z/OS de IBM también aparece en esa lista

Definición de un sistema operativo similar a Unix

  • Debe verse como Unix, funcionar como Unix y permitir portar programas escritos para Unix sin modificaciones importantes
  • El núcleo de macOS cumple suficientemente con esto. Usa el kernel XNU y un espacio de usuario derivado en gran parte de código BSD
  • XNU se basa en el kernel Mach e incluye además un gran "servidor Unix" dentro del kernel derivado de código BSD
  • La mayor parte del espacio de usuario es de código abierto y proviene de BSD
  • La capa GUI y las partes visibles que le dan su apariencia atractiva son propietarias

El proyecto Darwin de Apple

  • En el pasado, Apple ofreció las capas inferiores del sistema operativo como una versión independiente mediante un proyecto llamado Darwin
  • Hubo varias distribuciones, como OpenDarwin y PureDarwin, que intentaron completarlo usando componentes de otros sistemas operativos FOSS
  • El proyecto NextBSD avanzó en la dirección opuesta: mantuvo el kernel de FreeBSD, pero lo modificó para poder usar código de nivel superior de Apple como launchd

La evolución de macOS

  • A fines de 1996, Apple anunció la adquisición de NeXT Computer y en octubre de 1997 lanzó una vista previa de Rhapsody, su sistema operativo de próxima generación
  • Rhapsody era casi idéntico a NeXTstep 5
  • En 1999 se convirtió en Mac OS X Server 1.0, que luego evolucionó a Mac OS X 1.0 en 2000
  • Desde 10.8 Mountain Lion se simplificó a OS X, y desde 10.12 Sierra a macOS
  • Aun así, sigue siendo un sistema operativo reconociblemente similar a NeXTstep 0.8, demostrado por Steve Jobs en 1988

Opinión de GN⁺

  • Que macOS haya recibido certificación UNIX no parece tener gran relevancia. Para la mayoría de las personas, no tendrá un impacto práctico
  • Sin embargo, vale la pena destacar que Darwin, la base de macOS, es de código abierto. Esto permite a los desarrolladores entender mejor cómo funciona internamente macOS
  • La compatibilidad con POSIX sigue siendo importante para asegurar portabilidad entre sistemas operativos, pero parece que cumplir con los estándares más recientes ya no es una prioridad
  • Al observar la evolución de NeXTSTEP a macOS, se puede ver cuán importantes han sido la innovación en la interfaz de usuario y la experiencia del desarrollador para el éxito del sistema operativo
  • En última instancia, más que la certificación UNIX en sí, parece importar que macOS sea amigable para desarrolladores, fácil de usar y que tenga un ecosistema sólido. Aun así, la certificación UNIX sí tiene un valor simbólico al mostrar la solidez de la base de macOS

1 comentarios

 
GN⁺ 2024-10-16
Comentarios en Hacker News
  • La certificación de Sequoia no es algo nuevo. OS X ha estado certificado por The Open Group desde hace mucho tiempo
  • Hay dudas sobre por qué este tipo de certificación es importante
  • macOS está certificado como "Unix", pero los BSD modernos no lo están. Surgieron de la misma base de código, así que genera curiosidad el porqué
  • Importa si se puede llamar a poll() en dispositivos de terminal
    • Esta función ha faltado desde los primeros días de Mac OS X
    • El software multiplataforma siempre debe soportar tanto select() como poll()
    • En Mac OS X hay que usar select(), y en otros sistemas poll()
    • Sería bueno poder estandarizar todo con poll()
  • Comparación entre las páginas del manual de macOS y los requisitos de certificación
    • La llamada al sistema poll() de macOS no soporta dispositivos
    • Los requisitos de certificación exigen que las funciones poll() y ppoll() soporten varios tipos de dispositivos
  • Hay dudas sobre si este bug se corrigió en macOS 15 o si la certificación no significa nada
  • Dejando de lado la certificación, Linux y macOS son muy parecidos
    • Hay diferencias como xdg-open y open, systemd y launchd, y sed -i frente a sed -i ''
  • No se entiende por qué sigue recibiendo certificación si los semáforos POSIX no funcionan en macOS
  • Hay curiosidad sobre por qué Apple busca obtener este tipo de certificación
    • No parece que la intención sea fomentar más el uso de servidores macOS
  • Hay curiosidad sobre si Apple tiene algún nuevo plan relacionado con servidores
  • Se espera que Apple impulse cerrar las grandes brechas de compatibilidad Unix, especialmente implementando pipe2