21 de diciembre de 2005

Charla de Hurd

En Umeet hubo hace unos días una charla sobre Hurd. Siempre es interesante comentar los comentarios HURDianos. La primera cosa de la que uno se da cuenta es que para Hurd dos de los dos ejemplos más importantes que pretenden conseguir son la seguridad y la calidad de servicio, que por alguna razón el conferenciante cree ajenos a los sistemas operativos no microkernels. A nadie parece importarle en absoluto que el problema número uno de los sistemas operativos de hoy sea su falta de integración con la red.

La primera cosa que uno escucha es como se meten directamente con el modelo de seguridad de Unix, algo con lo que estoy muy de acuerdo porque está obsoleto. Pero evidentemente, esta gente no ha escuchado que existe SELinux - implementado por la NSA e inspirado por algún que otro sistema operativo experimental que curiosamente corria sobre Mach - y que Linux de hecho soporta varios modelos de seguridad. Varios. Lo digo por si hay alguien que de verdad se traga aquella bazofia de que solo los microkernels pueden diseñar software de forma modular, flexible y extensible, como si el diseñar software bien fuera algo atado intrínsecamente a usar un sistema de paso de mensajes por IPC en vez de llamadas a funciones. Porque por lo que tengo leido, los fans de los microkernels se lo tragan de verdad.

Otra cosa donde dice que los sistemas operativos "fallan" es en la calidad del servicio, como hacer un find / mientras ves un DVD. De nuevo, este tipo no ha oido hablar de que linux tiene un subsistema de IO totalmente modular y que uno de los schedulers IO es CFQ, que soporta el concepto de "prioridades IO" y que permite poner a ese find / una baja prioridad IO para que no afecte el DVD.

Lo dije aquí una vez y lo repetiré: El diseño de software no está vinculada a ser un microkernel o no. El diseño de software de hecho se da en cualquier software no solo en un kernel. Y es por esto por lo que no hay nada que impida que un kernel "monolítico" sea modular y extensible. NADA. De hecho, que yo sepa el subsistema de IO de Linux es uno de los más flexibles que existen, tanto que he sido incapaz de encontrar en google rastros de sistemas operativos que permitan, como linux, tener varios schedulers de IO, poder cambiarlos al vuelo y poder insertar nuevos schedulers con diferentes algoritmos o quitar los que no quieres tener.

Asi que ¿qué he aprendido de la charla de Hurd? Que me va a salvar de cuelgues - a pesar de que yo con linux no tengo cuelgues -, que tiene un modelo diferente de seguridad sin implementar del todo y que linux ya tiene, y que en el futuro van a modificar su subsistema IO para llegar a una flexibilidad y modularidad que linux tiene hace más de 1 año. Me ha resultado extremadamente interesante esta charla, si. Mañana instalaré Hurd. Fijo

No hay comentarios:

Publicar un comentario en la entrada