Está en la página 1de 43

Facultad de Ingeniera de Sistemas

Universidad Nacional del


Centro del Per

SISTEMAS OPERATIVOS
ALUMNOS :
ESTRADA SOTO, Ivn
AMBROSIO GASPAR, David
TENORIO PREZ, Elvis Fernando
SEMESTRE

: IX

Huancayo-Per-2014

cuando
necesitan

1. Objetivos del sistema de gestin de memoria

*Objetivos del Gestor de Memoria


A.Espacios lgicos independientes
B.Proteccin entre procesos
C.Comparticin de Memoria (procesos ligeros)
D.Soporte a las regiones del proceso
E.Maximizar el grado de multiprogramacin
F.Mapas de memoria de un tamao
(normalmente grandes)

adecuado

1. Objetivos del sistema de gestin de memoria

A.Espacios lgicos independientes


* A priori no se conoce la posicin de memoria que ocupar un

programa cuando vaya a ejecutarse (estado de ocupacin de la


memoria)

* Cdigo en ejecutable genera referencias entre 0 y N


* Ejemplo: Programa que copia un vector
Fichero Ejecutable
0
4
....
96
100
104
108
112
116
120
124
128
132
136

Cabecera
LOAD R1, #1000
LOAD R2, #2000
LOAD R3, /1500
LOAD R4, [R1]
STORE R4, [R2]
INC R1
INC R2
DEC R3
JNZ /12
.................

Vector destino a partir de


direccin 2000
Tamao del vector en direccin
1500
Vector origen a partir de direccin
1000

1. Objetivos del sistema de gestin de memoria


Se supone que el cdigo del SO reside en las
posiciones ms altas.
El programa se carga en la posicin 0 y para que
se ejecute ha de pasrsele el control (es decir,
que el contador del programa apunte a esta
posicin).

* Problema:Como

se ve, no coinciden las


direcciones usadas en el programa con la
posicin a partir de la cual se carga el
programa. Suponer por ejemplo, que el
programa se cargara a partir de la posicin
10000....

* Solucin: Reubicacin de direcciones lgicas a


fsicas

Memoria
0
4
8
12
16
20
24
28
32
36
....

LOAD R1, #1000


LOAD R2, #2000
LOAD R3, /1500
LOAD R4, [R1]
STORE R4, [R2]
INC R1
INC R2
DEC R3
JNZ /12
.................

Sistema Operativo

1. Objetivos del sistema de gestin de memoria


* Reubicacin:

Traducir direcciones lgicas a direcciones fsicas dependientes


del hardware mediante una funcin de traduccin. La reubicacin permite
crear un espacio lgico independiente para cada proceso y el S.O. debe poder
acceder a los espacios lgicos para realizar la traduccin.

* Direcciones lgicas: direcciones de memoria generadas por el programa


* Direcciones fsicas: direcciones de memoria principal asignadas
* Funcin de traduccin:
Traduccin(IdProc, dir_lgica) dir_fsica

* Ejemplo:
El programa tiene asignada memoria a partir de la direccin 10000
Reubicacin: sumar 10000 a direcciones lgicas

* Implementacin:
o Hardware
o Software

1. Objetivos del sistema de gestin de memoria

* Reubicacin Hardware: la MMU (memory management unit) se


encarga de la traduccin

* Proceso:
* Programa se carga en memoria sin modificar
* El S.O. almacena por cada proceso su funcin de traduccin
* El S.O. especifica a la MMU qu funcin aplicar para cada proceso
Memoria

Procesador
PC
8

HW traduccin

R. Instruccin
1500
LOAD R3, /1500

10000

11500

10000
10004
10008
10012
10016
10020
10024
10028
10032
10036
..........

LOAD R1, #1000


LOAD R2, #2000
LOAD R3, /1500
LOAD R4, [R1]
STORE R4, [R2]
INC R1
INC R2
DEC R3
JNZ /12
.................

1. Objetivos del sistema de gestin de memoria

* Reubicacin

software: traduccin de
direcciones durante carga del programa.
Esta solucin se usa en sistemas sin el
hardware especfico de traduccin
(MMU).
* Proceso:
* El programa se carga con las
direcciones ya traducidas
* Se genera un cdigo diferente del
programa ejecutable
* Desventajas:
* No asegura proteccin (no se verifica
cada direccin a usar, sino que se usan
las direcciones generadas tras el
proceso de carga)
* No permite mover programa en
tiempo de ejecucin (suponer que es
necesaria la reubicacin del espacio
asignado al proceso, por necesitar ms
espacio.....)

Memoria

10000
10004
10008
10012
10016
10020
10024
10028
10032
10036
..........

LOAD R1, #11000


