¿Por qué un sistema operativo es una parte necesaria de una computadora?

Ha habido algunas buenas respuestas a esta pregunta. Otra forma de pensar en esto es que existe un sistema operativo (SO) por conveniencia. Sin un programador del sistema operativo, y en última instancia, los usuarios de la aplicación, tendrían que trabajar con funciones de bajo nivel del procesador, una tarea inconveniente y que consume mucho tiempo, complicada por la enorme cantidad de procesadores diferentes, cada uno con su propio conjunto de instrucciones y características únicas. Además, con un sistema operativo de alto nivel, cada desarrollador y aplicación probablemente haría las cosas de diferentes maneras: implementar copiar y pegar con diferentes comandos, tener sus propias convenciones de nomenclatura para archivos, controlar la seguridad como mejor les parezca, etc. un “término medio” conveniente para crear y ejecutar programas, además de proporcionar un grado de estandarización para interfaces de usuario y funciones de sistema de alto nivel, como trabajar con archivos, carpetas y conexiones de red. Los desarrolladores no tienen que seguir esos métodos estándar, pero generalmente se encuentran en el núcleo de la arquitectura del sistema y la experiencia del usuario, por lo que las aplicaciones en un sistema operativo determinado tienden a tener un “aspecto y sensación” similares.

¿Es todo esto necesario? Por supuesto no. Un sistema operativo es simplemente un programa (o, con un sistema operativo moderno, un conjunto de programas): los desarrolladores del sistema operativo trabajan en el bajo nivel (a menudo llamado “programación en / cerca del metal”) para crear nuevas características, funciones y funciones completas. nuevos entornos operativos. Los sistemas operativos a menudo se desarrollan gradualmente de abajo hacia arriba: crear un conjunto básico de características y funciones que se ejecutan de forma nativa (sin un sistema operativo); usar ese núcleo para implementar características y funciones de alto nivel y más complejas; repita este iterativo proceso de creación hasta que el sistema tenga un conjunto deseado de herramientas y utilidades para apoyar a los desarrolladores de aplicaciones y usuarios finales.

No es. Muchos sistemas informáticos simples solo ejecutan un solo programa y no tienen ningún sistema operativo. Por ejemplo, las computadoras en hornos de microondas, radios de reloj, videograbadoras y otros dispositivos similares a menudo no tienen sistema operativo.

Entonces, ¿por qué quieres un sistema operativo? Bueno, las computadoras sin SO tienden a tener algunas cosas en común: solo ejecutan un solo programa, que solo se ejecutará en un diseño de hardware en particular.

Sin embargo, la mayoría de los programas no se ejecutan en condiciones tan limitadas. Se ejecutan en cientos o miles de configuraciones de hardware diferentes, en sistemas que se utilizan para ejecutar una amplia variedad de programas, a menudo al mismo tiempo.

Un sistema operativo proporciona instalaciones que facilitan la escritura de programas para ejecutarse en un entorno tan complejo. Algunos de los importantes son:

Abstracción de hardware . Considera el almacenamiento. Unidades USB, discos SCSI, discos SATA, CD y DVD, unidades Zip, unidades de disquete, almacenamiento en red … todo esto funciona de manera diferente a nivel de hardware. Sin embargo, el sistema operativo proporciona controladores y la abstracción de un sistema de archivos, por lo que los programadores normalmente no tienen que preocuparse de qué archivos se almacenan realmente.

Gestión de contención . Entonces, su programa comienza a escribir un archivo … y también lo hace otro programa. ¿Qué impide que los dos interfieran entre sí y hagan un desastre? Ese es uno de los trabajos de un sistema operativo.

Estandarización Imagine si cada programador tuviera que escribir su propio sistema de archivos. ¡Necesitaría un disco diferente para cada programa! Incluso si acordaron usar un sistema de archivos, si cada uno tuviera que implementar la lógica en su propio programa, inevitablemente algunos programas harían las cosas de manera diferente, causando problemas. Al hacer que el sistema operativo administre estas cosas, tenemos mayor seguridad de que los datos se escribirán de manera coherente y que un programa podrá leer los archivos generados por otro.

