¿Por qué no tenemos más computadoras y dispositivos que funcionan con un sistema operativo de hardware / firmware?

Es perfectamente fácil escribir dicho sistema operativo con el hardware y el firmware que existen. El problema es que sería extremadamente inflexible. Casi todos los virus y la piratería existen subvirtiendo las instalaciones realmente útiles. Por ejemplo, si prohibimos Javascript y permitimos solo páginas HTML estáticas, legiones enteras de hacks basados ​​en web serían imposibles, pero la mayor parte de la Web sería inútil. Si ordenó que todos tuvieran que tener contraseñas de 20 caracteres, no hay dos personas que puedan tener la misma contraseña (o, más exactamente, el mismo hash de contraseña) en un sitio determinado y hacer una verificación del diccionario en la contraseña, la piratería de contraseña sería mucho más difícil, pero iniciar sesión sería tan difícil que pocos lo harían.

El hardware de gestión de memoria en cualquier CPU moderna es capaz de prevenir cualquier ataque, si sabe que es un ataque. Pero los atacantes siempre fingen ser buenos tipos. Así como la guerra moderna generalmente no es ejércitos avanzando a través del condado uno hacia el otro, sino IED, francotiradores, etc. utilizados por personas que se parecen exactamente a los tipos honestos que los rodean, la mayoría de los piratas comienzan con un engaño, engañando a alguien para que otorgue derechos a un programa que ellos no haría si entendieran lo que están haciendo.

La seguridad, ya sea en línea o en el mundo real, siempre es una tensión entre seguridad y usabilidad. Las cerraduras y las cadenas cuestan dinero para construir, y toman tiempo para abrir y cerrar. Cada puerta de enlace necesita un tutor, y los guardianes pueden ser engañados. Gaste más y esté dispuesto a pasar más tiempo, y tendrá más seguridad. Pero las puertas de acero y el alambre de púas pueden ser subvertidos por alguien que finge ser un amigo, y darles a todos una búsqueda de cuerpo completo antes de que entren en su casa los perderá. Si nunca sales, no serás asaltado. Todos estos tienen analogías precisas en el mundo cibernético.

Hay un montón de preguntas aquí.
Para empezar, mi computadora portátil tiene un disco de estado sólido (SSD), por lo que estoy empezando a no entender la diferencia entre un sistema operativo de firmware y la PC doméstica promedio.
La mayoría de los sistemas permiten la actualización del software cargado por el OEM (fabricante de equipos originales) y nadie interrumpe el párpado con una ‘actualización de firmware’ descargada de Internet.
Así que realmente estoy empezando a dejar de entender la diferencia y, en retrospectiva, me pregunto por qué deberíamos emocionarnos acerca de si el software se mantiene en dispositivos de estado sólido o electromecánicos (discos duros).
Creo que la pregunta es si deberíamos hacer que los sistemas operativos sean de solo lectura desde la fecha de fabricación.
Absolutamente no. Los riesgos de fallas graves se encuentran en lo enormemente complejo que es un sistema operativo moderno que genera generaciones enteras de basura de hardware porque era de solo lectura muy superior a los cambios maliciosos que pueden mitigarse.

La última vez que se detectó un ‘error’ de hardware de alto perfil (el error Pentium FDIV en 1994) terminó costando $ 475 millones (cancelación de Intel).
Toda la dirección de viaje ha sido hacia firmware actualizable, no lejos de él.

De hecho, diría que la única razón por la que siempre proporcionó software ROM fue el costo de producción, NO la inmutabilidad del código.

La gente usa miles de millones de ellos, pero no se da cuenta. Por ejemplo, a pocos centímetros de mí, un adaptador de fibra óptica, que puede controlar IPTV, VoIP, LAN, conexión a Internet. También a pocos centímetros de mí, un enrutador Wifi configurable con Wifi y conexión LAN 4 + 1. (sus sistemas están en hardware) o satélites en el espacio. O centrales telefónicas. Así que no olvide los dispositivos con sistemas integrados, cuando diga cosas, como esta pregunta. (Reproductor de DVD, cámara, sintonizador de cable, televisores modernos, etc.) Y hay muchos lugares, empresas donde utilizan terminales inteligentes de “cliente ligero” para trabajar. Y las “nubes” también ayudan en esta dirección. (otra pregunta, que a la gente le gusta “kraftwerk” en el escritorio 😛)

