You are on page 1of 36

SISTEMAS OPERATIVOS Administracin de Memoria

Tabla de Contenido
i. ii. 1. 2. 3. Objetivos. Mapa Conceptual Introduccin El Administrador de Memoria Tcnicas de Administracin de Memoria a. Particionamiento b. Paginacin y Segmentacin Simple 4. Conclusiones 5. Bibliografa 3 4 5 11 17 26 36 37

2 /50

Mapa Conceptual de la Sesin


Real
Mono Usuario

Real
Multiprogramacin Particionamiento Fija Dinmica

Real
Multiprogramacin Paginacin Simple Segmentacin Simple

Virtual
Multiprogramacin Paginacin Virtual Segmentacin Virtual

Combinacin Reubicacin, Proteccin

Combinacin

3 /50

INTRODUCCIN

4 /50

Organizacin Fsica de la Memoria


Registros de la CPU Cache Nivel 1 Nivel 2 RAM Memoria Fsica Memoria Virtual Hard Disk Drive Flash Memory Dispositivos Externos Teclado Mouse Scaner

Almacenamiento Temporal o de acceso aleatorio

Almacenamiento Permanente

5 /50

Organizacin Fsica de la Memoria


Registros de la CPU Cache Nivel 1 Nivel 2 RAM Memoria Fsica Memoria Virtual Hard Disk Drive Flash Memory Dispositivos Externos Teclado Mouse Scaner

Almacenamiento Temporal o de acceso aleatorio

Almacenamiento Permanente

6 /50

Organizacin Lgica de la Memoria


La memoria principal es un arreglo de palabras o bytes, cada uno de los cuales tiene una direccin (espacio de direcciones). La interaccin es lograda a travs de un conjunto de lecturas y escrituras a direcciones especificas realizadas por los procesos.
direccin ubicacin

memoria

7 /50

Procesos y Memoria
Para que un proceso se ejecute se requiere ubicarlo en memoria principal junto con los datos que direcciona. Para optimizar el uso del computador se requiere tener varios procesos en memoria principal. (grado de multiprogramacin)
Memoria Principal

Memoria Virtual
L a m e m o r i a p r i n c i p a l e s pequea como para acomodar todos programas y datos permanentemente. P o r l o q u e e s n e c e s a r i o implementar mecanismos de memoria virtual. La memoria virtual es una tcnica para dar la ilusin de tener ms memoria que la memoria principal.
Memoria Virtual Memoria Fsica

Memoria Principal

Disco Duro

9 /50

ADMINISTRADOR DE MEMORIA
Direccin virtual

Direccin fsica Tabla de pginas

10 /50

Administrador de Memoria
Sistema monoprogramado
Sistema Operativo

Sistema multiprogramado
Sistema Operativo Sistema Operativo

Memoria del usuario

Un programa puede o no ingresar a una nica particin de memoria

Mltiples programas comparten diversas particiones de memoria Particiones de tamao fijo Particiones de tamao variable
11 /50

Administrador de Memoria
El administrador de memoria tiene como objetivos: Ubicar, reemplazar, cargar y descargar procesos en la memoria principal. Proteger la memoria de acceso indeseados (accidentales o intencionados). Permitir la comparticin de zonas de memoria (indispensable para lograr la cooperacin de procesos).

12 /50

Requisitos del administrador de memoria


1. Reubicacin. Permitir el recalculo de direcciones de memoria de un proceso reubicado. 2. Proteccin. Evitar el acceso a posiciones de memoria sin el permiso expreso. (no direcciones absolutas). 3. Comparticin. Permitir a procesos diferentes acceder a la misma porcin de memoria. 4. Organizacin Lgica. Permitir que los programas se escriban como mdulos compilables y ejecutables por separado. 5. Organizacin Fsica. Permitir el intercambio de datos en la memoria primaria y secundaria
13 /50

Estrategias
Estn dirigidas a la obtencin del mejor uso del recurso memoria principal, estas pueden ser: 1. Estrategia de solicitud (bsqueda)
(cuando obtener un fragmento de programa)

Estrategias de bsqueda por demanda. Estrategias de bsqueda anticipada. 2. Estrategia de ubicacin.


