¿Cómo se debe diseñar un nuevo sistema operativo?

Tenemos sistemas operativos suficientemente buenos para computadoras de escritorio y dispositivos móviles, por lo que la pregunta es qué dominio existe fuera de las computadoras de escritorio y los teléfonos que necesitan un nuevo sistema operativo.

Hay una serie de proyectos (BeOS, Plan 9, Darwin) que se parecen al sistema operativo que busca una plataforma: ¿en qué se diferencia otro sistema operativo?

¿Dónde estará el hardware dentro de 3-5 años, eso justifica un nuevo sistema operativo? ¿Qué le gustaría a la gente poder hacer, que no pueden hacer ahora?

Posiblemente:

– un sistema operativo para la computación en la nube?
– un sistema operativo que se adapta muy bien con una gran cantidad de procesadores (por ejemplo, algo que se puede ejecutar en una matriz apilada de procesadores 3D, en lugar de un chip 2D plano)
– un sistema operativo para la computación cuántica?
– un sistema operativo que facilita una amplia integración con coprocesadores FPGA?

Reemplace el sistema de archivos con un mecanismo de almacenamiento que comprenda las estructuras de datos modernas. Los archivos eran tecnología de los años setenta. Las bases de datos relacionales eran tecnología de los años ochenta. Ahora necesitamos gráficos, árboles y objetos persistentes que contengan código y datos. Los objetos almacenados deben ser más que un conjunto de datos, deben comprender su lugar en estructuras más grandes y ser capaces de realizar acciones.

Creo que Unix mató el concepto. Definió qué es un “buen” sistema hace décadas.

Mac OS, Linux, iOsS y Android están todos basados ​​en Unix, el único sistema que no es Unix son los sistemas operativos de Microsoft.

Unix también es un favorito para los sistemas integrados.

No creo que puedas crear algo mejor. MS no tuvo éxito en eso, recuerde.

Unix tiene los conceptos básicos (kernel, derechos de usuario, sistema de archivos) y simplemente itera sobre él. Pero los cimientos son sólidos. Roca sólida.

Estoy de acuerdo en que es difícil vencer a Unix, lo que lleva a la tendencia actual en los sistemas Unix: la virtualización y “la nube”. Muchos servidores Linux están expuestos directamente a través de servicios en la nube, como a través de EC2, OpenStack y servidores virtuales tradicionales. Se ofrecen muchos más a través de PaaS y servicios de infraestructura como mensajería y colas.

Dicho esto, algunos de los bordes ásperos de este modelo todavía se muestran. Un nuevo sistema operativo puede participar en la nube de formas más distribuidas y sin problemas, como ejecutar aplicaciones y servicios en los bordes.

Algo así como un “API OS”?

Si bien estoy de acuerdo con la versatilidad de UNIX y con la necesidad de deshacernos del sistema de archivos, hay un aspecto más importante que necesita mejoras: los procedimientos actuales de inicio del sistema operativo y de inicialización del hardware son bastante complejos y requieren mucho tiempo. En los sistemas operativos actuales tipo UNIX, se han propuesto una serie de soluciones a este problema y, en lugar del inicio tradicional “System V”, ahora tenemos varios enfoques diferentes, como systemd, launchd, etc., pero no creo que estemos bastante allí todavía …