En los años 60 se
produjeron cambios notorios en varios campos de la informática, con la
aparición del circuito integrado la mayoría orientados a seguir incrementando
el potencial de los ordenadores. Para ello se utilizaban técnicas de lo más diversas.
Multiprogramación
En un sistema multiprogramado la memoria
principal alberga a más de un programa de usuario. La CPU ejecuta
instrucciones de un programa, cuando el que se encuentra en ejecución realiza
una operación de E/S; en lugar de esperar a que termine la operación de E/S, se
pasa a ejecutar otro programa. Si éste realiza, a su vez, otra operación de
E/S, se mandan las órdenes oportunas al controlador, y pasa a ejecutarse otro.
De esta forma es posible, teniendo almacenado un conjunto adecuado de tareas en
cada momento, utilizar de manera óptima los recursos disponibles.
Tiempo
compartido
En este punto tenemos un sistema
que hace buen uso de la electrónica disponible, pero adolece la falta de interactividad;
para conseguirla debe convertirse en un sistema multiusuario, en el cual
existen varios usuarios con un terminal en línea, utilizando el modo
de operación de tiempo compartido. En estos sistemas los programas de los
distintos usuarios residen en memoria. Al realizar una operación de E/S los
programas ceden la CPU a otro programa, al igual que en la multiprogramación.
Pero, a diferencia de ésta, cuando un programa lleva cierto tiempo ejecutándose
el sistema operativo lo detiene para que se ejecute otra aplicación.
Tiempo real
Estos sistemas se usan en
entornos donde se deben aceptar y procesar en tiempos muy breves un gran número
de sucesos, en su mayoría externos al ordenador. Si el sistema no respeta las
restricciones de tiempo en las que las operaciones deben entregar su resultado
se dice que ha fallado. El tiempo de respuesta a su vez debe servir para
resolver el problema o hecho planteado. El procesamiento de archivos se hace de
una forma continua, pues se procesa el archivo antes de que entre el siguiente,
sus primeros usos fueron y siguen siendo en telecomunicaciones.
Multiprocesador
Diseño que no se encuentran en
ordenadores monoprocesador. Estos problemas derivan del hecho de que dos
programas pueden ejecutarse simultáneamente y, potencialmente, pueden
interferirse entre sí. Concretamente, en lo que se refiere a las lecturas y
escrituras en memoria. Existen dos arquitecturas que resuelven estos problemas:
La arquitectura NUMA, donde
cada procesador tiene acceso y control exclusivo a una parte de la memoria. La
arquitectura SMP, donde todos los procesadores comparten toda la memoria.
Esta última debe lidiar con el problema de la coherencia de caché. Cada
microprocesador cuenta con su propia memoria cache local. De manera que cuando
un microprocesador escribe en una dirección de memoria, lo hace únicamente
sobre su copia local en caché. Si otro microprocesador tiene almacenada la
misma dirección de memoria en su caché, resultará que trabaja con una copia
obsoleta del dato almacenado.
Para que un multiprocesador opere
correctamente necesita un sistema operativo especialmente diseñado para ello.
La mayoría de los sistemas operativos actuales poseen esta capacidad.
No hay comentarios:
Publicar un comentario