Anda di halaman 1dari 7

UNIVERSIDAD NACIONAL DE

UCAYALI
FACULTAD DE INGENIERIA DE SISTEMAS Y DE
INGENIERIA CIVIL
ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

ALGORITMO DE UBICACIN O
REUBICACIN DE LA MEMORIA

Curso: Sistemas Operativos


Docente: Ing. Agurto Cherre, Cesar Augusto
Integrantes:

- Marin Roque, Jorge

- Lpez Valera, Gina


- Torres Reategui, Jack
- Loli Romero, Erick
- Guerrero Cuevas, Juan
Pucallpa-Per

ALGORITMO DE UBICACIN O REUBICACIN DE LA MEMORIA


Gestin de Memoria
-

Dividir la memoria para alojar mltiples procesos.


La memoria necesita ser asignada eficientemente para alojar tantos procesos
como sea posible.

Requisitos de Gestin de Memoria


1. Reubicacin
Los programadores no saben de donde estar el programa en memoria

cuando se ejecute.
Mientras el programa se ejecuta, puede ser movido al disco y devuelto a

memoria principal en una posicin diferente (reubicado).


Se deben traducir la referencia a memoria del cdigo a las direcciones
fsicas reales.

2. Proteccin
Los procesos no deberan ser capaces de referenciar el espacio de

memoria de otros procesos sin permiso.


Es imposible comprobar las direcciones absolutas de los programas puesto
que estos pueden ser reubicados.
Deber ser traducidas durante la ejecucin.
El sistema operativo no puede anticipar todas las referencias de memoria
que un programa puede generar.

3. Comparticin
Permitir a varios procesos acceder a la misma zona de memoria.
Es mejor permitir a cada proceso (persona) acceso a la misma copia del
programador que tener cada uno su copia individual.
4. Organizacin Lgica
Los programas son escritos en mdulos.
Los mdulos se pueden escribir y compilar por separado.
A los mdulos se les puede dar diferente grado de proteccin (solo lectura,
solo ejecucin).
Mdulos compartidos.
5. Organizacin Fsica
La memoria disponible para un programa y sus datos puede ser
insuficiente.
El solapamiento permite asignar la misma zona de memoria a diferentes

mdulos.
El programador no sabe cunto espacio habr disponible.

Particionamiento Fijo
a. Particiones del mismo tamao
Cualquier proceso de tamao menor o igual al de una particin puede ser

cargado en una particin disponible.


Si todas las particiones estn ocupadas, el S.O. puede mover a disco un

proceso de una particin.


Un programa puede no caber de una particin.
El programador debe disear el programa con overlays.
b. El uso de la memoria principal es ineficiente.
Un programa, no importa como de pequeo sea, ocupa una particin entera.
Esto se conoce como fragmentacin interna.
Algoritmos de Ubicacin como Particiones
Particiones del mismo tamao
Como todas las particiones tienen el mismo tamao, no importa que particin
asignar.
Particiones de diferente tamao
Se puede asignar a cada proceso la particin ms pequea en la que cabe.
Cola para cada particin.
Los procesos se asignan de manera que se minimiza la memoria
desperdiciada de una particin.
Particionamiento Dinmico
-

El tamao y el nmero de particiones es variable.


El proceso se le asigna exactamente la cantidad de memoria que necesita.
Aparecen huecos en la memoria. Esto se conoce como fragmentacin externa.
Se debe realizar una compactacin para desplazar a los procesos de forma
que este junto y todo el espacio libre este en un solo bloque.

Particionamiento Dinmico Algoritmo de Ubicacin


a) El sistema operativo debe decidir qu bloque libre asignar a un proceso.
b) Algoritmo del mejor ajuste (best fit).
Elige el bloque que tiene el tamao ms cercano al solicitado.
Peor rendimiento de todos.
Como se busca el bloque ms pequeo por proceso, se produce el menor
volumen de fragmentacin, pero hay que compactar ms a menudo.
Particionamiento Dinmico Algoritmo de Ubicacin
Algoritmo del primer ajuste (first fit).
Es el ms rpido.
Puede haber muchos procesos cargados en la zona inicial de la memoria,
que debe ser examinada cuando se busca un bloque libre.