(donde se colocar (cargar) un fragmento de programa nuevo)

3. Estrategia de reposicin.
(qu fragmento de programa descarga, para cargar uno nuevo)

14 /50

Administrador de Memoria
Las tcnicas usadas son las siguientes: 1. Particin Fija 2. Particin Dinmica 3. Paginacin Simple 4. Segmentacin Simple 5. Memoria Virtual Paginada 6. Memoria Virtual Segmentada

15 /50

TECNICAS DE ADMINISTRACION DE MEMORIA


PARTICIONAMIENTO
Real Mono Usuario Real Multiprogramacin Particionamiento Fija Dinmica Real Multiprogramacin Virtual Multiprogramacin

Paginacin Segmentaci Paginacin Segmentaci Simple n Simple Virtual n Virtual Combinacin Reubicacin, Proteccin Combinacin

16 /50

PF PD PS SS VP VS

1. Particin Fija
La memoria principal se divide en un conjunto de particiones de tamao fijo durante el inicio del sistema. Un proceso se puede cargar completamente en una particin de tamao menor o igual. Ventajas. Sencilla de implementar. Poca sobrecarga al SO. Desventajas. Fragmentacin interna. Nro. fijo de procesos activos.
17 /50

PF PD PS SS VP VS

1. Estrategias
Solicitud.
Por demanda

Ubicacin.
Particin de igual tamao.
Si el proceso cabe en una particin se puede cargar

Particin de diferente tamao.


Asignar a la particin ms pequea. Se genera dos tipos de colas: una cola, varias colas

Reemplazo.
Uno de los proceso se saca, segn el planificador.

18 /50

PF PD PS SS VP VS

1. Estrategia de Ubicacin

Sistema Operativo 512K 512 K 512 K 512 K 512 K 512 K 512 K

Sistema Operativo 256 K 512K 768 K 1024 K

Sistema Operativo 256 K 512K 768 K 1024 K

1280 K

1280 K

Particiones del mismo tamao

Particiones de distinto tamao


19 /50

PF PD PS SS VP VS

1. Particin Fija
Si un programa no cabe en una particin, el programador debe disearlo en mdulos cargables. El uso de la memoria es muy ineficiente, no importa el tamao del proceso, ocupara toda la particin, se genera fragmentacin interna.

fragmentacin interna
20 /50

PF PD PS SS VP VS

2. Particin Dinmica
Las particiones se crean dinmicamente por demanda. Son variables en tamao y nmero Cada proceso se carga completamente en una nica particin del tamao del proceso. Ventajas. No existe fragmentacin interna. Desventajas. Fragmentacin externa. Se debe compactar la memoria. El compactado toma tiempo.
21 /50

PF PD PS SS VP VS

2. Particin Dinmica
El uso de la memoria es muy ineficiente, se generan muchos huecos entre las particiones, cada vez ms pequeas, se genera la fragmentacin externa. Cada cierto tiempo se debe compactar los segmentos libres, para que estn contiguos.

fragmentacin externa compactacin

PF PD PS SS VP VS

2. Estrategias
Solicitud.
Por demanda

Ubicacin.
Primer ajuste. El primer bloque disponible que ubique (parte del inicio) Siguiente ajuste. El siguiente bloque disponible que ubique (parte desde la ubicacin actual) Mejor ajuste. El bloque disponible que deje el menor espacio libre (bsqueda exhaustiva)

Reemplazo.
Uno de los proceso se saca, segn el planificador.
23 /50

PF PD PS SS VP VS

2. Estrategias
P r i m e r a j u s t e . E s b u e n o , c o n b a j a compactacin. Puebla el inicio de la memoria Siguiente ajuste. Puebla el final de la memoria, el siguiente bloque libre siempre est al final de la memoria. Mejor ajuste. Tiene peores resultados, dado que busca la particin que deje el hueco ms pequeo, la memoria se llena de huecos pequeos. Se compacta con ms frecuencia
24 /50

TECNICAS DE ADMINISTRACION DE MEMORIA


PAGINACION Y SEGMENTACION SIMPLE
Real Mono Usuario Real Multiprogramacin Particionamiento Fija Dinmica Real Multiprogramacin Virtual Multiprogramacin

