¿Por qué las computadoras construidas con un SO (a menudo Windows) preinstalado?

Un sistema operativo tiene varios propósitos:

Proporciona un conjunto de servicios básicos que facilitan la creación de programas.

Hay muchos problemas que casi todos los programas deben resolver. ¿Cómo se muestran los datos en la pantalla? ¿Cómo almacena la información para que un usuario pueda encontrarla más tarde? ¿Cómo te comunicas con otras computadoras?

Los sistemas operativos modernos proporcionan formas de hacer estas cosas. ¿Quieres mostrar datos en la pantalla? Realiza una llamada que abre una nueva ventana en la pantalla y otras llamadas que colocan texto, imágenes, etc. en esa ventana. ¿Quieres almacenar información? El sistema operativo proporciona un sistema de archivos estandarizado, con formas de encontrar archivos y leerlos y escribirlos. Para comunicarse con otras computadoras, el sistema operativo proporciona una biblioteca de red que le permite comunicarse fácilmente a través de los estándares IP.

Ahora, también puede hacer estas cosas a través de bibliotecas, y de muchas maneras, eso es lo que es un sistema operativo. Un conjunto estandarizado de bibliotecas que puede esperar estar presente en un sistema.

Resume hardware a interfaces estandarizadas.

Esto es parte de lo anterior. ¿Cómo se comunica con, por ejemplo, un disco duro SCSI? ¿Un disco duro SATA? ¿Una unidad flash USB? Y considere la cantidad de tarjetas de video diferentes que existen.

Es responsabilidad del sistema operativo conocer estos diferentes tipos de dispositivos y ocultar las diferencias innecesarias entre ellos. Mientras realiza dicha gestión de hardware, los sistemas operativos modernos también brindan servicios tales como hardware de conexión en caliente, detección de fallas de hardware y conmutación por error automática, notificación a programas de tales cosas, etc.

Gestiona el sistema para que varios programas puedan ejecutarse a la vez sin entrar en conflicto.

Proporciona gestión de memoria, de modo que cada programa puede comportarse como si tuviera su propio espacio de memoria exclusivo; gestión de pantallas, para que un programa pueda compartir una pantalla con otros; gestión del procesador, para que cada programa pueda comportarse como si tuviera un uso exclusivo de la CPU; y así.

Entonces, si no tienes todas estas cosas, ¿cómo se ve?

Bueno, mira hacia atrás a las PC más antiguas. La mayoría de las PC tenían conjuntos muy limitados de hardware disponible. Esto era necesario para que los escritores de programas supieran con qué debían operar y pudieran planificar en consecuencia. Debido a que los programas se escribieron en el hardware, era común que un nuevo modelo de computadora simplemente no pudiera ejecutar ninguno de sus antiguos programas, incluso si era del mismo fabricante. Casi todos los sistemas tenían una única tarea, porque los sistemas operativos no proporcionaban la gestión necesaria para permitir que los programas compartieran recursos. Los que a menudo confiaban en los programas “jugando bien” entre sí, con el resultado de que los bloqueos y bloqueos eran comunes.

Este tipo de limitaciones también se debieron a que el sistema operativo está “integrado” en la computadora en forma de ROM. A menudo no había una forma práctica de actualizar el sistema operativo … y cuando lo había, un problema con la actualización “bloquearía” la computadora, como puede suceder ahora con los teléfonos inteligentes.

En plataformas con una variedad más amplia de hardware disponible, se dio por sentado que necesitaría verificar la compatibilidad de cosas como impresoras, unidades de disco o tarjetas gráficas con cada programa que desea ejecutar.

Cuando podía ejecutar un programa en un sistema más nuevo, la mayoría de las veces el programa no podía aprovechar las capacidades y el hardware más nuevos. Por ejemplo, si quisieras ejecutar los programas Commodore 64 en un 128, no podrían usar los 64 KB adicionales de memoria, y no podrían usar el “modo de alta velocidad” de la unidad de disco del C128. Los programas C64 simplemente no sabían sobre tales cosas.

Recuerdo los días de escribir comandos de módem para marcar un número manualmente en ProComm. No había tal cosa como un “controlador de módem”, por lo que tenía que buscar en el manual de su módem y encontrar las cadenas de configuración necesarias para hacer varias cosas, e ingresarlas en usted mismo. Después de un tiempo, la mayoría de los módems usaron el conjunto de comandos de Hayes, por lo que fue posible que los programas de terminal estuvieran preconfigurados con los valores predeterminados, pero había versiones extendidas incompatibles del conjunto de comandos, y todavía había módems con conjuntos no estándar.

Tener un sistema operativo para realizar los detalles de bajo nivel y tenerlo configurado de tal manera que pueda actualizarse fácilmente es algo maravilloso. ¡Tómelo de alguien que haya tenido que trabajar con computadoras sin un sistema operativo real!

A2A: La computadora es inútil sin uno. Sorprendentemente, muchas personas no son competentes para instalar una, pero pueden usarla (hasta cierto punto). Tener un sistema operativo ya instalado es una conveniencia que muchas personas están dispuestas a pagar. Los fabricantes de PC no tienen que pagar mucho a Microsoft para instalar Windows. De hecho, a pesar de que un sistema operativo Linux puede ser gratuito, es probable que tenga que pagarle a un fabricante más por la misma máquina si instala Linux en usted porque no vende muchos de esa manera y es más problemático capaz de soportar tales máquinas.