En realidad lo hicimos al mismo tiempo. El sistema operativo fue construido en ROM y el software vino en cartuchos ROM. Las primeras computadoras Tandy (Radio Shack) funcionaron de esa manera. Cualquier actualización requiere el reemplazo de chips. La computadora básica solo tenía una capacidad gráfica limitada. Había un chip de “actualización” (ROM) que le daría más capacidad de gráficos a un precio. Podrías hacer “procesamiento de texto”. En lugar de usar una máquina de escribir, podría retroceder y cambiar lo que había escrito. No hay corrector ortográfico, por supuesto. Los datos se guardaron en cinta de cassette que tenía sus propios problemas. Más tarde, se podría utilizar un sistema de unidad de disco. El costo era alto para los estándares de hoy. Había un módem disponible (300 baudios).

Las computadoras posteriores usaron MS-DOS que venía en disquetes. Los discos duros estaban disponibles. El software se volvió mucho “capaz” y las actualizaciones estaban disponibles. Shareware y freeware llegaron a ser. Windows 3.1 apareció para sistemas operativos de 16 bits. Windows 95 ofrecía sistemas de 32 bits. La World Wide Web y Usenet ofrecían mucho más que los BBS anteriores.

Hoy estamos más “expuestos” al malware porque nuestros sistemas operativos existentes están más “abiertos”. Sin embargo, tenga en cuenta que las Chromebook no necesitan los programas antivirus y de malware que las máquinas Windows necesitan. Es cierto que las Chromebooks son algo limitadas en lo que respecta a la impresión y algunos programas como Skype (video bidireccional) no funcionan en una Chromebook. Por lo tanto, hay una “compensación” que se puede hacer con los sistemas operativos.

Creo que ya lo han hecho con ciertas máquinas especialmente diseñadas.

Las razones por las que no lo hacen en la mayoría de las PC es porque colocar el sistema operativo en un medio no grabable dificulta la ejecución de nuevos programas. Además, si hay un defecto en el sistema operativo, no podría actualizarlo para solucionarlo.

La ventaja es que los virus aún causan estragos en su sistema, ya que se cargan en la RAM se podrían eliminar reiniciando la máquina.

La desventaja es que, en lugar de una computadora multipropósito que puede ejecutar cualquier programa, sería una máquina de un solo propósito con mucha menos utilidad.

Dicho esto, he pensado en una forma de permitir que aún sea multipropósito, pero es una idea, y todavía no soy un programador, y aún podría estar sujeto a virus / malware.

Si alguien más sabe más, no dude en corregirme.

Un sistema operativo / firmware difícil dificultaría las actualizaciones. Y tener código en el firmware no es una garantía absoluta de que no pueda ser pirateado: muchos dispositivos médicos y otros sistemas basados ​​en firmware son muy pirateables, ya que contienen defectos que permiten que el código disfrazado de datos se inyecte en la memoria del sistema.

Hacemos. Su computadora portátil tiene un BIOS. ¿Usas reloj de pulsera? ¿Llevar un teléfono inteligente? ¿Tiene un enrutador WiFi en su hogar u oficina? ¿Qué tal un televisor moderno? ¿Qué tal un automóvil (se puede decir Unidad de control del motor?).

Su enfoque lo hace inmodificable incluso con actualizaciones genuinas.

Como dice Paul Olaru, si tenía un firmware no modificable, entonces no puede tener actualizaciones del sistema operativo. Si es modificable, entonces es más o menos lo mismo que tenerlo en el disco, podría ser cambiado por una parte no confiable.

También es una pena que el sistema operativo en estos días sea bastante grande, por lo que necesitaría una EEPROM de firmware (o similar) lo suficientemente grande como para contenerlo, además de dejar espacio para el futuro cuando el sistema operativo se haga más grande.

Cuando el sistema operativo era más pequeño, a menudo se suministraban en ROM. El sistema operativo RISC (disponible en Raspberry Pi si quieres probarlo) solía venir en chips ROM, y tenías que quitar la parte superior de tu computadora, sacar los chips viejos y poner los nuevos. La distribución es costosa, una molestia, corría el riesgo de dañar el zócalo del chip cuando lo hizo, y cosas así. En el lado positivo, ¡arrancó rápido como el infierno!

Pero tampoco puede actualizarlo, para corregir errores y puertas traseras que se aprovechan fácilmente pero son difíciles de solucionar.