3.5 Multiprogramación con particiones fijas

 

Se denomina multiprogramación a la técnica que permite que dos o más procesos ocupen la misma unidad de memoria principal y que sean ejecutados al “mismo tiempo” (seudo-paralelismo, en una única CPU sólo puede haber un proceso a la vez) en la unidad central de proceso o CPU.


Aporta las siguientes ventajas:

La ya mencionada, varios procesos en ejecución.

Permite el servicio interactivo simultáneo a varios usuarios de manera eficiente.

Aprovecha los tiempos que los procesos pasan esperando a que se completen sus operaciones de E/S.

Aumenta el uso de la CPU.

Las direcciones de los procesos son relativas, el programador no se preocupa por saber en dónde estará el proceso dado que el sistema operativo es el que se encarga de convertir la dirección lógica en física.

Un proceso entra a ejecutarse y llega al momento en que tiene que hacer espera por un dispositivo de entrada y/o salida por ejemplo, el CPU estara ocioso mientras espera que el proceso puede usar el dispositivo para así finalmente ejecutarse. Los sistemas de multiprogramación evitan eso ya que durante ese tiempo de esperar pasan a ejecutar otro proceso teniendo así al computador ocupado.

Con excepción de los sencillos sistemas integrados, la mono programación ya casi no se usa. La mayoría de los sistemas modernos permite la ejecución de varios procesos al mismo tiempo. Esto implica que si un proceso se bloque en espera de que termine una operación de E/S, otro puede usar la CPU. Así, la multiprogramación eleva el aprovechamiento de la CPU. Los servidores de red siempre han podido ejecutar múltiples accesos(para clientes distintos) al mismo tiempo, pero en la actualidad casi todas las maquinas cliente ( es decir, de escritorio) también cuentan con esta capacidad.

La forma mas fácil de lograr la multiprogramación es simplemente dividir la memoria en n particiones (tal vez desiguales). Esta división puede efectuarse en forma manual, por ejemplo, cuando se pone en marcha el sistema.

 

Cuando llega un trabajo, se puede colocar en la cola de entrada de la partición mas pequeña en la que cabe. Puesto que en este esquema las particiones son fijas, cualquier espacio de una partición no ocupada por un trabajo se desperdicia. En la sig. Figura vemos el aspecto que tiene este sistema de particiones fijas y colas de entrada individuales

 

Consiste en dividir la memoria en varias particiones de tamaño fijo.

Cada partición puede contener exactamente un proceso. El nivel de multiprogramación está limitado por el número de particiones.
Cuando una partición está libre, se selecciona un proceso de la cola de entrada y se carga en la partición libre; cuando un proceso termina, la partición está disponible para otro.

Desventajas .

Se hace una mala utilización de la memoria debido a la poca flexibilidad del método.

Es complicado correr programas más grandes que el tamaño de la partición.

Ventajas .

•Administración es relativamente simple.

•Protección entre procesos se puede realizar mediante el registro base y la longitud de la zona