Kernel: Diferenzas entre revisións
Contido eliminado Contido engadido
Sen resumo de edición |
Modificacións varias. Orixinalmente ía introducir información doutros artigos, pero esta xa estaba presente no artigo. |
||
Liña 1:
{{Outroshomónimos|Núcleo}}
O '''kernel
Existen diferentes tipos de kernels e cada un afronta estas tarefas de modo distinto dependendo do seu deseño e realización. Os
==
<!-- Cómpre que alguén con coñecementos do tema revise este apartado. -->
*'''''Kernel monolítico'''''. Potente kernel que facilita a abstracción do hardware. Existe unha gran variedade de kernels monolíticos.
*
*
*
===''Microkernels''===
▲Hai catro grandes tipos de núcleos:
O enfoque micronúcleo consiste en definir unha abstracción moi simple sobre o hardware, cun conxunto de primitivas ou chamadas ao sistema que implementan servizos do sistema operativo mínimos, como a
▲* Os '''micronúcleos''' (en inglés [[microkernel]]) proporcionan un pequeno conxunto de abstracciones simples do hardware, e usan as aplicacións chamadas [[servidor]]es para ofrecer maior funcionalidad.
▲* Os '''híbridos''' (''micronúcleos modificados'') son moi parecidos aos micronúcleos puros, excepto porque inclúen código adicional no espazo de núcleo para que se execute máis rapidamente.
▲* Os '''exonúcleos''' non facilitan ningunha abstracción, pero permiten o uso de [[biblioteca (programa)|bibliotecas]] que proporcionan maior funcionalidad grazas ao acceso directo ou case directo ao hardware.
O obxectivo principal é a separación da implementación dos servizos básicos e
Algúns exemplos de ''microkernels'' son AIX, BeOS, L4, Mach, [[Minix]], MorphOS, QNX, RADIOS, VSTa e [[GNU Hurd]].
▲O enfoque micronúcleo consiste en definir unha abstracción moi simple sobre o hardware, cun conxunto de primitivas ou chamadas ao sistema que implementan servizos do sistema operativo mínimos, como a [[xestión de fíos]], o [[espazo de direccionamiento]] e a [[comunicación entre procesos]].
Aínda que
▲O obxectivo principal é a separación da implementación dos servizos básicos e da política de funcionamento do sistema. Por exemplo, o proceso de bloqueo de [[entrada/saída|E/S]] pódese implementar cun servidor en espazo de usuario executándose encima do micronúcleo. Estes servidores de usuario, usados para xestionar as partes de alto nivel do sistema, son moi modulares e simplifican a estrutura e deseño do núcleo. Se falla un destes servidores, non se colgará o sistema enteiro, e poderase reiniciar este módulo independentemente do resto.
[[QNX]] é un [[sistema operativo]] que estivo dispoñible desde principios dos
==
Frecuentemente prefírense os
A principios dos
▲Frecuentemente prefírense os [[núcleo monolítico|núcleos monolíticos]] fronte aos micronúcleos debido ao menor nivel de complexidade que comporta o tratar con todo o código de control do sistema nun só espazo de direccionamiento. Por exemplo, [[XNU]], o núcleo de Mac VOS X, está baseado no núcleo Mach 3.0 e en FreeBSD, no mesmo espazo de direccionamiento para diminuír a latencia que comporta o deseño de micronúcleo convencional.
Os
▲A principios dos [[anos 1990]], os núcleos monolíticos considerábanse obsoletos. O deseño de [[Linux]] como un núcleo monolítico en lugar de como un micronúcleo foi o tema dunha famosa disputa entre [[Linus Torvalds]] e [[Andrew Tanenbaum]] (hai dispoñible [http://www.dina.dk/abraham/Linus_vs_Tanenbaum.html un resumo] en [[Lingua inglesa|inglés]]). Os argumentos de ambas as partes nesta discusión presentan algunhas motivacións interesantes.
==Notas==
▲Os núcleos monolíticos adoitan ser máis fáciles de deseñar correctamente, e polo tanto poden crecer máis rapidamente que un sistema baseado en micronúcleo, pero hai casos de éxito en ambos os bandos. Os micronúcleos adoitan usarse en robótica embebida ou computadoras médicas, xa que a maioría dos compoñentes do sistema operativo residen no seu propio espazo de memoria privado e protexido. Isto non sería posible cos núcleos monolíticos, nin sequera cos modernos que permiten cargar módulos.
{{Listaref}}
▲Aínda que [[Mach kernel|Mach]] é o micronúcleo xeneralista máis coñecido, desenvolvéronse outros micronúcleos con propósitos máis específicos. [[L3 (microkernel)|L3]] foi creado para demostrar que os micronúcleos non son necesariamente lentos. A familia de micronúcleos L4 é a descendente de L3, e unha das súas últimas implementaciones, chamada [[Pistachio (microkernel L4)|Pistachio]], permite executar Linux simultaneamente con outros procesos, en espazos de direccionamiento separados.
▲[[QNX]] é un sistema operativo que estivo dispoñible desde principios dos [[anos 1980]], e ten un deseño de micronúcleo moi minimalista. Este sistema conseguiu chegar ás metas do paradigma do micronúcleo con moito máis éxito que Mach. Úsase en situacións en que non se pode permitir que haxa fallos de software, o que inclúe desde brazos robóticos en naves espaciais, ata máquinas que púen cristal onde un pequeno erro podería custar moito diñeiro.
{{Link FA|fr}}
|