Beruflich Dokumente
Kultur Dokumente
Sistema de un usuario
Particiones fijas
Particiones dinmicas
Particiones dinmicas relocalizables
Ultima instruccin?
S
i
S
i
5) Particiones fijas
El primer intento para posibilitar la multiprogramacin fue la creacin de particiones fijas (o
particiones estticas) en la memoria principal: una particin para cada tarea. Dado que el
tamao de cada particin se especificaba al encender el sistema, cada particin solo poda
reconfigurarse apagando, reconfigurando o reiniciando el sistema de la computadora. Por lo
que una vez que el sistema estaba en operacin, el tamao de las particiones quedaba fijo.
Este esquema introdujo un factor esencial: la proteccin del espacio de memoria para la
tarea. Una vez asignada una particin a una tarea, no se permita que ninguna otra tarea
entrara en sus fronteras, ya sea de forma accidental o intencional.
Este esquema de particin es ms flexible que el de usuario nico porque permite que varios
programas estn en memoria al mismo tiempo. Sin embargo, aun as, requiere que se
almacene el programa por completo de manera contigua y en la memoria desde el principio
hasta el fin de su ejecucin. A fin de asignar espacios de memoria a tareas, el administrador
de la memoria del sistema operativo debe mantener una tabla mostrando el tamao de cada
particin de memoria, su direccin restricciones de acceso y estado actual (libre u ocupado)
para el sistema.
El esquema de particin fija funciona bien si todas las tareas que se ejecutan en el sistema
son del mismo tamao o si los tamaos se conocen por anticipado y no varan entre
reconfiguraciones. El tamao de las particiones se determina de manera arbitraria y pueden
resultar demasiado pequeas o grandes para las tareas que lleguen.
6) El algoritmo para almacenar tareas requiere pasos adicionales al utilizado en el sistema de
un solo usuario, porque el tamao de la tarea debe coincidir con el tamao de la particin
para asegurarse que quepa. Cuando se localiza un bloque de tamao suficiente, debe
revisarse el estado de la particin para ver si est disponible.
Tamao de memoria solicitado por
la tarea
1
2
Cont. = 1
Rehace tarea
Mensaje operador
Siguiente tarea
Cont. = Cont.
+1
Carga la tarea en
la particin de
memoria
(Cont.)
Cambie el estado
de particin de
memoria (Cont.)
a ocupado
2
No hay una particin disponible en este momento, coloque la tarea en la
cola de espera
Volver al paso 1
7) Fragmentacin Interna
El fenmeno del uso parcial de las particiones fijas y la creacin coincidente de espacios sin
utilizar en la particin se conoce como fragmentacin interna y es uno de los inconvenientes
ms importantes del esquema de asignacin de memoria en particiones fijas.
8) Si el tamao de las particiones es demasiado pequeo las tareas ms grandes sern
rechazadas o tendrn que esperar si las particiones grandes estn ocupadas. Por otro lado, si
las particiones son demasiado grandes se desperdicia memoria.
9) Particiones Dinmicas
Con las particiones dinmicas, la memoria disponible an se conserva en bloques contiguos,
pero a las tareas nada ms se les da la memoria que solicitan cuando se cargan para su
procesamiento. Aunque es una mejora significativa en relacin a las particiones fijas (porque
no se desperdicia memoria en la particin) no elimina el problema.
11) En un esquema de particin dinmica se utiliza toda la memoria al cargar las primeras
tareas. Pero conforme entran nuevas tareas en el sistema, que no son del mismo tamao de
las que acaban de salir de la memoria, se acomodan en los espacios disponibles de acuerdo a
su prioridad. Por lo tanto, la asignacin subsecuente de la memoria crea fragmentos de
memoria libre entre bloques de memoria asignada. Estos problemas se conocen como
fragmentacin externa, que dan lugar al desperdicio de memoria.
12) Para los sistemas de asignacin fija y de memoria dinmica, el sistema operativo debe
mantener listas de cada localidad de memoria, anotando cuales estn libres y cuales estn
ocupadas. Luego, conforme entran nuevas tareas en el sistema, las particiones libres se
deben asignar.
13) Las particiones de memoria se pueden asignar segn la tcnica del primer ajuste (la
primera particin que llena los requisitos) o del mejor ajuste (la particin ms pequea que
llena los requisitos). Para ambos esquemas el administrador de la memoria organiza las listas
de participaciones libres y utilizadas (libres/ocupadas) ya sea por tamao o localidad. La
asignacin del mejor ajuste mantiene las listas libres/ocupadas en orden por tamao, desde la
ms pequea a la ms grande. El mtodo del primer ajuste organiza las listas libres/ocupadas
por localidades de memoria, de bajo orden hasta alto orden.
1
Cont. =
1
3
3
Fin
mientras
Cont. = cont.
+1
Coloque la
tarea en la cola
de espera
Cuando el bloque que se va liberar o desasignar esta junto a otro bloque libre
El sistema usa el algoritmo de desasignacin anterior y ve que la memoria por liberar
esta junto a un bloque de memoria libre. Entonces debe modificar la lista para reflejar
la direccin de inicio del nuevo bloque libre, usando la direccin de la primera
instruccin de la tarea que acaba de liberarlo. Adems el tamao del bloque de
memoria para este nuevo espacio libre se debe modificar para mostrar su nuevo
tamao que es el total combinado de las dos particiones libres.
unin de dos bloques
Direccin de inicio
7560
(7600)
*7800
Los nmeros entre parntesis no aparecen en la lista libre original. El numero con *
indica el bloque de memoria libre vecino, al que se liberara.
Direccin de inicio
7560
20
Libre
7600
205
Libre
10250
4050
libre
Lista libre despus de la designacin, el * indica la localidad donde se efectuaron
cambios en el bloque de memoria libre.
4050
(entrada nula)
libre
10250
4050
Lista libre antes de la designacin
Direccin de inicio
Direccin de inicio