- Por Rafael Bucio en julio 13, 2008 archivo en Kernel, Linux, Review, Software
- 9 Comentarioss »
Agraciada o desgraciadamente la comunidad Linux ha tenido un crecimiento exponencial, lo cual ha tenido como consecuencia un kernel modificado y mejorado dia con dia, aunque esto suena muy facil no lo es asi, ya que miles de usuarios reportan errores (bugs), modificaciones que se le podrian hacer, asi como mejoras. (Ver figura numero 1).
Figura numero 1, Crecimiento exponencial de usuarios Kernel Linux.

Primero tendremos que analizar las propiedades de el kernel. Este mismo esta dividido en capas o subsistemas, tanto con propiedades de alto nivel y bajo nivel, aunque las propiedades basicas del kernel se encuentran en una sola capa o sistema, con esto me refiero a que el administrador de procesos, I/O, administrador de la memoria, la comunicacion se encuentran unidos a diferencia de el microkernel que contiene un modulo para cada una de estas propiedades (Ver figura Numero 2).
Figura numero 2, Imagen de composicion de Kernel Linux.

(Se invita al usuario ha conocer la composicion de un kernel, y tambien las diferencias entre microkernel y kernel monolitico, para poder saber de que se discute.)
En la actualidad el kernel de Linux ha tenido una inclinacion hacia los sistemas de escritorio, por lo que se ha tratado de incluir en este mas soporte a nuevo hardware, a dispositivos que cuando Linux tuve sus primeras entragas no lo imagino en tener. Aunque este tiene una gran repercusion en las distribuciones. Actualmente Debian es una de esas distribuciones las cuales se ha preocupado por tener la mayor compatibilidad con las diferentes arquitecturas para procesador, si esto bien tiene su desventaja, ya que como sabemos se tienen entregas mas tardias de nuevas versiones.
La gran desventaja de todo esto es que Linux Kernel, realiza un kernel generico, el cual luego es tomado por las distribuciones he incluido a las mismas, lo cual crea sistemas ineficientes ya que en ocasiones (si se le podria llamar asi), el usuario no toma importancia sobre este parte tan importante y no realiza una post-compilacion de su propio kernel, para tener un mejor rendimiento.
A diferencia de otros sistemas operativos como FreeBSD por ejemplo, el cual se crea un kernel monolitico para su distribucion, asi como paquetes y ademas el kernel generico, esta preparado para trabajar con las partes mas esenciales, por lo que ignora dispositivos tales como audio, modems, dispositivos de lectura y otros mas, por lo que se obliga al usuario a crear una compilacion para que su ordenador trabaje en optimas condiciones. Para un usuario novato esto puede ser una tarea muy complicada, aunque para usuarios UNIX es casi un obligatorio realizar esta practica.
Con la nueva tendencia de Linux Kernel, al realizar un kernel con mayor compatibilidad, crea un sistema mas pesado para la mayoria de acreedores, ya que contiene partes que no utilizara y que otros tantos si, es por esto que nos lleva al punto mas importante de este documento. Hasta que punto Linux Kernel podra mantener su arquitectura monolitica y que es lo que conviene para un futuro. Si nos ponemos a analizar el cambio de un kernel monolitico a microkernel es una tarea exhaustiva la cual podria tener un fracaso. Pero viendolo del lado eficiencia se crearia un sistema mejor para todos.
Primero se tendria la ventaja de un sistema completamente modular, con microkernel desarrollados a un muy alto nivel, ya que un equipo de desarrollo crearia una administracion de procesos unica y detallada, por lo que nunca tendria que preocuparse como comunicarla con las demas partes del kernel, ya que otro equipo se encargaria de como comunicarla. En tanto a rendimiento hablariamos de un sistema el cual solo utilizaria y cargara los microkernel apropiados, por lo que un usuario de nivel intermedio tendria la capacidad de desactivar un microkernel, sin tener que preocuparse de recompilar completamente todo el kernel.
Sin embargo, esta discusion se ha llevado acabo muchas veces por el muy bien conocido Andrew Tanenbaum y Linus Torvald, el primero ofrece un microkernel y el segundo que prefiere manejar una estructura monolitica.
Si esto se llevara a una parte mas rigurosa se lo podria considerar un hibrido ya que utiliza ciertas idea de la modularidad y de monolitica. Actualmente Linux pretende incorporar el soporte de mas 100 camaras a su kernel, por lo cual obligara a muchos usuarios a realizar una compilacion para mejorar el rendimiento de su sistema, y evitar cargar cosas inutiles para su ordenador.
Como conclusion, se podria hablar que si se requiere un sistema monolitico la parte de las distribuciones tendra que trabajar mas para tener un kernel sofisticado y eficiente desactivando este tipo de servicio y logrando asi el sistema requerido, aunque claro como bien lo sabemos existen otras distribuciones (ubuntu, kubuntu, Knoppix, etc.) las cuales apuestan a tener mayor compatibilidad sin importar que su sistema requiera mas de memoria ram al usuario.
Creditos: Imagenes tomadas de IBM en la parte de Desarrollo.

