sistemas operativos tp2
TRANSCRIPT
-
8/16/2019 Sistemas Operativos Tp2
1/7
-
8/16/2019 Sistemas Operativos Tp2
2/7
/) Particiones fjas
l primer intento para posibilitar la multiprogramación !ue la creación de particiones fjas ;o
particiones estáticas) en la memoria principal: una partición para cada tarea" ible que el de usuario nico porque permite que $arios
programas est?n 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
@asta el fn de su ejecución" ' fn de asignar espacios de memoria a tareas& el administrador
de la memoria del sistema operati$o debe mantener una tabla mostrando el tama5o de cada
partición de memoria& su dirección restricciones de acceso y estado actual ;libre u ocupado)
para el sistema"
l esquema de partición fja !unciona bien si todas las tareas que se ejecutan en el sistema
son del mismo tama5o o si los tama5os se conocen por anticipado y no $ar%an entre
reconfguraciones" l tama5o de las particiones se determina de manera arbitraria y pueden
resultar demasiado peque5as o grandes para las tareas que lleguen"
.) l algoritmo para almacenar tareas requiere pasos adicionales al utilizado en el sistema de
un solo usuario& porque el tama5o de la tarea debe coincidir con el tama5o de la partición
para asegurarse que quepa" uando se localiza un bloque de tama5o sufciente& debere$isarse el estado de la partición para $er si está disponible"
2
4ama5o de memoria solicitado por
.,
/, o @ay una partición disponible en este momento& coloque la tarea en la
*,
(,
2,
1,
Aol$er al paso 1
ambie el estado
de partición de
memoria ;ont")
arga la tarea en
la partición de
memoria
ont" 8 ont"
Be@ace tarea
Censaje operador
Siguiente tarea
0D
ont" 8 ont"
Si estado partición memoria 8
Si tama5o tarea 3 tama5o partición
Cientras cont" G8 numero de particiones en
ont" 8 1
Si tama5o partición 3 partición más
-
8/16/2019 Sistemas Operativos Tp2
3/7
-) Fragmentación Interna
l !enómeno del uso parcial de las particiones fjas y la creación coincidente de espacios sin
utilizar en la partición se conoce como !ragmentación interna y es uno de los incon$enientes
más importantes del esquema de asignación de memoria en particiones fjas"
+) Si el tama5o de las particiones es demasiado peque5o las tareas más grandes seránrec@azadas o tendrán que esperar si las particiones grandes están ocupadas" Por otro lado& si
las particiones son demasiado grandes se desperdicia memoria"
) Particiones Dinámicas
on las particiones dinámicas& la memoria disponible an se conser$a en bloques contiguos&
pero a las tareas nada más se les da la memoria que solicitan cuando se cargan para su
procesamiento" 'unque es una mejor%a signifcati$a en relación a las particiones fjas ;porque
no se desperdicia memoria en la partición) no elimina el problema"
11) n un esquema de partición dinámica se utiliza toda la memoria al cargar las primerastareas" Pero con!orme entran nue$as tareas en el sistema& que no son del mismo tama5o de
las que acaban de salir de la memoria& se acomodan en los espacios disponibles de acuerdo a
su prioridad" Por lo tanto& la asignación subsecuente de la memoria crea !ragmentos de
memoria libre entre bloques de memoria asignada" stos problemas se conocen como
ragmentación externa& que dan lugar al desperdicio de memoria"
12) Para los sistemas de asignación fja y de memoria dinámica& el sistema operati$o debe
mantener listas de cada localidad de memoria& anotando cuales están libres y cuales están
ocupadas" #uego& con!orme entran nue$as tareas en el sistema& las particiones libres se
deben asignar"
1() #as particiones de memoria se pueden asignar segn la t?cnica del primer ajuste ;la
primera partición que llena los requisitos) o del mejor ajuste ;la partición más peque5a que
llena los requisitos)" Para ambos esquemas el administrador de la memoria organiza las listas
de participaciones libres y utilizadas ;libresIocupadas) ya sea por tama5o o localidad" #a
asignación del mejor ajuste mantiene las listas libresIocupadas en orden por tama5o& desde la
más peque5a a la más grande" l m?todo del primer ajuste organiza las listas libresIocupadas
por localidades de memoria& de bajo orden @asta alto orden"
(
1, ont" 8
(,
2,
0in
oloque latarea en la cola
de espera
arga trabajo en el tama5o de la
memoria& ajuste las listas libre y
ocupada de la memoria
ont" 8 cont"
Si tama5o bloque 3 tama5o de la
Cientras cont" G8 nmero de bloques en
-
8/16/2019 Sistemas Operativos Tp2
4/7
Algoritmo de primer ajuste
l algoritmo de primer ajuste asume que el administrador de memoria mantiene dos listas&
uno para los bloques de memoria libres y otra para los bloques de memoria ocupados" #a
operación consiste en comparar el tama5o de cada tarea con el tama5o de cada bloque de
memoria& @asta @allar un bloque lo sufcientemente grande para la tarea" ' continuación& está
se almacena en ese bloque de memoria y el administrador de la memoria sale del ciclo paratomar la siguiente tarea y repetir el proceso"
Algoritmo de mejor ajuste
7no de los problemas del algoritmo de mejor ajuste es que debe buscar toda la tabla antes de
poder e!ectuar la asignación& porque los bloques de memoria están almacenados en
secuencia& de acuerdo a su ubicación en la memoria ;y no en !unción a tama5os de bloques
de memoria)"
l administrador de memoria utiliza este algoritmo de mejor ajuste para buscar en toda la
lista a partir de la parte superior de la misma a fn de localizar el bloque más peque5o pero lobastante grande para aceptar el trabajo" #a elección de este bloque minimiza el espacio
desperdiciado"
1*) Desasignación
ste es el proceso de liberar o desasignar el espacio de memoria"
Para un sistema de partición fja& el proceso es sencillo" uando se termina la tarea& el
administrador de memoria restablece el estado del bloque de memoria donde se asigno la
tarea como libre"
n un sistema de partición dinámica& se utiliza un algoritmo más complicado& ya que este
trata de combinar áreas libres de memoria siempre que sea posible& por lo que el sistema
tiene que estar preparado para tres posibles situaciones:
Cuando el loque que se !a lierar o desasignar esta junto a otro loque lirel sistema usa el algoritmo de desasignación anterior y $e que la memoria por liberar
esta junto a un bloque de memoria libre" ntonces debe modifcar la lista para re=ejar
la dirección de inicio del nue$o bloque libre& usando la dirección de la primera
instrucción de la tarea que acaba de liberarlo" 'demás el tama5o del bloque de
memoria para este nue$o espacio libre se debe modifcar para mostrar su nue$o
tama5o que es el total combinado de las dos particiones libres"Eunión de dos bloquesF
-
8/16/2019 Sistemas Operativos Tp2
5/7
-/.J 2J #ibre-.JJ 2J/ #ibre1J2/J *J/J libre#ista libre despu?s de la designación& el L indica la localidad donde se e!ectuaron
cambios en el bloque de memoria libre"
Cuando el loque por lierar se encuentra entre dos loques liresl sistema utiliza el algoritmo de desasignación y descubre que la memoria que se $a
liberar está entre dos bloques libres de memoria" Por lo tanto de combinar el tama5o
de las tres particiones libres y el total se almacena con la dirección de inicio de la más
peque5a"E7nión de tres bloques libresF
-
8/16/2019 Sistemas Operativos Tp2
6/7
;entrada nula)1J2/J *J/J libre#ista libre antes de la designación
-
8/16/2019 Sistemas Operativos Tp2
7/7
l !actor crucial es la periodicidad de la compactación: cuando y con qu? !recuencia debe
e!ectuarse" Hay tres opciones:
• 7na opción es realizarla cuando cierto porcentaje de la memoria queda ocupado&
digamos un -/ por ciento" #a des$entaja es que el sistema incurrir%a en una carga
general innecesaria si no @ay tareas esperando utilizar ese 2/ por ciento restante"• 7n segundo procedimiento es compactar la memoria solo cuando @aya tareas en
espera de entrar" sto signifcar%a una re$isión constante de la cola de entrada& lo que
puede resultar en una carga general innecesaria y en la reducción de la $elocidad del
procesamiento de las tareas incluidas en el sistema"• #a tercera opción es compactar despu?s de un lapso preestablecido" Si el periodo
elegido es demasiado bre$e& el sistema utilizara más tiempo en la compactación que
en procesamiento" Si es demasiado grande& se acumularan demasiadas tareas en la
cola de espera y se perderán las $entajas de las compactación"
2J) l E$iguiente ajuste% es un algoritmo de asignación que lle$a el seguimiento de la
ltima partición asignada y cuando llega una nue$a tarea empieza a buscar a partir de dic@o
punto"
#a $entaja de este algoritmo es que disminuye el tiempo para encontrar un bloque de
memoria libre porque no recorre la lista de bloques desde el principio"
21) #as * t?cnicas de asignación de memoria tienen ( puntos en comn: requiere que la
totalidad del programa 1N quede cargado en memoria 2N pueden almacenar juntos (N
permanezca en la memoria @asta que se complete la tarea"
-