XNU

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
XNU kernel
Desarrollador
Apple Inc.
http://kernel.macosforge.org/
Información general
Género Núcleo híbrido
Sistema operativo Darwin & Mac OS X
Licencia Apple Public Source License 2.0

XNU es un núcleo que adquirió y desarrolló Apple para ser usado en el sistema operativo Mac OS X. Es software libre[1] [2] y forma parte del sistema operativo Darwin. XNU es un acrónimo que significa X is Not Unix (X No es Unix). Fue desarrollado originalmente por NeXT para el sistema operativo NEXTSTEP. XNU era un núcleo híbrido que combinaba Mach 2.5 con componentes de BSD 4.3 y una API orientada a objetos para escribir drivers llamada DriverKit.

Cuando Apple adquirió NeXT, actualizó los componentes Mach a la versión 3.0, reemplazó los componentes BSD con código procedente de FreeBSD y DriverKit fue sustituido por I/O Kit.

Diseño del núcleo[editar]

Como algunos otros núcleos modernos, XNU es un híbrido y tiene características tanto de los núcleos monolíticos como de los micronúcleos. Intenta hacer un mejor uso de las dos tecnologías, como la capacidad de pasar mensajes de los micronúcleos, permitiendo una mayor modularidad y que grandes porciones del SO se beneficien de la protección de memoria. Asimismo, permite mantener la velocidad de los núcleos monolíticos para desempeñar determinadas tareas.

Actualmente, XNU funciona en procesadores basados en ARM, x86, x86-64 y PowerPC, tanto en modelos de un único procesador como modelos SMP.

Mach[editar]

El corazón del núcleo XNU, Mach, fue originalmente concebido como un simple micronúcleo. Como tal, es capaz de hacer funcionar la base de un sistema operativo como procesos separados, lo que permite una mayor flexibilidad (se podrían ejecutar varios sistemas operativos en paralelo sobre la base de Mach), pero a menudo reduce el rendimiento debido al tiempo consumido para cambiar del contexto kernel al contexto usuario, y al trabajo que se deriva de mapear o copiar mensajes entre el espacio de direcciones del micronúcleo y el de los daemons de servicios. Con Mac OS X, los diseñadores han intentado hacer más sencillas algunas tareas, y las funcionalidades de BSD se han implementado en el núcleo con Mach. El resultado es una combinación de Mach y un clásico núcleo BSD, con algunas ventajas y desventajas de ambos.

Enlaces externos[editar]

  • XNU: The Kernel (en inglés) - Una explicación de los componentes de XNU en kernelthread.com