Interfaz . El usuario necesita una forma de buscar y manipular archivos, iniciar y finalizar programas, etc. Los sistemas operativos modernos proporcionan medios para hacerlo, y en general de tal manera que un solo programa no puede ‘bloquear’ fácilmente el sistema.

Nunca fue Los sistemas operativos solo se hicieron populares durante las últimas décadas. En aquel entonces, las computadoras se cargaban con tarjetas perforadas, y lo ejecutaban directamente. Hoy en día, le damos a la computadora algo de texto y lo ejecuta. Ese es el trabajo del sistema operativo, es una interfaz de usuario. También puede seguir adelante y volver a cablear manualmente su televisor para obtener el canal que desea, o usar un control remoto.
¿Has oído hablar de USB / CD de arranque? No son un sistema operativo y no necesitan un sistema operativo. Por lo general, están codificados en C, que luego es traducido por el chipset en la PC y ejecutado directamente por la CPU.
Entonces, ¿qué preferirías hacer: codificar directamente la CPU?

¿O el chipset?

O, cómodo, en un sistema operativo bellamente diseñado, tal vez en algo tan legible como

Pitón:

O C #?

Lo mismo aplica para los juegos. O bien, obtenga gráficos basados ​​en ASCII porque realmente no puede programar en estos lenguajes de bajo nivel, o algo tan hermoso como, por ejemplo, Elder Scrolls: en línea porque con un motor, puede crear automáticamente miles de líneas de código con un mínimo esfuerzo.

Un sistema operativo es tan importante que los cursos de informática incluyen un curso completo en sistemas operativos.

La razón se entiende mejor en un popular libro de texto recomendado por la universidad sobre el tema:

Los sistemas operativos son una parte esencial de cualquier sistema informático. Del mismo modo, un curso sobre sistemas operativos es una parte esencial de cualquier educación en informática. Este campo está experimentando un cambio rápido, ya que las computadoras ahora prevalecen en prácticamente todos los ámbitos de la vida cotidiana, desde dispositivos integrados en automóviles hasta las herramientas de planificación más sofisticadas para gobiernos y empresas multinacionales.

Un sistema operativo actúa como intermediario entre el usuario de una computadora y el hardware de la computadora. El propósito de un sistema operativo es proporcionar un entorno en el que un usuario pueda ejecutar programas de manera conveniente y eficiente.

Un sistema operativo es un software que administra el hardware de la computadora.

El hardware debe proporcionar mecanismos apropiados para garantizar el funcionamiento correcto del sistema informático y evitar que los programas del usuario interfieran con el funcionamiento adecuado del sistema.

Un sistema informático se puede dividir aproximadamente en cuatro componentes: el hardware, el sistema operativo, los programas de aplicación y los usuarios (Figura siguiente).

▲ Vista abstracta de los componentes de un sistema informático.

El hardware, la unidad central de procesamiento (CPU), la memoria y los dispositivos de entrada / salida (E / S), proporcionan los recursos informáticos básicos para el sistema. Los programas de aplicación, como procesadores de texto, hojas de cálculo, compiladores y navegadores web, definen las formas en que estos recursos se utilizan para resolver los problemas informáticos de los usuarios.

El sistema operativo controla el hardware y coordina su uso entre los diversos programas de aplicación para los distintos usuarios.

También podemos ver un sistema informático que consta de hardware, software y datos. El sistema operativo proporciona los medios para el uso adecuado de estos recursos en el funcionamiento del sistema informático.

Un sistema operativo es similar a un gobierno. Como un gobierno, no realiza ninguna función útil por sí mismo. Simplemente proporciona un entorno dentro del cual otros programas pueden hacer un trabajo útil.

Conceptos del sistema operativo, novena edición, por Silberschatz, Galvin, Gagne; Wiley, 2013

Un sistema operativo es un tipo de “marco” entre el hardware y el software que se ejecuta en él, así como la GUI es un tipo de “marco” entre el software y usted, el usuario.

