¿Cómo diseñarán los ingenieros de software un sistema operativo después de 100 años?

El desarrollo del sistema operativo se ha estancado por completo y parece que todos los desarrolladores de sistemas operativos han perdido su mojo y se han quedado dormidos.

Hay una clara falta de visión de lo que podría ser un sistema operativo. Lo puse en dispositivos móviles / tabletas, por lo que tal vez pueda volver a encenderse.

El problema es así.

Los sistemas operativos anteriormente impulsaban el rendimiento y la tecnología de punta. Por lo tanto, un nuevo sistema operativo sería más exigente, necesitaría equipos más potentes, pero tendría nuevas características interesantes. Las PC mejorarían y todos actualizaríamos debidamente.

Entonces sucedió la movilidad. De repente, la poca duración de la batería es preciosa, por lo que hacer cualquier cosa que haga que su procesador esté mal visto. Microsoft tuvo que cambiar esencialmente de agregar muchas características nuevas, a hacer que el sistema operativo funcione con menos potencia, en hardware menos exigente y en una pantalla de tableta.

Entonces, los sistemas operativos ahora no han cambiado mucho y en su lugar pensamos que el sistema operativo es muy secundario a las aplicaciones.

Windows 10 funciona bien en computadoras que tienen diez años, y en algunos casos hace que las máquinas funcionen más rápido.

Todo esto es en nombre de la duración de la batería, y es una lástima.

Por ahora, las máquinas son mucho más capaces y, sin embargo, hemos reducido el sistema operativo a ser como su teléfono con una pantalla más grande.

Lo que debería haber estado sucediendo y tal vez lo hará es un sistema operativo que es mucho más capaz. Aquí hay unos ejemplos.

El sistema operativo en una PC con alimentación debe estar diseñado para trabajar constantemente en su nombre, en la nube y con sus dispositivos 24/7. Es una locura que los sistemas operativos modernos se sientan allí y no hacen nada más que revisar los correos electrónicos y el análisis de virus el 99% del tiempo y, sin embargo, este dispositivo potencialmente debería saber más sobre lo que desea.

En lugar de cosas como contactos, direcciones, calendarios, amigos, horarios, etc., al ser aplicaciones, deberían ser elementos profundamente integrados en el sistema operativo. ¿No es una locura que en el siglo XXI sigamos haciendo una mierda como tratar de mantener una lista de contactos, un calendario y una lista simple de hacer?

El sistema operativo debería tenerlo como persona como único enfoque, en lugar de como un “usuario” aleatorio. Debe hacer un seguimiento de lo que escribe, qué tan rápido, qué errores comete, qué aplicaciones usa, cómo usa la computadora, qué horas está libre, qué actividades le gustan, qué dispositivos tiene, su carrera, su vida social, sus enfermedades, su dinero, sus gustos musicales y televisivos, los libros y juegos que disfruta y su estado físico.

Nuevamente, ¿por qué? Estamos constantemente luchando con dispositivos, moviendo listas locas, calendarios y la misma información una y otra vez entre aplicaciones y dispositivos.

Todos los dispositivos deben ser parte del sistema operativo en lugar de instancias separadas. Cuando recibo un mensaje actualmente, mi Xbox, computadora portátil y teléfono hacen ping al mismo tiempo, lo cual es una mejora en el pensamiento unido, pero los dispositivos si estuvieran al tanto el uno del otro, la proximidad y dónde estaba, deberían poder notifíqueme en un dispositivo de la manera apropiada.

El sistema operativo de la computadora tiene la oportunidad de pensar en sí mismo: en este momento esta persona está jugando un juego activamente, así que le notificaré el mensaje del juego, o esta persona está conduciendo, así que esperaré hasta que el auto deje de moverse durante 20 segundos y hace sonar su teléfono. Hay miles de formas en que un sistema operativo podría ser mejor y más inteligente.

El sistema operativo debe ser consciente de lo que es probable que quiera y evitarlo. La mayoría de las personas se encuentran buscando en Google una y otra vez las mismas cosas que les interesan y cabreándose con las cosas que no quieren pero que no pueden eliminar. Al mismo tiempo, hay muchas cosas que quiero activamente, pero aparte de una búsqueda tonta, mi PC no me ayuda en absoluto.

Sé que quiero comprar un automóvil, tengo una idea del modelo, la edad y las millas que quiero. Pero luego tengo que rastrear miles de sitios web que intentan encontrar el automóvil, de una persona que está igualmente desesperada por venderme.

Debería poder expresarle a mi sistema operativo que esto es algo que quiero, y la computadora puede encontrarlo para mí, comparar precios, etc. y luego decirme qué encontró. Lo que sucede estúpidamente en este momento es que Amazon o Google notan que está buscando automóviles, y pasa el resto de su vida mostrándole anuncios que pueden ser relevantes o no.

Otra característica de un sistema operativo futuro sería que tiene una instancia en la nube. Un sistema operativo de futuro debe comenzar con un proceso real en ejecución en la nube, esa es su identidad y luego sus dispositivos son sistemas operativos paralelos que se coordinan con él.

