XNU es el núcleo utilizado en el sistema operativo macOS. Fue desarrollado originalmente por NeXT y está compuesto por componentes de Mach, BSD y código propio. XNU combina características de núcleos monolíticos y micronúcleos para lograr un equilibrio entre modularidad y rendimiento.
Copyright:
Attribution Non-Commercial (BY-NC)
Formatos disponibles
Descargue como PPTX, PDF, TXT o lea en línea desde Scribd
0 calificaciones0% encontró este documento útil (0 votos)
236 vistas6 páginas
XNU es el núcleo utilizado en el sistema operativo macOS. Fue desarrollado originalmente por NeXT y está compuesto por componentes de Mach, BSD y código propio. XNU combina características de núcleos monolíticos y micronúcleos para lograr un equilibrio entre modularidad y rendimiento.
XNU es el núcleo utilizado en el sistema operativo macOS. Fue desarrollado originalmente por NeXT y está compuesto por componentes de Mach, BSD y código propio. XNU combina características de núcleos monolíticos y micronúcleos para lograr un equilibrio entre modularidad y rendimiento.
Copyright:
Attribution Non-Commercial (BY-NC)
Formatos disponibles
Descargue como PPTX, PDF, TXT o lea en línea desde Scribd
Descargar como pptx, pdf o txt
0 calificaciones0% encontró este documento útil (0 votos)
XNU es el núcleo utilizado en el sistema operativo macOS. Fue desarrollado originalmente por NeXT y está compuesto por componentes de Mach, BSD y código propio. XNU combina características de núcleos monolíticos y micronúcleos para lograr un equilibrio entre modularidad y rendimiento.
Copyright:
Attribution Non-Commercial (BY-NC)
Formatos disponibles
Descargue como PPTX, PDF, TXT o lea en línea desde Scribd
Descargar como pptx, pdf o txt
Está en la página 1de 6
Kernel
Palos Sánchez Leticia
Hernández Pontigo Erik Samuel Aldan Ochoa Víctor Manuel XNU… el kernel de la MAC XNU es un núcleo que adquirió y desarrolló Apple para ser usado en
el sistema operativo Mac OS X. No es software libre, su licencia lo
marca como código abierto 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, actualizo 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 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. Componentes de XNU: Mach El "núcleo del núcleo" XNU. Realiza las operaciones críticas de un microkernel, como son la gestión de procesador, la gestión de memoria, la gestión de procesos y hilos, soporte para el reloj real- time y el soporte para depuración del kernel. Aunque el microkernel Mach 3.0 fue el núcleo en el que se basaron los
ingenieros de Apple, XNU no es en si un microkernel puro, ya que su
espacio de memoria está compartido con una parte de BSD y con Kernel Extensions. BSD Una capa por encima de Mach que permite a los programadores usar las conocidas llamadas al sistema POSIX de los sistemas UNIX. Estas funciones nos permiten entre otras cosas la gestión de procesos por ID, dar permisos a estos procesos, gestión de señales, o el uso de sockets BSD. La principal ventaja que aporta BSD es que permite migrar fácilmente aplicaciones UNIX a Mac OS X. Kernel Extensions Pequeños módulos C que extienden la funcionalidad del núcleo de Mac OS X. Estos módulos se pueden cargar y descargar dinámicamente. Componentes de XNU: I/O Kit Proporciona un framework C++ para el desarrollo de drivers de dispositivos mediante kexts. En concreto, usa un subconjunto del lenguaje C++ llamado Embedded C++. Un I/O Kit driver es una kext que, en vez de estar programada en C, está programada enEmbeded C++.
El I/O Kit está formado por tres componentes principales:
◦ Families. Define una colección de abstracciones software
comunes a todos los dispositivos de una categoría. Apple proporciona familias para protocolos como USB, SCSI y FireWire, así como para dispositivos de almacenamiento y frame buffers. ◦ Nubs. Es un objeto que representa un dispositivo o servicio lógico (un bus, un disco, una partición de disco o el teclado). ◦ Drivers. Es un objeto que se encarga de gestionar una determinada pieza hardware, implementando las operaciones de E/S para ese dispositivo. Mac OS X ya proporciona una colección de drivers que gestionan los dispositivos más comunes, como puedan ser discos duros o teclados. Componentes de XNU: File System El sistema de ficheros de XNU se basa en el diseño de VFS (Virtual File System), el cual se caracteriza porque nos permite añadir fácilmente nuevos sistemas de ficheros, así como añadir capas a un sistema de ficheros existentes.
Mac OS X viene con los sistemas de ficheros HFS, HFS+, UFS (Universal
File System) y ISO 9660
Networking Mac OS X lleva implementada la pila de red en el núcleo,
el cual también tiene un sistema extensible que nos permite añadir nuevos protocolos llamado NKE (Network Kernel Extensions).