Si puede apreciar los detalles del hardware en la computadora que está utilizando, se sorprenderá. Cada vez que mueve el mouse o hace clic en el teclado, pone en marcha una cascada de eventos que media el sistema operativo. Lo abstrae todo del software de aplicación, para que no tenga que ocuparse de todos los detalles de bajo nivel. Sin él, el software generalizado sería imposible. Escribiría algo que solo podría ejecutarse en su configuración de hardware exacta, pero se rompería en otro lugar.

Como otros han mencionado aquí, no siempre necesita un sistema operativo, como es el caso de los sistemas integrados que solo servirán para un único propósito. Pero incluso aquí es posible que desee un sistema operativo, especialmente si el hardware puede cambiar.

El sistema operativo tiene que ver con la abstracción . Sin eso, las cosas serían mucho menos agradables.

A2A: no lo es. He creado varios sistemas que utilizan programas dedicados que se ejecutan en un procesador sin ningún sistema operativo. (O podría decir que proporcionaron su propio sistema operativo en la medida en que era necesario, pero no cualquier cosa que cualquier otra persona pudiera usar como sistema operativo). Sin embargo, si ya existe un sistema operativo adecuado, puede hacer que el desarrollo sea mucho más fácil porque La mayoría de los problemas relacionados con el control del hardware ya se han solucionado. Los sistemas operativos también proporcionan una gran cantidad de funciones de alto nivel muy útiles, como sistemas de archivos y comunicación de red.

