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 presi (5129) el Lunes, 29 Septiembre de 2003, 18:59h (#221996)
    ( http://presi.org/ )
    Llevo años oyendo que el núcleo de Windows NT antes y 2000 y XP ahora es micronúcleo pero nadie ha dado pruebas o por lo menos yo no las he visto. ¿Podrías darnos algún enlace o algo?. Que conste que no lo digo con sorna, simplemente ¡tengo una curiosidad atroz!! ;)
    [ Padre ]
  • por jmmv (5375) el Lunes, 29 Septiembre de 2003, 19:51h (#222021)
    ( http://julipedia.blogspot.com/ )
    En el libro "Sistemas Operativos" de William Stallings se analiza el núcleo de Windows 2000, no muy en detalle, pero sí la estructura básica (me parece que este análisis es nuevo de la 4ª edición).

    Hace ya un tiempo que lo leí, pero creo recordar que no es un micronúcleo "puro", sino más bien una mezcla entre éste y monolítico (o tal vez no, porque ahora mismo no se me ocurre como podría ser tal cosa ;-)

    --

    The Julipedia [blogspot.com]

    [ Padre ]
  • por pobrecito hablador el Lunes, 29 Septiembre de 2003, 20:14h (#222031)
    Bueno, uno de los problemas de la arquitectura microkernel de nt/2000/xp es que al ser un sistema tan cerrado, no se pueden aprovechar totalmente las ventajas de este tipo de nucleos. La ventaja que supone poder cargar partes de kernel en el espacio de usuario, añadir funcionalidades sin reiniciar el sistema, la simplicidad de debuggear los modulos, etc... viene decrementeada por la poca informacion sobre el mismo.
    De todos modos, a la hora de desarrollar drivers tienen que proporcionar algo de informacion al respeto, dado que los drivers de mas bajo nivel deben de funcionar en modo-kernel mientras que otros pueden hacerlo en modo-usuario. El DDK de MS (driver development kit) de XP proporciona ejemplos de codigo e informacion sobre el esquema de funcionamiento interno del microkernel.
    Un ejemplo, es el siguiente:
    http://msdn.microsoft.com/library/default.asp?url= /library/en-us/kmarch/hh/kmarch/intro_7usn.asp
    En cualquier caso la aproximacion de microkernel XP/NT/2000 no es "pura", puesto que muchas cosas que se podrian ejecutar en modo usuario, se hacen en modo kenel por razones de eficiencia, al reducir el numero de cambios de contexto, dado el coste de pasar de modo a modo. Sin embargo el mecanismo de paso de mensajes, en que "teoricamente" se basan los microkernels si esta presente.
    Pero de todos modos, ¿hay algun beneficio real en que la practica siga a la teoria al pie de la letra?.
    [ Padre ]
  • por Gusi (10863) el Lunes, 29 Septiembre de 2003, 20:28h (#222036)
    NT 4.0 era microkernel total. Es decir, una parte de código en modo sistema que provee de capa de abstracción en acceso al hard (HALi servicios básicos como pedir página, liberar página, pedir datos a disco (VFS en Windows ...) blablabla.

    El paso de mensajes se llevaba mucho tiempo de CPU, con lo que en windows 2000 se implantó la técnica del tunel, consiste en integrar parte de código de algún subsistema (como por ejemplo, la GDI que vendría a ser el servidor X en linux, que se ejcuta en modo usuario) a modo privilegiado. Esto permite evitar pasos de mensajes, ya que la GDI accede directamente al hard sin provocar excepciones de insrucción no permitida.

    En XP se ha llevado más allá. Según Solomon y Russinovich (que estuvieron el Barcelona este julio) el subsistema Win32 se ha integrado también en el núcleo. Esto mejora notablemente el desempeño, pero una fallada provocaría una caída irremisible del sistema.

    Si quieres info (solo por encima, explican las ideas, no hay código) puedes comprovar el libro 'Inside Windows 2000' / 'Inside Windows XP'.

    No verás nunca el código a no ser que pertenezcas a alguna entidad estatal, entonces se puede pedir el código y te lo ceden (además es integro !!!)

    Gusi

    [ Padre ]