Sunteți pe pagina 1din 4

LA MULTIPROGRAMACION y Tambien llamados multiareas. Permiten ejecutar varios programas a la vez.

En realidad si el sistema solo tiene un procesador las tareas o programas se iran ejecutando de tiempos, de forma que el procesador nunca este parado. De cara al o a los usuarios las tareas se ejecutaran simultneamente, pero en realidad el tiempo de la CPU se iria distribuyendo entre las tareas a medida que fuera necesaria o utilizando algn algoritmo de planificacin de tareas o procesos. Si el sistema es multiarea, es decir, que se pueden ejecutar varios programas a la vez. Sera necesario dividir la memoria entre los procesos, con lo que habr que crear diferentes particiones y asignarle una a cada proceso. o PARTICIONAMIENTO  PAGINACION: Las particiones son de tamao fijo. A cada Zona de memoria se le llama marco de pagina y el proceso de divide en trozos iguales llamadas pginas.  SEGMENTACION: Las particiones son de tamao variable. A cada zona de memoria se le llama pginas.

PROTECCION: El sistema operativo debe proteger la zona de la memora asignada al proceso o a cada proceso, dependiendo si es monoarea o multiarea, y la zona de rea asignada a la parte del sistema operativo. Esta tcnica se utiliza para evitar que un proceso invada la zona de memoria de otro proceso o del sistema operativo. La proteccin se puede realizar mediante diversas tcnicas, como puede ser el uso de los registros base y registros limites que contienen la direccin inicial y final, respectivamente, de la zona de memoria Un problema que suele suceder en la multiprogramacion al particionar la memoria es : FRACMENTACION: Es el desaprovechamiento de memoria. Si la fragmentacin es muy alta, puede que haya una gran cantidad de memoria desocupada y, sin embargo, un proceso no encuentre memoria disponible. La fracmentacion puede ser: o INTERNA: Se suele dar con la paginacin, como las paginas son de un tamao fijo, puede que un proceso de menor tamao que la pagina se cargue en un marco de pagina, desaprovechando, por lo tanto la memoria sobrante. Es la memoria que no se utiliza interna a la particin. EXTERNA: Se suele dar con la fragmentacin, como los segmentos son de tamao variable, cada proceso se carga en un segmento con un tamao concreto, pero puede suceder con el tiempo con que no encuentre una zona de memoria libre lo suficientemente grande para almacenar un proceso y, sin embargo, que el tamao libre total sea mayor que el tamao de proceso. Es la memoria que no se utiliza externa a la particin.

MULTIPROGRAMACIN DE PARTICIN VARIABLE


Los procesos ocupan tanto espacio como necesitan, pero obviamente no deben superar el espacio disponible de memoria.

En esta figura no hay lmites fijos de memoria, es decir que la particin de un trabajo es su propio
tamao. Se consideran esquemas de asignacin contigua, dado que un programa debe ocupar posiciones adyacentes de almacenamiento. Los procesos que terminan dejan disponibles espacios de memoria principal llamados agujeros: y y Pueden ser usados por otros trabajos que cuando finalizan dejan otros agujeros menores. En sucesivos pasos los agujeros son cada vez mas numerosos pero mas pequeos, por lo que se genera un desperdicio de memoria principal.

La multiprogramacin Aporta las siguientes ventajas:    La ya mencionada, varios procesos en ejecucin. Permite el servicio interactivo simultneo 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 dnde estar el proceso dado que el sistema operativo es el que se encarga de convertir la direccin lgica en fsica.

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 estar desocupado mientras espera que el proceso pueda usar el dispositivo para as finalmente ejecutarse. Los sistemas de multiprogramacin evitan eso ya que durante ese tiempo de esperar pasan a ejecutar otro proceso teniendo as al computador ocupado.

1.7.3. Multiprogramacin con particiones variables.


La memoria se divide en bloques de diferente tamao de acuerdo a las necesidades del proceso.

1.7.3.1. Ventajas
La gran ventaja de este mtodo es su flexibilidad, pues permite definir bloques del tamao requerido, terminando as con la fragmentacin interna y permitiendo hacer un mejor uso de la memoria y por ende del procesador.

1.7.3.2. Desventajas.
fragmentacin externa. o Como la memoria se dividi en bloques de tamao diferente, puede ocurrir que el bloque ms grande no pueda contener un programa dado, a pesar que la suma de los espacios libres sea mayor que el tamao del programa. o Cuando se libera una particin y sta no se puede ocupar. Se originan huecos de memoria.

Multiprogramacin con particiones fijas.


Es la manera ms simple de administrar la memoria cuando estamos en sistemas multiprogramados es con particiones fijas. Consiste en dividir la memoria en en n partes de tamao fijo. De esta forma es posible tener multiprogramacin ya que a cada proceso se le asigna una particin.

1.7.2.1. Desventajas.
Se hace una mala utilizacin de la memoria debido a la poca flexibilidad del mtodo. Es complicado correr programas ms grandes que el tamao de la particin. Se presenta fragmentacin interna. Este fenmeno ocurre cuando un proceso no ocupa toda la memoria asignada y sin embargo el espacio libre no puede ser utilizado por ningn otro proceso.

1.7.2.2. Ventajas.
Su administracin es relativamente simple, pues para guardar informacin del estado del recurso se debe tener un registro de cada zona (libre u ocupada). La proteccin entre procesos se puede realizar mediante el mecanismo de llaves de memoria o utilizando el registro base y la longitud de la zona.

Multiprogramacin es un concepto que tiene que ver con el particionamiento de la memoria para almacenar procesos y como el procesador accede a estos sin necesidad de esperas de entrada

salida Multiproceso es un concepto que indica el reparto de tiempo de la CPU a los procesos. El tiempo dedicado en una politica Tiempo compartido es un concepto que hace referencia precisamente a cmo el tiempo de la CPU es compartido por los procesos (bien es cierto que en realidad, la multitarea y tiempo compartido es virtual porque en realidad en un instante dado una CPU slo puede ejecutar un proceso) Por otro lado, no hay multitarea o multiproceso sin multiprogramacin...vamos que son conceptos intimamente relacionados pero en esencia y por definicin diferentes...

El tiempo compartido es un mtodo para un conjunto de usuarios trabajar simultneamente en la misma mquina como si fuera propiedad exclusiva de cada uno de ellos. Tiene por objeto proporcionar un servicio mejor a los usuarios.