¿Qué características tiene Darwin que otros Unix no ' t, o viceversa?
On febrero 16, 2021 by admin¿Tiene Darwin características específicas? ¿Otros Unixe tienen características de las que carece Darwin?
Respuesta
OS X es el único sistema operativo que queda basado en el micronúcleo 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 la configuración de producción en máquinas antiguas, pero nada que puedas comprar hoy en una máquina nueva.
OS X tiene lo habitual variedad de incompatibilidades de funciones del kernel que tiene cualquier * ix. El problema más grande que tuve que solucionar más recientemente es la falta de colas de mensajes del Sistema V . (msgget(2)
y amigos). Tuvimos que reemplazar nuestro código de cola de mensajes — que fue escrito para una variante «real» de System V y posterior portado a Linux — con TCP / IP para que nuestro software se ejecute en OS X. Para nuestra aplicación, las diferencias entre estos dos métodos IPC importaban en el momento en que tomamos la decisión de ir con colas de mensajes, pero debido a cambios posteriores en la arquitectura, no fue un gran problema cambiar a TCP / IP.
Respuesta
Cuando se trata de eso, ¿no es Darwin solo una fina capa BSD sobre Mach 2.0?
Solía usar NeXTStep, no sé cuánto se aparta MacOSX actual Siguiente paso, pero …
Mach 2.0 ofreció un conjunto diferente de abstracciones a nivel del núcleo:
- Una «tarea»: eso es un espacio de direcciones + un conjunto de «puertos», posiblemente con un hilo ejecutándose en él.
- Subprocesos. Esta era la unidad programable de ejecución. Una tarea (espacio de direcciones) podría h tiene más de 1 corriendo en él. Creo que los archivos Mach-O (formato de archivo ejecutable de Mach) podrían especificar más de un hilo en el tiempo de ejecución del proceso: ninguna función main () que inició más Cthreads, el sistema operativo iniciaría uno.
- Puertos No son como los puertos TCP o UDP. Fueron mecanografiados, ordenados flujos de mensajes. Algo parecido a RPC. Creó un archivo de especificaciones de protocolo, luego lo ejecutó a través de un compilador para obtener stubs del lado del servidor y del cliente, rutinas de ordenamiento y desglose, etc.
- Buscapersonas de memoria de nivel de usuario. Puede configurar una tarea + hilo para manejar la paginación de otros espacios de direcciones de tareas.
La gente original de CMU Mach utilizó estas abstracciones para emular procesos BSD Unix, Procesos de MS-DOS, y en un fabuloso ataque de extravagancias, tareas de VMS. Cada tarea de VMS requería 2 tareas de Mach, más muchos hilos. Alguien solía vender un emulador de Mac OS (pre-OSX) para NeXTStep que usaba el espacio de usuario buscapersonas 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 de VMS-on-Mach: http://www.sture.ch/vms/Usenix_VMS-on-Mach.pdf
Comentarios
- Mac OS X (y por lo tanto Darwin) usa Mach 3.0.
Respuesta
Esta no es una gran respuesta, pero DTrace es una excelente herramienta de depuración del sistema que existe para Solaris, Darwin / OS X y * BSD, pero no Linux.
Comentarios
- Oracle portó DTrace a Linux en 2011.
- En octubre de 2011, Oracle anunció la migración de DTrace de Solaris a Linux, pero a partir del 13 de octubre de 2014 sigue sin estar disponible oficialmente. ( slideshare.net/brendangregg/from-dtrace-to-linux )
Responder
Darwin tiene un conjunto relativamente pequeño de tipos de sistemas de archivos compatibles. Aparte de especiales como devfs y tipos de red como webdav, la lista es:
- HFS / HFS +
- UFS / FFS
- ISO-9660 / UDF / CDDA
- NTFS
- FAT
De esta lista, solo UFS fue diseñado para Unix, aunque HFS + se ha actualizado para admitir todas las funciones necesarias 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 aplica a Darwin. De forma predeterminada, HFS + no distingue entre mayúsculas y minúsculas, aunque se puede solicitar la distinción entre mayúsculas y minúsculas en el momento de la creación. Aunque Mac OS X se ejecutará en una partición que distinga entre mayúsculas y minúsculas, muchas aplicaciones Mac de alto perfil no lo harán (por ejemplo, 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 falló debido a problemas de licencia irresolubles .
Comentarios
- Creo que OS X ‘ s / macOS ‘
se informó que el soporte de escritura NTFS de / div> todavía presenta errores, ya que sigue siendo experimental y nunca se estabilizó, según recuerdo.
Respuesta
Creo que es mejor describir a Darwin como otro versión de UNIX . Solaris es uno. HP / UX es otro. Hay muchos más , tal vez no tan «alto- perfil «pero ellos» están ahí. Y con cada sabor vienen sus propios detalles. Es por eso que hay sabores en primer lugar. Alguna empresa piensa en algo que ayudaría a venderlo (o simplemente trabajar con él o incluso administrarlo) y lo crea y le da su propio nombre.
Comentarios
- UNIX (en mayúsculas) es una marca registrada de The Open Group en muchos países; para algo que sea » UNIX » (en mayúsculas), la certificación es requerida . Darwin no es ‘ t otra » versión de UNIX «, pero Mac OS X 10.10 en Intel x86-64 está certificado como otro UNIX.
Responder
Si he escuchado bien a Darwin, tal como lo lanzó Apple, ya no funciona como un sistema operativo, por lo que debo señalar que la mayor diferencia que tiene es OS X en la parte superior.: D
Aunque la integración entre el antiguo Mac OS, el nuevo Mac OS X y el material NeXT a veces es ridículo, pequeñas utilidades como diskutil y hdiutil son geniales. Tal vez sean algunos viejos arquitectos del kernel de Mach que quedaron de NeXT que usan estas pequeñas cosas y se preocupan por ellas quienes también se han asegurado de que XCode sea una herramienta tan buena.
Respuesta
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.
Comentarios
- Darwin isn ‘ t realmente se basa en FreeBSD, aunque toma prestado algunas cosas del espacio de usuario de él. Otros comentarios aquí lo explican mejor. bpf (4) no es ‘ t únicamente Darwin y FreeBSD / NetBSD / OpenBSD, y ‘ tengo la sensación de que alguien podría tener incluso lo implementó para kernels de Linux anteriores. SCO (sin) famoso lo tenía en su oferta de Unixware.
Respuesta
Puño que me viene a la mente son todas las herramientas que OSX tiene en la consola … hay toneladas de comandos más útiles que los de Unix. Diskutil es como partición mágica en shell, esta herramienta tiene tantas opciones para operaciones de disco que fdisk es realmente solo el 10% de lo que tiene esta bestia … por cierto, osx admite realmente un excelente soporte de software Raid, puedes tener JBOD, Strip y Mirror tipos de incursiones de software … ¿realmente tiene unix esto? ¡¡en tus sueños !!; D
SystemProfiler – gran herramienta que muestra todos los ID de hardware, nombres, modelos, sn «sy cosas así en un Una forma MUY cómoda.
El kernel de darwin no es totalmente transparente como en Unix.
Darwin tiene killall util = P unix don «t, solo habilidad
diferente sistema de archivos también … HFS, HFS +
tal vez más tarde recordaré más =)
Comentarios
- ¿Quiere decir que Darwin tiene ‘ killall ‘ y otras variantes de Unix no ‘ t? Eso ‘ no es cierto.
- Se sospecha que esta respuesta es trolling. No es necesario ser tan difamatorio en sus declaraciones sobre * nix que no sean os X. Además, la última vez que UTILIZÉ * NIX killall estaba absolutamente presente en mi RUTA. Además, Linux tiene perfiladores del sistema. Haz tu tarea. No ‘ sea un é uche. editar: uso OS X y me gusta mucho.
- Tengo killall en linux, por lo que ‘ no es exclusivo de darwin
- Esta respuesta es vaga e inexacta. ¿Qué funciones útiles carece de fdisk? Linux RAID (mdadm) sí tiene concatenación (LINEAR), striping (RAID0) y espejo (RAID1), entre otros. Linux también es compatible con HFS y HFS +.
- Por cierto: Linux-killall y Solaris-killall son bastante diferentes
Deja una respuesta