Respuestas:
OS X es el único sistema operativo restante basado en el microkernel Mach, que también sigue siendo comercialmente relevante. Hay algunos proyectos de investigación en curso y sistemas operativos obsoletos que, sin duda, todavía se están utilizando en entornos de producción en máquinas antiguas, pero nada que pueda salir y comprar en una nueva máquina hoy.
OS X tiene la variedad habitual de incompatibilidades de funciones del núcleo que tiene cualquier * ix. El más grande que la más reciente tuvo que trabajar en torno a una falta de colas de mensajes System V . ( msgget(2)
y amigos). Tuvimos que reemplazar nuestro código de cola de mensajes, que fue escrito para una variante "real" del Sistema V y luego portado a Linux, con TCP / IP para que nuestro software se ejecute en OS X. Para nuestra aplicación, el Las diferencias entre estos dos métodos de IPC eran importantes en el momento en que elegimos ir con las colas de mensajes, pero debido a cambios arquitectónicos posteriores, no fue un gran problema cambiar a TCP / IP.
A fin de cuentas, ¿no es Darwin solo una capa delgada de BSD sobre Mach 2.0?
Solía usar NeXTStep, no sé cuánto sale MacOSX actual de NeXTStep, pero ...
Mach 2.0 ofreció un conjunto diferente de abstracciones a nivel del núcleo:
La gente original de CMU Mach usó estas abstracciones para emular procesos BSD Unix, procesos MS-DOS y en un fabuloso ajuste de tareas VMS extrañas. Cada tarea de VMS tomó 2 tareas de Mach, más muchos hilos. Alguien vendía un emulador Mac OS (pre-OSX) para NeXTStep que usaba los buscapersonas de espacio de usuario con buenos resultados.
La antigua página de publicaciones de CMU Mach: http://www.cs.cmu.edu/afs/cs/project/mach/public/www/doc/documents_top.html
El documento VMS-on-Mach: http://www.sture.ch/vms/Usenix_VMS-on-Mach.pdf
Esto no es una respuesta, pero DTrace es una herramienta de depuración del sistema increíble que existe para Solaris, Darwin / OS X y * BSD, pero no para Linux.
Darwin tiene un conjunto relativamente pequeño de tipos de sistemas de archivos compatibles. Además de especiales como devfs y tipos de red como webdav, la lista es:
De esta lista, solo UFS se diseñó para Unix, aunque HFS + se ha actualizado para admitir toda la funcionalidad necesaria de Unix. A partir de Mac OS X 10.6, UFS no se puede utilizar para la partición raíz, aunque esta restricción probablemente no se aplique a Darwin. De manera predeterminada, HFS + no distingue entre mayúsculas y minúsculas, aunque se puede solicitar mayúsculas y minúsculas en el momento de la creación. Aunque Mac OS X se ejecutará en una partición que distingue entre mayúsculas y minúsculas, muchas aplicaciones Mac de alto perfil no (p. Ej. Adobe CS).
Durante un tiempo, Apple planeaba reemplazar HFS con ZFS e incluso envió ZFS con algunas versiones de Mac OS X, pero lamentablemente este experimento finalmente fracasó debido a problemas de licencia irresolubles .
Creo que es mejor describir a Darwin como otro sabor de UNIX . Solaris es uno. HP / UX es otro. Hay muchos más , tal vez no como "de alto perfil", pero están ahí. Y con cada sabor viene sus propios detalles. Es por eso que hay sabores en primer lugar. Algunas compañías piensan en algo que ayudaría a venderlo (o simplemente trabajan con él o incluso lo administran) y lo crea y le da su propio nombre.
Si he escuchado bien, Darwin, como lo lanzó Apple, ya no funciona como un sistema operativo independiente, por lo que señalaría que la mayor diferencia que tiene es OS X además. :RE
Aunque la integración entre el viejo Mac OS, el nuevo Mac OS X y el material NeXT a veces es ridículo, las pequeñas utilidades como diskutil y hdiutil son geniales. Tal vez sean algunos de los antiguos arquitectos de kernel de Mach que quedan de NeXT quienes usan estas pequeñas cosas y se preocupan por ellos, quienes también se han asegurado de que XCode sea una herramienta tan buena.
Darwin está basado en FreeBSD. Una característica interesante que no está presente en otros sistemas operativos Unix (en mi experiencia) es el Berkeley Packet Filter , también conocido como /dev/bpf
. Este es un dispositivo muy versátil que puede usar para capturar paquetes.
Lo primero que me viene a la mente son todas las herramientas que OSX tiene en la consola ... hay toneladas de comandos más útiles que tiene Unix. Diskutil es como partición mágica en shell, esta herramienta tiene tantas opciones para las operaciones de disco que fdisk es realmente solo el 10% de lo que tiene esta bestia ... por cierto, OSX admite un gran soporte de Software Raid, puede tener una incursión de software JBOD, Strip y Mirror tipos ... ¿realmente Unix tiene esto? ¡¡en tus sueños!! ;RE
SystemProfiler: gran herramienta que muestra todos los identificadores de hardware, nombres, modelos, sn y cosas así de una manera MUY cómoda.
Darwin Kernel no es totalmente transparente como en Unix.
darwin tiene killall util = P unix no, solo habilidad
sistema de archivos diferente también ... HFS, HFS +
tal vez más tarde recordaré más =)