muy interesante, lo que eh pienso ahora con el soporte a las nuevas cámaras como tu dices tenemos la necesidad de actualizarnos para un mejor rendimiento, añoro los viejos tiempos dijiera mi abuelo, como cuando todo estaba enfocado a un solo proposito.
julio 13, 2008 @ 5:21 PMGracias por compartir este artículo, la verdad que es un tema algo complicado porque para la gente que esta muy metida en el mundo linux y sobretodo que tiene los conocimientos nos iria bien un kernel monolitico y poder montar lo que realmente necesitamos, ahora si lo ves desde el punto de vista de un usuario final y que no tiene conocimientos informaticos y menos de linux muy dificilmente va querer meterle mano en configuraciones es por eso que Ubuntu tiene exito debido a la gran compatibilidad que tiene de hecho sin temor a equivocarme ubuntu usa repos inestables.
julio 13, 2008 @ 6:30 PMEs que bueno, el punto fuerte de este documento es saber hasta que punto Linux seguira monolitico y hasta que punto se convierte viable esto, ya que el soporte a tanto nuevo hardware, fuera de lo que se ocupa esta volviendo que se convierta en un proyecto muy pesado, y en tanto a kernel en algo que se puede volver ineficiente.
julio 13, 2008 @ 6:54 PM¿No han pensando en noticias resumidas para la página principal? Que molesto….
julio 14, 2008 @ 6:50 PMno entiendo la molestia pero bueno lo tomaremos en cuenta
julio 14, 2008 @ 8:26 PMsi te molestan,pues no las leas y punto
julio 14, 2008 @ 10:40 PMniñas basta,
ahahhaa
julio 15, 2008 @ 3:21 AMese kernel no es microkernel ni de co#a.
ser modular es distinto de ser microkernel.
el segundo punto. no es que se a#ada soporte para 100 camaras, cada una con un driver propio. si no mas bien es agregado un protocolo (uvc?) que dara soporte a esas 100 camaras ( y como el protocolo es parte de “vista crtified”, pues muchos componentes jalan)
y no solamente soporta web cams, sino que varios dispositivos de video.
si el problema es recompilar kernel con factores especiales. pues lo hago y ya.
pero como bien dise gunnar. hay muchos que saben mucho mejor que yo como compilar un kernel. por que no usar su sabiduria y solo ensimarle a mi kernel generico (que tiene solo lo que deve de tener) los modulos que nesesito ( y que posiblemente solo me guste tener, y por eso desida que lo nesesesito)
julio 17, 2008 @ 12:08 AMAaaaah? Al decir por modular, quiero dar el significado de “por partes o micronucleos” es solo para no repetir el mismo punto una y otra vez. Si da soporte al fin y alcabo tendra que manejar drivers, para poder el lenguaje del mismo, protocolo el medio de transmision o el lenguaje.
Por favoooor, este siguiente quote:
“ay muchos que saben mucho mejor que yo como compilar un kernel. por que no usar su sabiduria y solo ensimarle a mi kernel generico (que tiene solo lo que deve de tener) los modulos que nesesito ( y que posiblemente solo me guste tener, y por eso desida que lo nesesesito)”
Todo usuario *NIX deberia de tener la responsabilidad de deshabilitar lo que no utilize, si empezamos a agregar “protocolos” al kernel acabaremos con partes tan inserbibles como el kernel que estamos teniendo.
julio 18, 2008 @ 10:53 PMSorry, comments for this entry are closed at this time.