De esa manera, sus procesos se ejecutan en el lugar más apropiado, todo el tiempo y todos sus dispositivos están coordinados. Por lo tanto, su teléfono tendría acceso a la instancia de la nube y casi sería un panel de vidrio para él. Cuando compra algo como un auricular Bluetooth o tiene un asistente virtual como Cortana / Siri, serían un solo dispositivo. Es decir, agrega sus auriculares desde un dispositivo y todo su kit se da cuenta de ellos y puede usarlos. Siri, cuando te habla, lo hace desde el dispositivo más apropiado según tu circunstancia: dónde estás, qué estás haciendo.

Los sistemas operativos deben ser arrastrados al siglo XXI: hay mucho por hacer y eso se puede hacer.

Es dudoso que alguna vez construyamos otro sistema operativo comercial, tradicional y de propósito general desde cero.

Está resuelto, está hecho y es gratis: Linux, o lo que sea, nos da más del 90% de utilización de recursos listos para usar. Los dispositivos ahora hablan protocolos estándar / API. El hardware es barato, el desarrollo de software es costoso, por lo que es mejor comprar más hardware que exprimir un 10% adicional escribiendo software costoso de uso general.

Dicho esto, todavía escribimos sistemas operativos desde cero: ahora solo los llamamos servicios en la nube, marcos informáticos distribuidos o plataformas de pila completa, o servidores virtuales, o contenedores, o cómputo a pedido, o estructuras de datos, o cómputo elástico , o lo que sea. Son los mismos problemas de asignación de recursos, programación, seguridad y solidez, pero ahora tenemos 100,000 núcleos, petabytes de datos y una computadora que abarca físicamente toda la Tierra. Supongamos que en 20 años, eso también estará tan bien resuelto que nadie tendrá que volver a hacerlo, entonces podremos trabajar en el siguiente nivel de abstracción.

Esto va a ser completamente improvisado y una especulación completa, pero: mucho de lo que pensamos como sistemas operativos simplemente desaparecerá en el hardware; después de todo, la mayor parte de lo que hace un o / s es administrar los recursos de hardware.

  • Los dispositivos se administrarán solos, conectándose a redes / planos posteriores y hablando de protocolos estándar. No más controladores de dispositivo per se.
  • Con la llegada de los procesadores de muchos núcleos, la tendencia hacia la concurrencia masiva continuará. Los procesadores incluirán instrucciones de administración de procesos (como las instrucciones de la máquina virtual que vemos hoy), y los procesos livianos se pondrán en cola y se moverán, bajo control de hardware. Básicamente, todas las funciones del kernel terminarán en hardware o en procesos individuales (el enfoque de micro-kernel).
  • Las funciones de O / S de nivel superior, especialmente aquellas que ya viven en el área de usuarios, migrarán a middleware / plataformas.

Ahora, todo eso está relacionado con las arquitecturas informáticas tradicionales. Cuando se trata de cosas nuevas, como las computadoras cuánticas, espero que haya todo tipo de nuevas funciones o / s que tengan que ver con la configuración y el control de los cálculos cuánticos.

More Interesting

¿Cuáles son algunas preguntas extrañas y difíciles formuladas en una entrevista de IAS?

¿Es difícil para un estudiante que no tiene experiencia en TI hacer frente a las cosas en TCS ILP?

¿Cuáles son algunas ideas de cómo puedo conseguir un trabajo después de hacer mi ingeniería mecánica?

¿Cuánto tiempo lleva pasar del nivel 61 al nivel 63 en Microsoft?

Completé B.com en 2011, pero estoy más fresca porque no había trabajado para ninguna empresa hasta ahora. ¿Podría conseguir un trabajo en una empresa como contador?

¿Hay una gran diferencia en la vida de aquellos que asistieron a universidades privadas de élite (MIT, Ivies, etc.) en comparación con los que asistieron a universidades públicas estatales (UMass, Stony Brook, etc.)?

¿Cuál sería su consejo para que un programador obtenga un trabajo de nivel de entrada en la programación del sistema?

Cómo obtener una pasantía de verano para un estudiante de ECE en BSNL, ECIL 2015 en Hyderabad

¿Qué exámenes puedo hacer para cambiar mi trabajo?

¿Tiene 23 años demasiado para unirse al ejército y luego ir a la universidad?

Estoy en mi último año de B. Tech de una universidad promedio y afortunadamente obtuve una colocación en TCS. ¿Qué debo hacer para que sea grande a los 30 años?

¿Puedo convertirme en el mejor gerente de proyecto sin un título de MBA?

¿Qué debo hacer con el mal comportamiento de un entrevistador después de la entrevista?

Cómo comenzar la base y el trabajo de base para convertirse en un Científico de Datos

GitHub presenta muchas API, pero ¿cómo las uso? Soy un novato total en esto. ¿Tengo que descargar sus archivos?