Resolviendo Algunas Preguntas del Libro Sistemas Operativos Modernos

1. ¿Qué es la multiprogramación?
- La multiprogramación es una técnica utilizada en sistemas operativos que permite que varios programas se ejecuten simultáneamente en una computadora. Aunque el procesador solo puede ejecutar una instrucción a la vez, la multiprogramación aprovecha los tiempos de espera, como las operaciones de entrada/salida, para ejecutar otro programa. De esta manera, se aumenta la utilización del procesador y se mejora la eficiencia del sistema.
2. ¿Qué es spooling? ¿Cree usted que las computadoras personales avanzadas tendrán spooling como característica estándar en el futuro?
- Spooling (Simultaneous Peripheral Operation On-Line) es una técnica que permite a un dispositivo de entrada/salida almacenar temporalmente datos en un área de memoria mientras espera que el dispositivo de salida esté listo para procesarlos. Esto mejora la eficiencia del sistema al permitir que el procesador y los dispositivos de entrada/salida trabajen de forma asíncrona. Aunque las computadoras personales avanzadas pueden tener capacidades de spooling, es probable que su necesidad disminuya con el tiempo debido al aumento de la velocidad y la capacidad de almacenamiento de los dispositivos de entrada/salida.
3. En las primeras computadoras, cada byte de datos leídos o escritos se manejaba mediante la CPU (es decir, no había DMA). ¿Qué implicaciones tiene esto para la multiprogramación?
- La falta de DMA (Acceso Directo a Memoria) significa que la CPU debe manejar directamente cada operación de entrada/salida, lo que puede ralentizar el rendimiento del sistema y afectar la multiprogramación. Sin DMA, la CPU debe esperar activamente mientras se realiza una operación de entrada/salida, lo que puede reducir la capacidad de ejecutar varios programas simultáneamente.
4. La idea de una familia de computadoras fue introducida en la década de 1960 con las mainframes IBM System/360. ¿Está muerta ahora esta idea o sigue en pie?
- La idea de una familia de computadoras sigue vigente en la actualidad, aunque ha evolucionado con el tiempo. Las empresas como IBM, Intel y AMD continúan produciendo una variedad de procesadores y sistemas compatibles que forman familias de computadoras con características y capacidades diferentes. La modularidad y la compatibilidad entre sistemas dentro de una familia siguen siendo importantes en el diseño de computadoras modernas.
5. Una razón por la cual las GUI no se adoptaron con rapidez en un principio fue el costo del hardware necesario para darles soporte. ¿Cuánta RAM de video se necesita para dar soporte a una pantalla de texto monocromático de 25 líneas x 80 caracteres? ¿Cuánta se necesita para un mapa de bits de 1024 x 768 píxeles y colores 24 bits? ¿Cuál fue el costo de esta RAM con precios de 1980 (5 dólares/KB)? ¿Cuánto vale ahora?
- Para una pantalla de texto monocromático de 25 líneas x 80 caracteres, necesitarías 25 líneas x 80 caracteres x 1 byte por carácter = 2000 bytes = 2 KB de RAM de video. Para un mapa de bits de 1024 x 768 píxeles y colores 24 bits, necesitarías 1024 píxeles x 768 píxeles x 3 bytes por píxel = 2,359,296 bytes = aproximadamente 2.25 MB de RAM de video. En 1980, el costo de 2 KB de RAM sería de 10 dólares, y el de 2.25 MB sería de 11,796 dólares. Ahora, el precio ha disminuido significativamente, con 2 KB de RAM costando una fracción de centavo y 2.25 MB costando solo unos pocos dólares.
6. Hay varias metas de diseño a la hora de crear un sistema operativo, por ejemplo: la utilización de recursos, puntualidad, que sea robusto, etcétera. De un ejemplo de dos metas de diseño que puedan contradecirse entre sí.
- Dos metas de diseño que pueden contradecirse entre sí son la utilización de recursos y la puntualidad. Por ejemplo, si se prioriza la utilización de recursos para maximizar la eficiencia del sistema, es posible que se permita que ciertas tareas consuman más recursos de los necesarios, lo que podría afectar la puntualidad de otras tareas críticas.
7. ¿Cuál de las siguientes instrucciones debe permitirse sólo en modo kernel?
a) Deshabilitar todas las interrupciones.
b) Leer el reloj de la hora del día.
c) Establecer el reloj de la hora del día.
d) Cambiar el mapa de memoria.
- La instrucción que debe permitirse solo en modo kernel es:
- a) Deshabilitar todas las interrupciones.