4 points par GN⁺ 2024-10-16 | 1 commentaires | Partager sur WhatsApp
  • La dernière version publiée de l’OS d’Apple est désormais la plus récente version compatible UNIX™ officiellement validée dans la liste de l’Open Group, mais cela ne signifie peut-être pas ce que vous imaginez
    • macOS n’utilise pas le code source d’AT&T. « Unix » n’a plus ce sens depuis que Novell a racheté UNIX à Bell Labs en 1993
  • À noter : OS X était déjà certifié UNIX depuis 16 ans

Ce que signifie la certification UNIX™

  • Cela n’a rien à voir avec le code, et ce depuis plus de 30 ans
  • La certification UNIX™ signifie désormais « compatible POSIX »
  • POSIX est une spécification de compatibilité et un ensemble de tests : les bons outils doivent se trouver au bon endroit
  • Le système d’exploitation mainframe z/OS d’IBM figure aussi dans cette liste

Définition d’un OS de type Unix

  • Il doit ressembler à Unix, fonctionner comme Unix et permettre de porter des programmes écrits pour Unix sans modifications majeures
  • Le cœur de macOS répond largement à ces critères. Il utilise le noyau XNU et un espace utilisateur principalement dérivé de code BSD
  • XNU est basé sur le noyau Mach et inclut également un important « serveur Unix » dans le noyau, dérivé de code BSD
  • La majeure partie de l’espace utilisateur est open source et issue de BSD
  • La couche GUI et les parties visibles qui rendent le tout esthétique restent propriétaires

Le projet Darwin d’Apple

  • Apple proposait autrefois les couches basses de son OS comme version autonome via un projet appelé Darwin
  • Plusieurs distributions ont essayé de le compléter en utilisant des éléments d’autres OS FOSS, comme OpenDarwin et PureDarwin
  • Le projet NextBSD suivait l’approche inverse : conserver le noyau FreeBSD tout en l’adaptant pour utiliser du code Apple de plus haut niveau, comme launchd

L’évolution de macOS

  • Fin 1996, Apple a annoncé le rachat de NeXT Computer, puis a publié en octobre 1997 une preview de son OS de nouvelle génération, Rhapsody
  • Rhapsody était presque identique à NeXTstep 5
  • En 1999, il est devenu Mac OS X Server 1.0, avant d’évoluer en Mac OS X 1.0 en 2000
  • À partir de 10.8 Mountain Lion, le nom a été simplifié en OS X, puis en macOS à partir de 10.12 Sierra
  • Pourtant, l’OS reste encore reconnaissable comme proche de NeXTstep 0.8, présenté par Steve Jobs en 1988

L’avis de GN⁺

  • Le fait que macOS ait obtenu la certification UNIX ne semble pas avoir une grande portée. Pour la plupart des gens, cela n’aura pas d’impact concret
  • En revanche, le fait que Darwin, la base de macOS, soit open source mérite l’attention. Cela permet aux développeurs de mieux comprendre le fonctionnement interne de macOS
  • La compatibilité POSIX continue de jouer un rôle important pour assurer la portabilité entre systèmes, mais le respect des standards les plus récents ne semble plus être une priorité
  • L’évolution de NeXTSTEP vers macOS montre à quel point l’innovation dans l’interface utilisateur et l’expérience développeur est cruciale pour le succès d’un système d’exploitation
  • En fin de compte, plus que la certification UNIX elle-même, ce qui compte est que macOS soit convivial pour les développeurs, facile à utiliser et doté d’un écosystème puissant. Mais la certification UNIX reste un symbole de la solidité de ses fondations

1 commentaires

 
GN⁺ 2024-10-16
Avis sur Hacker News
  • La certification de Sequoia n’a rien de nouveau. OS X est certifié par l’Open Group depuis longtemps
  • Certains se demandent pourquoi ce type de certification est important
  • macOS est certifié « Unix », mais les BSD modernes ne le sont pas. Ils viennent pourtant de la même base de code, ce qui intrigue
  • La possibilité d’appeler poll() sur des périphériques de terminal est un point important
    • Cette fonctionnalité faisait défaut depuis les débuts de Mac OS X
    • Les logiciels multiplateformes doivent toujours prendre en charge à la fois select() et poll()
    • Il faut utiliser select() sur Mac OS X, et poll() sur les autres systèmes
    • Ce serait bien de pouvoir standardiser sur poll()
  • Comparaison entre les pages de manuel de macOS et les exigences de certification
    • L’appel système poll() de macOS ne prend pas en charge les périphériques
    • Les exigences de certification indiquent que les fonctions poll() et ppoll() doivent prendre en charge divers périphériques
  • Certains se demandent si ce bug a été corrigé dans macOS 15, ou si la certification n’a en fait aucune réelle signification
  • Indépendamment de la certification, Linux et macOS sont très similaires
    • Il existe des différences comme xdg-open et open, systemd et launchd, ou sed -i et sed -i ''
  • Certains ne comprennent pas pourquoi macOS continue d’être certifié alors que les sémaphores POSIX n’y fonctionnent pas
  • Certains se demandent pourquoi Apple cherche à obtenir ce type de certification
    • Il ne semble pas que l’objectif soit de pousser davantage l’usage de serveurs macOS
  • Certains se demandent si Apple prépare de nouveaux projets autour des serveurs
  • Certains espèrent qu’Apple sera poussé à combler les grandes lacunes de compatibilité Unix, notamment en implémentant pipe2