multiprogramacion
Es la técnica que permite que dos o mas programas ocupen la misma unidad de memoria principal y que sean ejecutados al mismo tiempo. Así por ejemplo mientras se ejecutan operaciones de entrada y salida de un programa, la unidad central de proceso puede ocuparse en realizar operaciones distintas de las de E/S pertenecientes a otros programas. La multiprogramación serefiere a dos o más programas corriendo o procesándose al mismo tiempo; La multiprogramación se controla a través del sistema operativo, el cual observa los programas y los vigila hasta que estén concluidos. El número de programas que pueden multiprogramarse en forma efectiva, depende de una combinación de la cantidad de memoria, de la velocidad de la CPU y del numero y velocidad de los recursosperiféricos que tenga conectados, así como de la eficiencia del Sistema Operativo.
2. Multiprogramación y tiempo compartido
La mayoría de los sistemas operativos utilizan una técnica de gestión del procesador denominada multiprogramación, o una variante de ésta llamada tiempo compartido. Los primeros sistemas operativos gestionaban el procesador mediante otra técnicallamada monoprogramación (utilizada en los monitores de batch de flujo único). En este apartado comentaremos el por qué se evolucionó de la monoprogramación a la multiprogramación. Antes de entrar en esta discusión vamos a ver cómo se realizan las operaciones de entrada/salida (E/S), es decir, las operaciones que permiten la comunicación con los dispositivos de E/S.
3. Multiprogramación y sistemas embebidos
La multiprogramaciónno se aplica solamente en sistemas de cómputo completos (PC, MainFrames, etc.)
La primera computadora personal al principio de los años 80 tenía 40KB de ROM, 256 o 512KB de RAM, y opcionalmente un disco duro de 5 o 10 MB de capacidad. A mediados de los años 90 una computadora personal moderna tenia un poco mas de ROM, 32 MB de RAM y un disco duro con 2 o 4GB de capacidad. Los discosflexibles “Floppy” con 360KB o 720KB de capacidad, los cuales fueron los medios standards para la distribución de paquetes de software y para respaldos, han sido reemplazados por unidades CD-ROM y dispositivos de almacenamiento magnético en cinta con capacidades por encima de 500MB.
Obviamente, la capacidad se ha doblado aproximadamente cada 2 años, y no hay indicador de que esta tendencia cambiará.Así que ¿Por qué preocuparse por los requerimientos de memoria?
Una computadora personal es un sistema abierto que puede ser extendido tanto en términos de memoria y periféricos. Por un corto tiempo, una computadora personal puede estar al día con los desarrollos tecnológicos añadiendo memoria y periféricos hasta que últimamente dejen de ser actualizados. De todas formas una computadora personalpuede vivir por décadas; pero su tiempo de vida real a menudo está determinado por la creciente demanda de memoria de los sistemas operativos y aplicaciones más que por la vida útil de su hardware. Así que para extender la vida útil de una computadora personal lo más posible y aún reducir los costos, su configuración debe ser debidamente planificada.
Para un sistema embebido, en contraste, losrequerimientos de memoria son conocidos por adelantado; así que los costos pueden ser reducidos usando solo la memoria que se necesite. A diferencia de las computadoras personales, donde la memoria ROM es solo usada para el sistema de carga, el tamaño de la ROM juega un rol mayor en los requerimientos de memoria de sistemas embebidos, y eso es porque la ROM es usada como memoria de programa.Para las ROM, varios tipos de memoria están disponibles, y sus precios difieren de manera dramática EEPROM es la mas costosa, seguida por RAM, EPROM estáticas, RAM dinámica, discos duros, discos flexibles, CD-ROMs, y cintas magnéticas. La solución mas económica es combinar discos duros (el cual provee no volatibilidad) y RAM dinámica (que provee tiempos de acceso rápidos).
Generalmente, la...
Regístrate para leer el documento completo.