Particionamiento Dinmico Algoritmo de Ubicacin


Algoritmo del siguiente ajuste (Next-fit).
A menudo se asigna un bloque de memoria en la ltima parte de la

memoria donde est el mayor bloque.


El mayor bloque de memoria se parte en pequeos bloques.
Se necesita compactar para obtener un bloque grande en la ltima zona
final memoria.

Buddy System
La memoria disponible completa es tratada como un bloque individual de 2U.
Si una peticin de tamao s es tal que 2U-1 < s <= 2U, se le asigna el
bloque completo.
Si no, el bloque se divide en dos trozos iguales (buddies).
El proceso contina hasta generar el bloque ms pequeo que es mayor o
igual a s.
Reubicacin
-

Cuando se carga un programa en memoria se determina la ubicacin real

(absoluta).
Un proceso puede ocupar diferentes particiones durante la ejecucin

(swapping) lo que significa diferentes direcciones absolutas.


La compactacin tambin provoca que un programa ocupe diferentes
particiones que da lugar a direcciones absolutas diferentes

Direcciones
a) Lgicas
Referencias a posiciones de memoria independientes de la asignacin
vigente de datos en memoria.
La traduccin se realiza a direccin fsica
b) Relativas
Las direcciones se expresan como posiciones relativas a algn punto
conocido
c) Fsicas
Es la direccin absoluta o ubicacin real en memoria principal
Registros Usados durante la Ejecucin
A. Registro base
Direccin de comienzo de un proceso
B. Registro de lmites (bound).
Direccin final de un proceso.
C. Estos valores se establecen cuando se carga el proceso o bien cuando es
intercambiado hacia memoria (swap).

Registros Usados durante la Ejecucin


-

Se suma el valor del registro base a la direccin relativa produciendo una

direccin absoluta.
La direccin resultante se compara con el registro de lmite.
Si la direccin est fuera de los lmites, se genera una interrupcin al sistema
operativo.

Paginacin
-

Particin de la memoria en pequeos pedazos del mismo tamao (chunks) y

dividir cada proceso en trozos del mismo tamao.


Los trozos (chunks) de un proceso se llaman pginas y los de la memoria se

llaman marcos de pgina (frames).


El sistema operativo mantiene una tabla de pgina para cada proceso
Contiene la ubicacin del marco de pgina (frame) de cada pgina del proceso.
La direccin de memoria consiste en un nmero de pgina y un
desplazamiento (offset) dentro de la pgina.

Segmentacin
-

Todos los segmentos de todos los programas no tienen por qu ser del mismo
tamao
Hay un tamao mximo de segmento
El direccionamiento consta de dos partes
Un nmero de segmento y un desplazamiento dentro de ste (offset)
Como los segmentos no son iguales, la segmentacin es similar al
particionamiento dinmico.

Algoritmo de Ubicacin
En particiones del mismo tamao, cuando hay alguna particin libre, puede
cargarse un proceso en esa particin. Si todas las particiones estn ocupadas
con procesos que no estn listos para ejecutarse, uno de estos se saca y da
paso a un nuevo proceso, esta decisin de sacar procesos la hace el
planificador.
En particiones de distinto tamao se asigna cada proceso a la particin ms
pequea en la que quepa.

Algoritmo De Ubicacin Con Particiones Dinmicas


Algoritmo del mejor ajuste(best-fit):
- Elige el bloque de tamao ms prximo al solicitado.
- Proporciona en general los peores resultados.
- Puesto que este algoritmo busca el hueco ms pequeo para el proceso.
Algoritmo Del Primer Ajuste(first-fit):
- Es ms rpido.
- Puede tener varios procesos cargados en el extremo inicial de la memoria que
es necesario recorrer cuando se intente encontrar un bloque libre.

Algoritmo del siguiente ajuste(next-fit):

- Lleva frecuentemente a la asignacin de un bloque de memoria de la ltima


ubicacin, donde se encuentra el bloque ms grande.
- El bloque de memoria ms grande se divide en fragmentos pequeos.
- Har falta la compactacin para obtener un bloque de memoria
final del espacio de memoria.
Bad Fit: (Peor ajuste):
- Ordena los huecos y asigna el proceso en el primero que quepa.

grande al

Anda mungkin juga menyukai