LOAD R2, #12000
LOAD R3, /11500
LOAD R4, [R1]
STORE R4, [R2]
INC R1
INC R2
DEC R3
JNZ /10012
.................

1. Objetivos del sistema de gestin de memoria

B.Proteccin entre procesos


La proteccin es diferente segn sea un sistema Mono o Multi programado:
Sistema MonoProgramado: La intrusin se dar solamente entre el
programa y el S.O.
Sistema MultiProgramado: La intrusin puede venir tanto de otros
procesos como de otros usuarios adems del riesgo del sistema
Monoprogramado.

* Acciones
* La traduccin de direcciones debe crear espacios disjuntos
* Es necesario validar todas las direcciones que genera el programa
* La deteccin de alguna intrusin debe realizarla el hardware del
procesador (MMU), ya que hay que realizarla en tiempo de
ejecucin

*
*
*

El tratamiento de alguna intrusin lo hace el SO

En sistemas con mapa de E/S y memoria comn:


Traduccin permite impedir que los procesos accedan directamente
a dispositivos de E/S

1. Objetivos del sistema de gestin de memoria

C.Comparticin de Memoria (procesos ligeros)


La comparticin de memoria entre procesos da soporte a la

creacin de procesos ligeros y est controlado por el S.O.


* Acciones:

Las direcciones lgicas de 2 o ms procesos se correspondern


con una misma direccin fsica.

*
*

La memoria asignada a cada proceso no puede ser ya contigua.


La funcin de traduccin en estos casos se va haciendo ms
Mapa proceso 1
compleja.
Memoria

Ventajas:
Procesos ejecutando mismo
programa comparten su
cdigo
Mecanismo de comunicacin
entre procesos muy rpido

zona privada 1
zona compartida

zona priv. 1 (P1)


zona priv. 1 (P2)

zona privada 2
zona compartida

Mapa proceso 2
zona priv. 2 (P2)
zona privada 1
zona priv. 2 (P1)
zona compartida
zona privada 2

1. Objetivos del sistema de gestin de memoria

* Problemas:
* Requiere asignacin no contigua
* Si la posicin de zona

compartida contiene referencia


a otra posicin de la zona
compartida, no se puede saber
a qu direccin se refiere
puesto que cada proceso ligero
ver esa direccin de forma
diferente

Ejemplo: Si el cdigo, que es comn,


contiene una bifurcacin, no se
podr determinar a qu direccin
se debe saltar, dependiendo del
proceso que est ejecutando el
cdigo

Mapa proceso 1
Memoria
2000
zona compartida
zona compartida
10000 1100 2100?
10100

Mapa proceso 2
1000
zona compartida

lgico

fsico

1. Objetivos del sistema de gestin de memoria

D. Soporte de las regiones del proceso


El mapa de memoria de un proceso no es homogneo, ya que las
regiones contienen diferentes tipos de informacin (cdigo,

datos y pila normalmente) y poseen diferentes caractersticas

* Acciones:
*

Hacer mapa de memoria dinmico:

*
*

Regiones cambian de tamao (p.ej. pila)

Existen zonas sin asignar (huecos, con carcter dinmico)

Se crean y destruyen regiones (el sistema de memoria debe


controlar qu regiones estn presentes, as como su tamao)

Detectar accesos no permitidos a una regin ( de slo lectura por


ej)

*
*
*

Detectar accesos a huecos


Evitar reservar espacio para huecos
Guardar y gestionar una tabla de regiones para cada proceso

1. Objetivos del sistema de gestin de memoria


E. Maximizar el grado de multiprogramacin
El reparto de memoria debe ser tal que
maximize el grado de multiprogramacin
para evitar el desperdicio de memoria

* Memoria desperdiciada
* Restos
(huecos)

inutilizables

(fragmentacin)

Tablas requeridas
memoria

Aprovechamiento de memoria
ptimo es irrealizable!!!!
Tablas de gestin demasiado
grandes

por

gestor

de

* Acciones
* Crear

bloques de asignacin de menor


tamao

Gestionar las tablas de asignacin ms


eficientemente

*
*

Se opta por la paginacin


Uso de memoria virtual para aumentar
grado de multiprogramacin

Memoria
0

Direccin 50 del proceso 4

Direccin 10 del proceso 6

Direccin 95 del proceso 7

Direccin 56 del proceso 8

Direccin 0 del proceso 12

Direccin 5 del proceso 20

Direccin 0 del proceso 1


.........................................
.........................................

N-1

Direccin 88 del proceso 9

Direccin 51 del proceso 4

1. Objetivos del sistema de gestin de memoria

F.Mapas

de memoria de un tamao adecuado (normalmente

grandes)

Los procesos necesitan cada vez mapas ms grandes:


