La gran entrevista *BSDAutor: Eugenia Loli-Queru -
Posted on :15:57 Matt Dillon, no el famoso actor sino el miembro del Core Team de FreeBSD, también conocido por escribir el compilador Dice C para Amiga, está aquí con nosotros hoy para una entrevista en profundidad de todo lo relativo a FreeBSD 5.0. Éste es el SO que toda la gente vanguardista está esperando y calificándolo como el SO libre más avanzado (técnicamente hablando) de hoy en día. Adicionalmente, también incluimos dos mini-entrevistas con Theo de Raadt, el fundador de SD, y Jun-ichiro "itojun" Hagino, del Core Team de NetBSD. Matt Dillon, miembro del equipo de FreeBSD, VM y kernel 1. Qué mejoras nos traerá BSD 5.0? Matt Dillon: Hay por lo menos una docena de proyectos funcionando en
paralelo y hemos eliminado y reemplazado una gran parte del código por todo el
kernel; tanto que recientemente decidimos dar un año más a la fecha de salida de
BSD 5.0 para dar la oportunidad a todos estos proyectos de salir de la rama de
desarrollo a la rama estable. Debido a esto una cantidad importante de las
características de -current esta siendo lentamente MFC-ada a -estable. Aunque no
KSEs o SMPng. 2. Cuál es una de las características que más te gustaría añadir al kernel BSD? Matt Dillon: Me gustaría ver procesos nativos y una capacidad de
migración descriptora a nivel de dispositivo. Esto no es una idea nueva (pocas
ideas en el mundo de las computadoras puede ser nunca llamada "nueva"), pero sí
que es una idea cuya hora a llegado. Me gustaría ver una habilidad para migrar
procesos, así como su estado a nivel de dispositivo, y un par de re-rutados
externos. Por lo que un descriptor E/S representando una conexión TCP podría
migrar enteramente fuera de la máquina en cuestión, por ejemplo. 3. Soft-update parece estar un paso más lejos del Journaling, ésta es la manera "moderna" de hacer Journaling, y FreeBSD tiene esta capacidad. Sin embargo, tenéis planes para añadir algunas de las características encontradas en los sistemas XFS o JFS?
Matt Dillon: Yo calificaría las soft-updates como un paso adelante en
journaling. Por lo menos no como meta-data journaling. Es simplemente otra
manera de hacer las cosas. Incluso si soft-updates puede teóricamente funcionar
mejor que el meta-data journaling, el quid de la cuestión es que el ancho de
banda del disco tiene al menos 25 veces el throughput de un localizar/escribir
aleatorio. Por lo tanto, meta-data journaling tiene un impacto de funcionamiento
ligeramente más pequeño si puedes des-sincronizar el "resto". Soft-updates
trabaja extremadamente bien para UFS pero el concepto de soft-updates puede
venirse abajo con otros sistemas de ficheros - perfectamente podría ser
imposible implementar operaciones del estilo soft-updates en sistemas de
ficheros que implementen directorios como Btrees o hashes, por ejemplo. Por otra
parte, soft-updates puede llevar a cabo operaciones meta-data además de mantener
la integridad del sistema de ficheros, y puede hacerlo de una manera que de
manera natural nos lleva al paralelismo. Los sistemas de ficheros "journaleados"
típicamente no pueden hacer eso. Por lo tanto, la inutilidad de la teoría
depende fuertemente en cuales sean tus metas. Para un trabajo de propósito
general ambas teorías trabajan igualmente bien. 4. Después de que la burbuja de la comunidadsource explotara, muchas compañías volvieron a estimar el soporte que, hasta el momento, habían dado a la comunidadsource, y dejaron de contribuir código a Linux, a BSD, o a ambos. Cómo a afectado esto al desarrollo BSD? Matt Dillon: Ha creado una pequeña interrupción para la gente envuelta
en lo que se refiere a su habilidad para contribuir pero yo no creo que las
compañías vayan a tener ninguna clase de efecto en el movimientosource, en
Linux, o en el desarrollo BSD. Los mayores contribuidores BSD no son
trabajadores de una compañía que han sido específicamente enviados para
interactuar con la comunidadsource. Son gente que tienen un interés y amor
verdadero por la comunidadsource, y que trabajan en una compañía ocupando
un puesto alto. 5. Qué opinas de que Linux haya acaparado la gran mayoría de la atención en estos dos últimos años? Y de que haya sido capaz de moverse un poquito más rápido hacia el terreno de escritorio? Es el mercado del escritorio de interés para toda la gente de FreeBSD? Matt Dillon: Lo encuentro un ejercicio interesante en ingeniería
social, economía y sicología. 6. Por favor explícanos que son SMPng (SMP de próxima generación) y KSE (entidades programadoras del kernel). Qué nuevas características tendrá BSD-5-current. Matt Dillon: SMPng es el mutex de FreeBSD, threading interrumpido, e
implementación de borrado gigante. Potencialmente, el prevaciado del kernel es
también parte de la ecuación pero el jurado está todavía lejos de eso. El
propósito es ser capaz de tener varios procesos mainline y/o interrumpir
simultáneamente en el modo kernel. Esto es lo más importante en el asunto de
escalabilidad en cualquier sistema SMP. El trabajo hecho aquí es difícilmente
comparable al que se está llevando a cabo en Linux. Linux está un año por
delante de nosotros, pero tanto BSDs como Linux tienen mucho trabajo que hacer
para coger a Solaris. 7. Desde el punto de vista técnico, como calificarías el kernel 2.4 de Linux con el de los BSDs? Matt Dillon: No sé lo suficiente sobre los kernels de Linux recientes por lo que no soy capaz de calificarlos. Lo que sí que hago es seguir el trabajo en la Memoria Virtual que se está haciendo en Linux, y en particular el trabajo de Rik van Riel. Pienso que linux está pasando por una especie de transición dolorosa puesto que se está yendo de la metodología de desarrollo estilo Darwinista a algo más pensativo. Admito querer discutir con quienes critican el trabajo en la Memoria Virtual de Rik y quienes simplemente no entienden la diferencia entre optimizar unos pocos nanosegundos una rutina que raramente es invocada, y gastar unos pocos ciclos CPU extras en elegir las mejores páginas a reciclar a fin de evitar E/S al disco que costarían decenas de millones de ciclos de CPU posteriormente. Es una actitud que tenía cuando tenía quizás 16 años...que cada ciclo de CPU importa, y no importa en que se haya gastado. Carajo! 8. Cómo es la relación entre los programadores de FreeBSD y los deSD? Compartís código, opciones... cateáis regularmente... ? O todos los proyectos BSD son completamente independientes unos de otros? Matt Dillon: Los grupos BSD son como los círculos sociales del
colegio. No, en serio! Ésa es la mejor analogía que se me ocurre! Muchos
desarrolladores se centran tan sólo en su pequeña cuadrilla, mientras que otros
andan por muchos círculos. Hay desarrolladores que mantienen el mismo código de
un driver para varias distribuciones BSD diferentes. Hay desarrolladores que
centran su trabajo en una sola distribución BSD pero están unidos con
desarrolladores de otras. Si el trabajo es lo suficientemente interesante, tal y
como el trabajo "dirpref", desarrolladores que trabajan en otras distribuciones
BSD diferentes cogerán el código, lo parchearán y se lo llevarán. Así es como
FreeBSD consiguió su código "dirpref". Kirk lo importo deSD a
FreeBSD-current y yo lo MFCeé a -estable después de que hubiera sido probado en
-current. 9. Cual es tu opinión sobre .NET y crees que es posible que .NET cambie el "mapa" de los SOs tal y como los conocemos? Matt Dillon: Creo que .NET es vapor. Es un término de marketing ideado por Microsoft que como por arte de magia se transformará en lo que a Microsoft se le ocurra. MS anuncia ideas grandiosas con buenas frases publicitarias todo el rato, y como buen vapor que es, siempre hay una base de verdad (aunque sólo sea un poco). Sin embrago la realidad es algo diferente...recuerda, eso son quienes pusieron por las nubes a WindowsME y todo lo que conseguimos fue un asistente de instalación discurso-sintetizado de Windows! Esos son quienes bautizaron al NT como el "mata-unix" y contó a la gente que era igual de fiable que Unix. .NOT es probablemente un término más descriptivo para .NET (metáfora que viene de NOT, que es NO en ingles). Mi opinión es que .NET se convertirá en un tipo de rent-a-service propietario-Microsoft, y que introducirá más seguridad que IIS. 10. Algunos dicen que FreeBSD tiene el mejor VM de toda la historia comparado con cualquier otro sistema operativo. Crees que hay un margen para seguir mejorando y que aun hay características para añadir? Matt Dillon: Creo que hemos hecho un progreso genial al estabilizar el sistema de la Memoria Virtual y trabajando en el asunto del rendimiento relativos a máquinas con releases FreeBSD de la serie -4.x. las máquinas han probado ser unos potros de prueba geniales en un ancho rango de aplicaciones y que son capaces de proveer estabilidad a largo plazo y el rendimiento que sus usuarios requieren. En líneas generales, la tecnología detrás del sistema de la Memoria Virtual es bastante impresionante y no necesita mucha más mejora. Obviamente en la -5.x mejoraremos (multi-threading para SMPng), pero los algoritmos ineternos parecen funcionar bien en plataformas MP y 64bits, por lo que no esperamos realizar grandes cambios fundamentales. Pero, claro está...siempre hay un margen para mejorar...por supuesto! En el core MV de las primeras y próximas releases de la rama -5.x, hay una gran cantidad de trabajo planeado para mejorar la E/S y los subsistemas del caché de búffer (buffer cache subsystems). Mi meta personal es quitar por completo el caché de búffer o al menos, transformarlo en nada más complejo que un subsistema de E/S por etapas.
1. Cómo es la relación entre los programadores de NetBSD y los deSD/FreeBSD? Compartís código, opciones... cateáis regularmente... ? O todos los proyectos BSD son completamente independientes unos de otros? Itojn: Sí, chateamos entre nosotros y compartimos opiniones y código. Algunos de los desarrolladores tienen acceso y pueden modificar el código fuente para multiples BSDs por medio de CVSs. 2.Incorporáis código de FreeBSD uSD a vuestro NetBSD cuando hay cambios importantes en esos SOs? Itojun: Sí, pero dependiendo de las características de los cambios. Si es un cambio de una línea para una cuestión relativa a la seguridad, sólo la integramos. Si es una adición de una gran característica, lo repasamos tranquilamente y a veces integramos cambios, a veces no (conseguimos cambios similares a los de los otros, los implementamos nosotros mismos, o lo integramos con muchas mejoras). 3. Qué mejoras tiene programadas para nosotros la nueva versión de NetBSD? Itojun: SMP (para múltiples plataformas!) y el soporte de threads son los objetivos más importantes a los que estamos atacando. Y por supuesto, soporte para más plataformas. 4. El objetivo de NetBSD es portar el SO a tantas plataformas como pueda. A qué plataformas tiene que ser portada NetBSD, y, es una prioridad hacer eso? Itojun: Playstation2 (ya esta portado, necesita integración).
1. Cómo es la relación entre los programadores deSD y los de NetBSD/FreeBSD? Compartís código, opciones...cateáis regularmente...? O todos los proyectos BSD son completamente independientes unos de otros? Theo de Raadt: No hay relaciones formales de ningún tipo. De hecho, puesto que es un mundo libre, hay numerosos desarrolladores que hablan con integrantes de otros grupos. Incluso cuando no pasa eso, nuestro código fuente es completamente visible en las mailing list públicas. Qué se más puede pedir? 2. Incorporáis código de FreeBSD o NetBSD a vuestroSD cuando hay cambios importantes en esos SOs? Theo de Raadt: Claro, porqué no deberíamos? 3. Qué mejoras para nosotros tiene programadas la nueva versión deSD? Theo de Raadt: Antes que nada, tengo que repetir lo que he venido
diciendo durante cinco años: el desarrollo deSD no es revolucionario, sino
evolucionario. Eso significa que entre una release y otra, no pasan muchas
grandes cosas, pero por el contrario deberíamos verlo como una serie de unos
pequeños cambios. Sobre una serie deSD, esa cantidad de
pequeños cambios, es una gran cantidad. Cualquier release de hace dos años es
muy diferente al código base que tenemos actualmente, pero etiquetar los grandes
cambios entre dos releases consecutivas es muy difícil. Miles de esos cambios
son bugs fijados, mejoras menores...cosas que calificaría como algo MÁS que
"nuevas características". 4. El objetivo deSD es traernos la máxima seguridad a un servidor. Patcheando los bugs y sólo aceptando software probado, ¿Crees que eso frena vuestro desarrollo y que no os deja implementar algo nuevo al SO y "sacarlo" rápidamente? Theo de Raadt: No, yo creo que eso no afecta a la programación de una release o al proceso de desarrollo Entrevista original: http://www.osnews.com/story.php?news_id=153 |