- Andrew S. Tanenbaum, profesor emérito de ciencias de la computación en VU Amsterdam, recibió el ACM Software System Award por MINIX, que influyó en la enseñanza de sistemas operativos y en el diseño de OS
- MINIX 1.0 fue un sistema operativo UNIX basado en microkernel para IBM PC, creado en 1987 junto con el libro Operating Systems: Design and Implementation
- El MINIX inicial tenía unas 12,000 líneas de código e incluía microkernel, administrador de memoria, sistema de archivos y utilidades esenciales de UNIX; en 2000 pasó a ser software libre de código abierto
- MINIX inspiró a Linux, sirvió de base para MeikOS y también se ejecuta dentro de microchips de uso extendido
- El ACM Software System Award se otorga a sistemas de software con impacto duradero, tiene un premio de 35,000 dólares y cuenta con apoyo financiero de IBM
Premio reconocido por MINIX
- Andrew S. Tanenbaum, profesor emérito de ciencias de la computación en VU Amsterdam, recibió el ACM Software System Award por MINIX
- MINIX se ha usado para enseñar principios de sistemas operativos a varias generaciones de estudiantes y también influyó en el diseño de sistemas operativos, incluido Linux
Origen y composición de MINIX 1.0
- Tanenbaum creó MINIX 1.0 en 1987 para acompañar el libro Operating Systems: Design and Implementation
- Era un pequeño sistema operativo UNIX basado en microkernel para el entonces popular IBM PC
- El MINIX inicial estaba compuesto por unas 12,000 líneas de código e incluía los siguientes elementos
- microkernel
- administrador de memoria
- sistema de archivos
- programas utilitarios esenciales de UNIX
- MINIX se convirtió en software libre de código abierto en 2000
Impacto en Linux y otros sistemas
- MINIX no solo respaldó el éxito del libro de Tanenbaum, sino que también dejó una influencia más amplia
- Inspiró a Linux, que creció hasta convertirse en un exitoso sistema operativo de código abierto que impulsa servidores en la nube, teléfonos móviles y dispositivos de internet de las cosas
- MINIX sirvió de base para el sistema operativo MeikOS en computadoras basadas en Meikotransputer
- MINIX también se ejecuta dentro de microchips ampliamente utilizados
- Una versión posterior, MINIX 3.0, está orientada a computadoras con recursos limitados, computadoras embebidas y aplicaciones que requieren alta confiabilidad
Expansión del diseño de microkernel
- La defensa del diseño de microkernel por parte de Tanenbaum, aparte de la influencia directa de MINIX, también impactó a varias generaciones de diseñadores de sistemas operativos
Naturaleza del ACM Software System Award
- El ACM Software System Award se otorga a organizaciones o personas que hayan desarrollado sistemas de software con impacto duradero, ya sea por su contribución conceptual, su adopción comercial o ambas
- El premio es de 35,000 dólares
- El apoyo financiero del Software System Award lo proporciona IBM
1 comentarios
Opiniones en Hacker News
Esto es algo que jamás voy a olvidar. Creo que fue en Stanford; estaba escuchando una charla del fundador/CEO de Netflix, Reed Hastings, y él estaba explicando cómo se le ocurrió la idea de Netflix.
Un estudiante le preguntó: “¿Cuándo se dieron cuenta de que tenían que pasarse a internet?”, y él respondió: “Eso estuvo en la idea desde el principio. Sabíamos que la red llegaría a ser como es hoy. En un libro de texto de ciencias de la computación hay una frase que dice: ‘Nunca subestimes el ancho de banda de un camión lleno de cintas avanzando por la autopista’. Pensamos que, hasta que la red llegara al nivel que queríamos, primero teníamos que enviar DVD por correo”.
Al verlo pensé: “¡Guau! Recuerdo esa cita y la ilustración”, así que busqué el libro de texto y ahí estaba, tal cual, en el libro de redes de Tanenbaum. Más allá de la anécdota, esta persona tuvo un impacto enorme en toda la industria, por no hablar del debate sobre kernels.
Un premio muy merecido para un gran educador, y algo para celebrar. Todavía conservo su libro de texto de sistemas distribuidos que leía antes, y aún pienso que habría sido bueno que Minix hubiera ganado y que ese modelo de microkernel se hubiera convertido en la base del ecosistema FOSS *nix.
Para quienes no lo sepan, Andrew también administra Electoral Vote [1], un blog de ciencia electoral que analiza y predice elecciones estadounidenses con un modelo de encuestas del Colegio Electoral. Es uno de los sitios bastante buenos sobre política de EE. UU.
[1]:https://www.electoral-vote.com/evp2024/Info/welcome.html
Con solo leer esos textos diarios ingeniosos y sin dejarse llevar por la emoción, uno puede mantenerse bastante bien informado como ciudadano estadounidense.
Me estaba yendo pésimo en una materia de arquitectura de computadoras, y en un parcial saqué 5%. Cambié el libro recomendado por el de Andrew y no hice nada más que leerlo 2 horas al día; en el final saqué 100%.
Era un libro increíblemente accesible :-)
Un premio muy apropiado para un gran educador que hace que la informática sea accesible y disfrutable.
Structured Computer Organization debería ser un libro de texto, pero está tan bien escrito que terminé leyéndolo de principio a fin como si fuera un thriller.
Por ejemplo, no hay mucha gente que diga eso de Knuth. Claro que no quiero menospreciar el hecho de que Knuth es extraordinario a su manera.
Los libros de AST, especialmente los que tratan directamente sobre Minix, me parecen estar en el mismo plano filosófico que el artículo The Night Watch.
Al final, ese artículo no trata sobre volverse ignorante por culpa de las abstracciones, sino sobre la comodidad que surge de familiarizarse con lo real; no sobre impotencia, sino sobre una falta de miedo aprendida.
Casi nunca tendremos que depurar código a nivel de kernel conectando un osciloscopio o una sonda lógica a los pines de un chip de procesador para observar las líneas de datos, pero todos conocemos al menos a una persona que haría algo así sin inmutarse. Aun así, para un desarrollador de software ayuda mucho tener un conocimiento y una familiaridad apenas más cercanos al silicio, una hoja de datos del procesador a mano y cierta sensación de que los modos de segmentación de memoria no son algo ajeno.
Es un salto que todos deberían intentar alguna vez, porque permite derribar las barreras mentales que impiden entender cómo funcionan realmente las cosas.
Tampoco se puede pasar por alto que MINIX está escondido dentro de casi todos los CPU Intel modernos como parte del Management Engine. Este hecho poco conocido lo convierte en uno de los sistemas operativos más ampliamente distribuidos.
También me da curiosidad qué versión de Minix usaron realmente. Minix v3.1 salió en 2005 junto con el libro; 3.2 salió en 2012 y 3.3 en 2014.
El debate entre Linus Torvalds y Andrew Tanenbaum pudo haber sido un punto de inflexión importante en la historia de la tecnología, y siento que MINIX perdió una oportunidad enorme de ocupar un lugar más grande en la historia.
Si asumimos que la mayoría de ellos ejecuta alguna forma de Linux o un sistema operativo en tiempo real, me pregunto cuál está más difundido: MINIX o Linux.
Leí Operating Systems: Design and Implementation en 1988 o 1989, y fue una experiencia reveladora y disfrutable.
En ese momento solo deseaba que algún sistema operativo parecido a Unix estuviera disponible “libremente”. Aquí “libre” era en el sentido intuitivo, no en la definición formal que conocí después. Podría haber sido Minix.
Su Computer Networks fue uno de mis libros favoritos cuando estudiaba ciencias de la computación.
Unos años después me tocó dar una clase de sistemas distribuidos en una escuela de negocios, y armé el material tomando ese libro como base. Incluso hoy me sigue pareciendo vigente.
Nunca profundicé demasiado en redes, pero ese conocimiento amplio se me quedó y me ha servido una y otra vez. Puedo decir que eso me diferencia de otros ingenieros.
Dicho eso, Modern Operating Systems es excelente, y cuando se lo recomendé a compañeros en la universidad recibí reacciones parecidas.
Me da un poco de pena que, a estas alturas, la investigación en sistemas parezca estar casi detenida.
Pensé que para 2024 estaríamos usando un sistema operativo distribuido que permitiera mover procesos libremente y sin mayor problema entre el celular, la computadora de escritorio, la laptop y el NAS.
Si quieres hacer algo que no sea equipo especializado, tiene que ser compatible con el software útil existente. Un nuevo cambio de paradigma que exija modificar el software existente tiene un camino muy difícil hacia el éxito. Aun así, hay muchísimos avances incrementales en los sistemas operativos.
La idea de un sistema operativo verdaderamente distribuido seguramente se le ha ocurrido a mucha gente. Estoy bastante seguro de que los sistemas operativos actuales terminarán evolucionando en esa dirección. Ya se empiezan a ver piezas aquí y allá.
Han pasado muchas cosas desde ese paper, pero tengo la sensación inquietante de que él tenía razón y de que dejamos de intentar expandir y explorar realmente las posibilidades. Aunque quizá tenga más que ver con el estado de la academia que con el campo en sí.
Antes de que llegara la ola de hype, tampoco era como si las aplicaciones GPGPU con machine learning recibieran montones de invitaciones a conferencias. Por la hegemonía académica y la fría realidad de perseguir financiamiento, lamentablemente no hubo mucho interés en la investigación de sistemas.
Si alguien intentara implementar una de estas ideas interesantes, lo juzgarían duramente porque el resto del stack no podría competir con un Pixel o un iPhone. Basta ver Rabbit.
Lo que describes es un tema central de la investigación moderna en sistemas, y los grandes proveedores de nube ya implementan internamente todo este tipo de cosas.
En general, a los consumidores les importa más la experiencia de usuario. Un software que sincroniza contenido con un servidor para que esté disponible en todos los dispositivos implica mucha menos carga que intentar mover procesos en vivo sobre una red inestable.
Muchos investigadores de sistemas estaban completamente obsesionados con el clustering, la transparencia de red y los sistemas distribuidos, y los veían como la cima de los sistemas operativos. Nunca entendí por qué. Entiendo perfectamente que es genial, pero nunca terminé de ver por qué era tan importante que un sistema servidor-laptop-celular-red funcionara como un solo sistema.
Creo que se desperdició mucho esfuerzo persiguiendo ese dragón. Está bien investigar cosas geniales y seguramente en el proceso se crearon cosas útiles, así que quizá “desperdicio” no sea la palabra exacta. Pero no siento que hubiera una justificación suficiente, y tal vez ese esfuerzo podría haberse usado mejor.
La alternativa —herramientas y modelos de programación multisistema que permitan administrar varios sistemas sin hacer que parezcan una imagen única en el nivel más bajo— no recibió mucho cariño en la academia después de TCP/IP, y en general fue la industria la que la desarrolló.
Otro dato interesante sobre Tanenbaum es que él era la persona detrás de electoral-vote.com.
Antes de que todos tuvieran su propio modelo y de que Nate Silver —o debería decir Poblano— arrasara en 2008, ese era el sitio al que había que ir para entender la elección presidencial estadounidense de 2004 entre Bush y Kerry. Ayudó muchísimo a mucha gente a entender encuestas y estadísticas.
Probablemente ya lo sepas, pero quería destacarlo para quienes no.
El profesor Tanenbaum ahora también tiene como coautor al profesor Bates. Bates es profesor de historia en UCLA/Cal Poly. El sitio publica todos los días; antes publicaba solo entre semana, y solo durante la temporada electoral.