Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • por Gusi (10863) el Martes, 30 Septiembre de 2003, 08:03h (#222191)

    >Micronucleo: Nucleo minúsculo. El nucleo hace >muy poquitas cosas y el resto lo hacen >servidores en modo usuario. Es muy modular, >resultan lentos y son muy estables debido a que >la cantidad que se ejecuta en modo privilegiado >es mínima.

    El núcleo provee de las capacidades necesarias para acceder al hardware, acceso a un sistema de memoria paginado con espacio lógico completo para los diferentes procesos, (mobil, no entero no residente, swap), mecanismo de IPC, sean mensajes, pipes, memoria compartida, semáforos, o combinación de ellos.

    Lo que todo el mundo entiende como interficie de syscalls se provee por los subsistemas, y su comportamiento de cara al usuario no depende del microkernel. Es decir, si uno sabe como empaquetar los mensajes y que syscalls REALEs ofrece el microkernel se podría saltar los subsistemas y hablar directamente con el microkernel. Los subsistemas se ejecutan en modo usuario (no privilegiado).

    Esto además permite que las diferentes políticas las pueda elegir el subsistema y no el nucleo. Por ejemplo, queremos poder variar la manera en que se elige el siguiente proceso a ejecutar o bien variar la información que guardamos relativa a cada proceso. Cuando se pide un proceso nuevo en un subsistema Posix (con un fork) esto se traduce a pedir una Task. El subsistema decidirá que información necesita guardar para ese 'proceso'.

    >Nucleo de Win32: Nucleo minúsculo. El nucleo >hace muy poquitas cosas y el resto lo hacen >servidores en modo nucleo. Tiene las ventajas de >los micronucleos en cuanto a modularidad, gana >velocidad pero pierde estabilidad (un fallo en >un servidor puede ser fatal).

    Win32 no es un nucleo. Win32 era una API de llamadas para ocultar las syscalls reales de win9x i WinNT. Actualmente por eficiencia se decide insertar esta API en el núcleo del sistema para ser más eficiente. A medida que uno hace esto pierde modularidad ya que el código en espacio de núcleo augmenta.

    >Nucleo monolítico: El nucleo es uno y grande. El >nucleo hace de todo y en modo nucleo. Es muy >rápido, poco modular y hay muchas más >probabilidades de fallos fatales (mucho más >código expuesto

    Efectivamente.

    Entre un nucleo monolítico y linux la única diferencia es que uno puede añadir código en espacio sistema. Ventajas tiene alguna, ya que el nucleo no es tan 'pesado', permitiendo insertar codigo solo cuando es necesario.

    Sobre si se ha provado un micronucleo 'by the book' decir que tenemos diferentes ejemplos comerciales, entre ellos destacar : Win NT 4.0 de Microsoft. OSF/1 de Alpha sobre Mach.( no GNUMach )

    Creo que QNX tambien lo es.

    Sobre Hurd, no es un micronucleo real, en tanto que permite añadir subsistemas y algunas cosas más que ahora no recuerdo ;^)

    Saludos

    Gusi

    [ Padre ]
  • por Ghede (7303) el Martes, 30 Septiembre de 2003, 17:16h (#222446)
    Por partes, toda la definición de micronucleo era innecesaria. Sobraba con lo que he dicho (que el micronucleo no hace casi nada, lo hacen todo los servidores). Respondía porque por el comentario al que respondía me daba la impresión de que el que lo hizo no entendió nada de lo que dice, me pareció fuera de lugar (como este comentario, por eso respondo otra vez).

    Yo no he dicho que win32 sea un nucleo, he hablado sobre el nucleo de win32 (esa rama de sistemas, aunque en realida quería referirme solo a la familia NT/2000/XP): "Nucleo de win32".

    Hurd no es un micronucleo, ni real ni ficticio, es un grupo de servidores que corre sobre GNUMach (y lo están portando a L4 por lo visto), que SÍ es un micronucleo puro. Deriva de Mach que fue ¿la primera? de las implementaciones de un micronucleo. Fue un experimento hecho en una universidad cuyo nombre no recuerdo.

    De QNX ya había oido hablar, pero no tengo nada claro que sea micronucleo puro (si me da lo miraré más a fondo). De todos modos siguen sin usarse de forma significativa, no pasan de ser experimentos o fracasos.
    [ Padre ]
  • 1 respuesta por debajo de tu umbral de lectura actual.