Darwin possède-t-il des fonctionnalités qui lui sont spécifiques? Est-ce que d'autres Unixe ont des fonctionnalités qui manquent à Darwin?
OS X est le seul système d'exploitation restant basé sur le micro-noyau Mach qui est également toujours commercialement pertinent. Il y a quelques projets de recherche en cours et des systèmes d'exploitation obsolètes qui sont sans aucun doute encore utilisés dans les paramètres de production sur les vieilles machines, mais rien que vous pouvez sortir et acheter sur une nouvelle machine aujourd'hui.
OS X possède l'assortiment habituel d'incompatibilités des fonctionnalités du noyau que tout * ix possède. Le plus grand que je le plus récemment dû travailler est autour d' un manque de files d' attente de messages système V . ( msgget(2)
et amis.) Nous avons dû remplacer notre code de file d'attente de messages - qui a été écrit pour une "vraie" variante System V et ensuite porté sur Linux - par TCP / IP pour que notre logiciel fonctionne sous OS X. Pour notre application, le les différences entre ces deux méthodes IPC importaient au moment où nous avons fait le choix d'utiliser des files d'attente de messages, mais en raison de modifications architecturales ultérieures, il n'a pas été très difficile de passer à TCP / IP.
En fin de compte, Darwin n'est-il pas simplement une fine couche BSD au-dessus de Mach 2.0?
J'ai utilisé NeXTStep, je ne sais pas dans quelle mesure MacOSX actuel s'écarte de NeXTStep, mais ...
Mach 2.0 offrait un ensemble différent d'abstractions au niveau du noyau:
Les utilisateurs originaux de CMU Mach utilisaient ces abstractions pour émuler les processus BSD Unix, les processus MS-DOS et dans un fabuleux ensemble de tâches VMS. Chaque tâche VMS a pris 2 tâches Mach, plus de nombreux threads. Quelqu'un avait l'habitude de vendre un émulateur Mac OS (pré-OSX) pour NeXTStep qui utilisait à bon escient les pagers de l'espace utilisateur.
Ancienne page de publications CMU Mach: http://www.cs.cmu.edu/afs/cs/project/mach/public/www/doc/documents_top.html
Le document VMS-on-Mach: http://www.sture.ch/vms/Usenix_VMS-on-Mach.pdf
Ce n'est pas tout à fait une réponse mais, DTrace est un outil de débogage système génial qui existe pour Solaris, Darwin / OS X et * BSD, mais pas Linux.
la source
Darwin dispose d'un ensemble relativement petit de types de systèmes de fichiers pris en charge. Mis à part les spéciaux comme devfs et les types de réseaux comme webdav, la liste est la suivante:
De cette liste, seul UFS a été conçu pour Unix, bien que HFS + ait été mis à niveau pour prendre en charge toutes les fonctionnalités Unix nécessaires. Depuis Mac OS X 10.6, UFS ne peut pas être utilisé pour la partition racine, bien que cette restriction ne s'applique probablement pas à Darwin. Par défaut, HFS + ne respecte pas la casse, bien que la sensibilité à la casse puisse être demandée au moment de la création. Bien que Mac OS X s'exécute sur une partition sensible à la casse, de nombreuses applications Mac de haut niveau ne le seront pas (par exemple Adobe CS).
Pendant un certain temps, Apple prévoyait de remplacer HFS par ZFS et a même livré ZFS avec certaines versions de Mac OS X, mais malheureusement, cette expérience a finalement échoué en raison de problèmes de licence insolubles .
la source
Je pense qu'il est préférable de décrire Darwin comme une autre version d'UNIX . Solaris en est un. HP / UX en est un autre. Il y en a beaucoup plus , peut-être pas aussi «prestigieux» mais ils sont là. Et avec chaque saveur vient ses propres spécificités. C'est pourquoi il y a des saveurs en premier lieu. Certaines entreprises imaginent quelque chose qui pourrait les aider à vendre (ou simplement travailler avec elles ou même les administrer), les créer et leur donner leur propre nom.
la source
Si j'ai bien compris, Darwin, tel que publié par Apple, ne fonctionne plus comme un système d'exploitation indépendant, alors je soulignerais que la plus grande différence est OS X en plus. :RÉ
Bien que l'intégration entre l'ancien Mac OS, le nouveau Mac OS X et NeXT soit parfois risible, de petits utilitaires comme diskutil et hdiutil sont excellents. Peut-être que ce sont d'anciens architectes du noyau Mach laissés par NeXT qui utilisent ces petites choses et se soucient d'eux qui ont fait en sorte que XCode soit aussi un bon outil.
la source
Darwin est basé sur FreeBSD. Une fonctionnalité intéressante qui n'est pas présente dans les autres systèmes d'exploitation Unix (d'après mon expérience) est le Berkeley Packet Filter , alias
/dev/bpf
. Il s'agit d'un appareil très polyvalent que vous pouvez utiliser pour la capture de paquets.la source
Le premier qui me vient à l'esprit est tous les outils qu'OSX a dans la console .. il y a des tonnes de commandes plus utiles qu'Unix a. Diskutil c'est comme la magie des partitions dans le shell, cet outil a tellement d'options pour les opérations sur disque que fdisk n'est vraiment que 10% de ce que cette bête a ... types .. est-ce vraiment unix? dans tes rêves!! ;RÉ
SystemProfiler - un excellent outil qui affiche tous les identifiants matériels, noms, modèles, sn et tout ça de manière TRÈS confortable.
Le noyau darwin n'est pas totalement transparent comme sous Unix.
darwin ont killall util = P unix pas, seulement la compétence
système de fichiers différent également .. HFS, HFS +
peut-être ce dernier je m'en souviendrai plus =)
la source