Paginacin Segmentaci Paginacin Segmentaci Simple n Simple Virtual n Virtual Combinacin Reubicacin, Proteccin Combinacin

25 /50

PF PD PS SS VP VS

3. Paginacin Simple
La memoria principal se divide en un conjunto de marcos de igual tamao. Cada proceso se divide en una serie de pginas del tamao de los marcos. Un proceso se carga en los marcos que requiera (todas las pginas), no necesariamente contiguos. Ventajas. No hay fragmentacin externa Desventajas. Fragmentacin interna pequea.
26 /50

PF PD PS SS VP VS

3. Paginacin Simple
El SO mantiene una tabla de paginas para cada proceso, que contiene la lista de marcos para cada pagina. Una direccin de memoria es un nmero de pgina (P) y un desplazamiento dentro de la pgina (W).
p = marcos p p

PF PD PS SS VP VS

3. Estrategias
Solicitud.
Por demanda

Ubicacin.
Se cargan todas las pginas de un proceso en los marcos libres y se actualiza su tabla de pginas.

Reemplazo.
Una de las pginas se puede sacar y se marca como que no est cargada. Esto es posible por que cada proceso tiene su propia tabla de pginas. No es necesario sacar todas las pginas de un proceso.
28 /50

PF PD PS SS VP VS

3. Capacidad de Direccionamiento

216 = 65,536 220 = 1'048,576 224 = 16777,216 232 = 4,294'967,296

= 64K = 1MB =16MB = 4GB

PF PD PS SS VP VS

4. Segmentacin Simple
Cada proceso y sus datos se dividen en segmentos de longitud variable. Un proceso carga sus segmentos en particiones dinmicas no necesariamente contiguas. Todos los segmentos de un proceso se deben de cargar en memoria. Se diferencia de la particin dinmica en que un proceso puede ocupar ms de un segmento. Ventajas. No hay fragmentacin interna. Desventajas. Fragmentacin externa, pero menor (compactacin)
30 /50

PF PD PS SS VP VS

4. Segmentacin Simple
El SO mantiene una tabla de segmentos para cada proceso y la lista de bloques libres. Una direccin de memoria es un nmero de segmento (S) y un desplazamiento dentro de segmento (W).
Segmentos Desplazamiento

Tabla de Segmentos

Memoria principal

s+ w

31 /50

PF PD PS SS VP VS

4. Estrategias
Solicitud.
Por demanda

Ubicacin.
Se cargan los segmentos de un proceso en los bloques libres y se actualiza su tabla de segmentos.

Reemplazo.
Uno de los segmentos se puede sacar y se marca como que no est cargada. Esto es posible por que cada proceso tiene su propia tabla de segmentos.

32 /50

PF PD PS SS VP VS

4. Validacin del Direccionamiento


No hay correspondencia entre direccin lgica y direccin fsica. El SO trabaja con direcciones lgicas. El SO debe asegurar que cada direccin lgica est dentro del rango de direcciones del proceso El SO implementa la tabla de segmentos como un arreglo de registros base limite

La segmentacin por lo general es invisible al programador. Es el compilador el que define los segmentos.

PF PD PS SS VP VS

CONCLUSIONES
1. El SAM particionado a diferencia de la paginacin o segmentacin simple, permite que slo un proceso se cargue en memoria principal. 2. Cuando se trabaja con bloques de tamao fijo se genera la fragmentacin interna. Si los bloques son de tamao variable, se genera la fragmentacin externa. 3. El SAM de particiones fijas se parece al SAM de paginacin simple, diferencindose en que los primeros requieren que las particiones estn contiguas

35 /50

BIBLIOGRAFIA
1. Sistemas Operativos, 2da Edicin (1997) William Stallings, Prentice Hall Espaa 2. Sistemas Operativos, conceptos fundamentales , 3ra. Edicin (1994) A. Silberschatz, J. Peterson, P. Galvin, Addison-Wesley Publishing Company USA 3. Sistemas Operativos, 2da Edicin (1993), H. M. Deitel, Addison-Wesley Publishing Company USA

36 /50

You might also like