aplicaciones ms novedosas, ms recursos grficos, ms carga
computacional....
Acciones

*
*

Utilizar Memoria Virtual


Hacer que el usuario disponga virtualmente de una enorme
cantidad de memoria fsica

Otras opciones (antigua)

Overlays

*
*
*
*

Programa dividido en fases que se ejecutan sucesivamente


En cada momento slo hay una fase residente en memoria
Cada fase realiza su labor y carga la siguiente
No es transparente: Toda la labor realizada por programador

Ejemplo de particin esttica en una memoria de 64 MB

Asignacin de Memoria con Particiones Estticas

Efectos de la Particin Dinmica

EJEMPLO

* Ventaja:
* La fusin es ms rpida que en otros algoritmos ya que slo tiene que
buscar en la lista de huecos del mismo tamao.

* Desventaja
* Es muy ineficiente en la utilizacin de memoria -> fragmentacin interna
* Fragmentacin interna (externa): los espacios desperdiciados estn dentro
(fuera) de la zona asignada

Paginacin

* Direccin virtual: direccin generada por un programa.


* Espacio de direcciones virtuales: direcciones que puede
generar un programa.

* Se divide en unidades llamadas pginas


* Las unidades correspondientes en memoria fsica se llaman
marcos de pgina (512bytes, 1K, 2K, 4K)

* Las pginas y los marcos tienen idntico tamao.


* La transferencia entre memoria y disco se realizan siempre en
unidades de pginas.

* Si no hay memoria virtual, las direcciones generadas por


un programa son direcciones fsicas

* Con memoria virtual, las direcciones se mandan a la


unidad de gestin de memoria (MMU)

* Dispositivo que se encarga de traducir dinmicamente las


direcciones virtuales en fsicas

Procesador

Memoria

MMU
Bus

Asignacin de pginas
de procesos a marcos
libres

Estructura de
Datos en el
tiempo (f)

Traduccin de Direccin lgica a Fsica en Paginacin


Ejemplo:

Direccin relativa 1502 en binario 0000010111011110

Direccin lgica de 16 bits

Segmentacin
Otra forma de subdividir el programa es la segmentacin. En este caso el
programa y sus datos son divididos en segmentos, sin ser necesario que
todos sean de igual tamao.
Traduccin de Direccin lgica a Fsica

Tabla de Segmentos del


Proceso

N Segm. Inicio de Segm. Longitud

Resumen de las Tcnicas de Gestin de Memoria


Tcnica

Descripcin

Ventajas

Desventajas

Particin Esttica

La memoria principal se divide en un


conjunto de particiones estticas,
durante la generacin del sistema. Un
proceso se puede cargar en una
particin de igual o mayor tamao.

Sencilla de implementar,
poca sobrecarga del
sistema operativo.

Empleo ineficiente de la
memoria debido a la
fragmentacin interna.
El nmero de procesos
activos es fijo.

Particin Dinmica

Las particiones se crean dinmicamente,


de forma que cada proceso se carga en
una particin de su mismo tamao.

No hay fragmentacin
interna, uso ms
eficiente de la memoria
principal.

Uso ineficiente del


procesador debido a la
compactacin para
contrarrestar la
fragmentacin externa.

Paginacin

La memoria principal se divide en un


conjunto de marcos de igual tamao.
Cada proceso se divide en pginas de
igual tamao que los marcos. Un
proceso se carga situando todas sus
pginas en marcos libres pero no
necesariamente contiguos.

No tiene fragmentacin
externa

Hay una pequea


cantidad de
fragmentacin interna.

Segmentacin

Cada proceso se divide en segmentos.


Un proceso se carga situando todos sus
segmentos en particiones dinmicas que
no tienen por qu ser contiguas.

No tiene fragmentacin
interna.

Mejora la utilizacin de
la memoria y reduce la
sobrecarga comparada
con la particin
dinmica.

Esquemas de Asignacin
Contigua

Esquemas de Asignacin
no Contigua

Conclusiones
Una de las tareas ms complejas e importantes que lleva a cabo el sistema
operativo es la de administrar la memoria.
Todos los mtodos aqu presentados, suponen que para ejecutar un proceso es
necesario tenerlo completamente en memoria principal, ya sea en espacios contiguos
o no.
La paginacin es un esquema similar al de las particiones estticas, con la ventaja
de que un proceso puede ser cargado en ms de una particin y en espacios de
memoria no contiguos, lo que reduce la fragmentacin interna a la que se produce en
la ltima pgina.
Por otro lado, la segmentacin es un esquema similar al de las particiones dinmicas
con ventajas similares a la paginacin.
Tanto en las particiones estticas, como en la paginacin, es necesario determinar
el tamao que tendrn los bloques de memoria.

También podría gustarte