¡Pregunta interesante! El sistema operativo generalmente se incluye con el hardware de la computadora (PC con Windows, Mac con OS / X). En Free-Solutions ahora tenemos un enfoque diferente con un sistema operativo que puede ejecutarse en todo tipo de hardware . Con este escenario, demostramos que es posible un enfoque diferente, utilizando la aplicación Desktop + data + de su computadora en cualquier hardware que tenga todo el sistema ejecutándose en una memoria USB. Al hacerlo, se abrirán nuevas puertas y podrá considerar un dispositivo de almacenamiento (pendrive USB que es “la computadora completa”. Contiene un sistema operativo universal + todas las aplicaciones y datos. En este caso, el sistema operativo ya no es parte de la computadora , es parte de la pila de software. Pero en todos los casos necesita un sistema operativo que provenga de una memoria USB o que esté instalado en el disco. También podemos considerar otro enfoque que incluya software que se entregue con el sistema operativo necesario.

Por lo tanto, el sistema operativo principalmente realiza un trabajo de comunicación que permite que sus softwares administren recursos y manejen dispositivos físicos de hardware (disco, cámara, RAM, teclado …). Por lo tanto, es obligatorio ejecutar cualquier aplicación. Pero podría separarse de lo que podríamos llamar una computadora de todos modos (solo hardware), solo una cuestión de metodologías y estrategia de marketing y distribución.

#Geekerware en twitter

Si bien no es absolutamente necesario (después de que existen todos los programas que controlan completamente el hardware directamente), un sistema operativo es, con mucho, el nivel de abstracción que hace las cosas mucho más fáciles.

Sin un sistema operativo, la aplicación debe simular el concepto de archivos por sí misma (y tener el sistema de archivos). La única excepción es FAT32 según lo admite EFI. (Y si el firmware compatible con EFI es compatible con otros sistemas de archivos, el programa sin sistema operativo se salvará de soportarlos manualmente).

Además, el subprocesamiento múltiple es … específico del hardware, es decir, debe analizar la tabla ACPI usted mismo. (El APM clásico no tiene SMP). ¿Gestión de la memoria? Bueno, de todos modos, posiblemente pueda usar la memoria virtual, aunque no necesariamente (tengo un concepto de sistema operativo en la planificación que solo usa memoria virtual para procesos de código nativo).

¿Redes? Su aplicación debe proporcionar tanto el controlador de la tarjeta de red (para poder enviar paquetes Ethernet) como una pila TCP / IP (y UDP, e IPv6 posiblemente). HTTP y dichos protocolos de nivel de aplicación generalmente son compatibles con la aplicación misma incluso con un SO presente, pero las capas subyacentes generalmente se dejan en el SO (que pueden explotar las capacidades de ciertas NIC)

¿Gráficos? Bueno, aquí puedes tener una ventaja. Si bien aún necesita admitir directamente la GPU, en realidad obtiene una interfaz directa que en realidad puede tener un buen rendimiento en una aplicación bien escrita. Claro, algunos pueden estar bien con interfaces de modo de texto o bit bititing (piense en todos los programas y juegos de DOS)

¿He olvidado alguna abstracción?

El sistema operativo es una parte necesaria de una computadora de uso general .

El concepto básico del sistema operativo es la gestión de recursos: memoria, E / S, interrupción de hardware y tiempo de CPU.

Cuando se ejecutan varias aplicaciones en la misma máquina, intentarán acceder al mismo recurso al mismo tiempo: conectarse a la red a través de una única NIC, leer archivos del disco duro a través de una sola interfaz SATA, dibujar la interfaz de usuario en un solo monitor, etc. Alguien debe asumir la responsabilidad de resolver los conflictos, y ese “alguien” no es más que un sistema operativo.

Si diseña un sistema informático para un único propósito específico, en realidad puede omitir el sistema operativo. Por ejemplo: calculadora .

Sin un sistema operativo, tendría al menos dos problemas:

  1. Solo puede ejecutar un programa a la vez.
  2. Cada programa tendría que estar vinculado con los controladores para su hardware en particular.

Así funcionaba el software en los años cincuenta y principios de los sesenta. Tendría, por ejemplo, un programa de nómina vinculado a su computadora específica: la cantidad de memoria que tenía, la consola que tenía, el número y tipo de unidades de cinta y (si tuvo suerte) unidades de disco. Esto funcionaría por algún tiempo, luego la computadora se cerraría y se reiniciaría con, digamos, el programa de control de existencias, también vinculado a su hardware en particular.

Esta sigue siendo la forma en que se ejecutan muchos sistemas integrados. Tienen un programa incorporado individualmente en la memoria flash, y solo ejecutan eso. Lo cual está bien para máquinas que solo hacen un trabajo, pero no para una máquina de uso general.

Es solo una leve generalización decir que para el 95% de los usuarios, la máquina que ven es el Sistema Operativo. No tienen idea del hardware subyacente, incluso si pueden citar algunos números de pieza.

Algunas buenas respuestas aquí. Les agregaré un poco.

¿Alguna vez ha operado una computadora sin un sistema operativo? Yo tengo. El sistema operativo no es necesario, sin embargo, es extremadamente conveniente.

Para ejecutar una computadora sin un sistema operativo, debe conocer el hardware íntimamente o ejecutar un programa independiente escrito por otra persona que lo haga.

El mejor ejemplo (aficionado) que existe es este:

Para cargar un programa, configure los interruptores y cargue la computadora byte a byte.

¡Fue divertido (había una vez)!

Porque es el enlace entre el usuario y el hardware.

Cuando enciende su computadora, el sistema operativo activa el hardware y los dispositivos. Proporciona características extendidas de la máquina que hacen que la experiencia del usuario sea más fácil de ejecutar programas. También administra los recursos y procesos de la CPU.

Un sistema operativo es un software de sistema que resalta las funcionalidades de un hardware de computadora. Coordina el funcionamiento de un sistema informático estableciendo una comunicación entre el software y el hardware de un sistema informático.

Para una amplia gama de definiciones de “sistema informático”, no hay necesidad real de sistema operativo. Ya sea tan pequeño como un solo microcontrolador o tan grande como una estación de trabajo de PC completa.

Sin un sistema operativo, sería un peso de papel sentado allí sin hacer nada. Se requiere un sistema operativo para ejecutar una computadora para que hable y se comunique con todo el hardware para que el software se ejecute en ella. A diferencia del firmware, está diseñado para realizar tareas simples que no requieren un sistema operativo.

Debido a que opera todos los dispositivos de entrada y salida …………

Porque para abrir o usar programas orientados a aplicaciones u orientados a sistemas …….

Porque no quieres manipular con CPU, memoria, almacenamiento en un nivel bajo por ti mismo.