¿Un sistema operativo consume recursos (aparte del espacio en el que está instalado)?

¿Un sistema operativo consume recursos (aparte del espacio en el que está instalado)?

Acabo de terminar un curso sobre sistemas operativos y aún no me queda clara la definición de sistema operativo. ¿Algún sistema operativo consume recursos como CPU y memoria? Por ejemplo, el algoritmo de programación debe requerir algo de potencia de procesamiento para comparar tareas y ver cuál va primero y cualquier estructura de datos en la que se realicen las tareas ocupa espacio.

Además, el acto de saber qué hacer con la memoria virtual debe requerir cálculos que consumen recursos, ¿verdad?

Hipotéticamente hablando, si una computadora con un programa y sin sistema operativo estuviera ejecutando el programa, el programa se ejecutaría hasta su finalización más rápido que en la misma computadora pero con un sistema operativo. ¿Es eso cierto?

EDITAR: Estoy de acuerdo en que el curso fue una mierda total, para fines de diversión aquí está la definición de sistema operativo que nos dieron

¿Qué son los sistemas operativos? • Varias definiciones posibles 1. El código que proporciona {Microsoft, Apple, comunidad Linux, Google} 2. El código del que depende y que tampoco escribió 3. El código que se ejecuta en modo privilegiado 4. El código que hace las cosas trabajo 5. El código que hace que las cosas colapsen (definición bastante cínica) 6. Y muchos otros...

¿Qué son los sistemas operativos? • Una abstracción (que proporciona una interfaz apropiada para que las aplicaciones que se ejecutan en una computadora accedan a los recursos de esa computadora); mucho depende de cómo definimos "apropiado". • Una forma de abordar diferentes preocupaciones: rendimiento en el tiempo, rendimiento en el espacio, compartir y gestión de recursos – tolerancia al fallo – seguridad – comerciabilidad

Esta burla de un libro de textoen el que tuvimos que gastar más de $100, define los sistemas operativos como "es el software del que depende casi todo lo demás. Esto todavía es vago, pero el término se usa de una manera bastante confusa en toda la industria".

Respuesta1

¿Un sistema operativo consume recursos (aparte del espacio en el que está instalado)?

Sí.

Acabo de terminar un curso sobre sistemas operativos y aún no me queda clara la definición de sistema operativo.

En un nivel bajo, un sistema operativo no es diferente a cualquier otro programa; En última instancia, no es más que un montón de instrucciones de la CPU. La única diferencia es que las instrucciones de un SO hacen algo (más o menos) diferente a las de un programa.

La mejor manera de describir un sistema operativo es comometaprograma. Es decir, en lugar dehaciendo algo, el programa hace posible queotroprogramas para hacer algo.

¿Algún sistema operativo consume recursos como CPU y memoria?

Sí, claro.

Por ejemplo, el algoritmo de programación debe requerir algo de potencia de procesamiento para comparar tareas y ver cuál va primero y cualquier estructura de datos en la que se realicen las tareas ocupa espacio.

Exactamente. Las funciones del sistema operativo son simplemente montones de instrucciones de la CPU y, al igual que las funciones de un programa de usuario, ocupan espacio y deben ejecutarse en la CPU.

Además, el acto de saber qué hacer con la memoria virtual debe requerir cálculos que consumen recursos, ¿verdad?

Naturalmente.

Hipotéticamente hablando, si una computadora con un programa y sin sistema operativo estuviera ejecutando el programa, el programa se ejecutaría hasta su finalización más rápido que en la misma computadora pero con un sistema operativo. ¿Es eso cierto?

Levemente.

Recuerde que las CPU son muy rápidas y pueden realizar unaloteinstrucciones en poco tiempo. Además, los sistemas operativos han sido diseñados y modificados ampliamente para que sean lo más óptimos posible, de modo que utilicen la menor cantidad de CPU y memoria posible (al menos en teoría). Como tal, los algoritmos que utilizan para cosas como programación, gestión de memoria, cambio de tareas, control de hardware, etc. utilizan relativamente pocos recursos. Puedes ver esto en un administrador de tareas; cuando no hay programas en ejecución y el sistema operativo se reduce al mínimo, habrá muy poca memoria en uso y la CPU funcionará al “0%”. (Nuevamente, estamos hablando teóricamente; Windows, por ejemplo, se ha estado "hinchando" últimamente, por lo que es posible que ya no se aplique a eso).

Respuesta2

Si acabas de terminar de realizar un curso sobre sistemas operativos, deberías solicitar la devolución de tu dinero. Tu pregunta es tan ingenua que realmente no puedo creer que no estés buscando la solución a una pregunta de tarea.

La visión moderna de un sistema operativo es una colección de proveedores de servicios que las aplicaciones pueden utilizar para acceder a recursos en la computadora, como memoria, CPU y dispositivos de E/S. Exactamente dónde se traza la línea entre el sistema operativo y la aplicación es una cuestión religiosa (véanse los debates entre Andrew Tanenbaum y Linus Torvalds).

Los sistemas operativos modernos sirven para presentar abstracciones de máquinas aisladas a las aplicaciones, por ejemplo, su aplicación no puede acceder a la memoria que utiliza mi aplicación. Para hacer esto de manera segura, el código crítico para administrar la abstracción generalmente se aísla en algo llamado kernel del sistema operativo. Una vez más, la línea entre lo que va en el kernel y lo que es una biblioteca compartida en el espacio del usuario está abierta a debate.

Realmente, si este tipo de cosas no estaban cubiertas en tu curso de SO, ¿qué diablos era?

información relacionada