Capitulo 9 administración del almacenamiento 23-01-2012

104
QUINTO NIVEL “B”

Transcript of Capitulo 9 administración del almacenamiento 23-01-2012

Page 1: Capitulo 9   administración del almacenamiento 23-01-2012

QUINTO NIVEL

“B”

Page 2: Capitulo 9   administración del almacenamiento 23-01-2012

Facultad de Ciencias Informáticas

Misión Visión

Formar profesionales eficientes en el campo de las Ciencias Informáticas, que con honestidad, equidad y

solidaridad, den respuesta a las necesidades de la

sociedad elevando su nivel de vida.

Ser una unidad con alto prestigio académico con

eficiencia, transparencia y calidad en la educación,

organizada en sus actividades, protagonista del proceso regional y nacional.

Page 3: Capitulo 9   administración del almacenamiento 23-01-2012

REFLEXIÓN

En ocasiones tendrás que ayudar a los

demás y otras veces recibirás ayuda. Pero

entiende y aplica bien la palabra ayuda, pues

es fácil crear vicios de tanto “ayudar” o caer

en ellos de tanto recibir “ayuda”.

Page 4: Capitulo 9   administración del almacenamiento 23-01-2012

Jonathan Oswaldo Urdánigo Vinces

PARTE 3

ADMINISTRACIÓN DEL ALMACENAMIENTO

Page 5: Capitulo 9   administración del almacenamiento 23-01-2012

ADMINISTRACIÓN DEL ALMACENAMIENTO

El propósito principal de un sistema de computo es ejecutar programas, estos juntos con los datos, deben estar en la memoria principal durante la ejecución.

Para mejorar la utilización de los

CPU como velocidad de respuestas a los

usuario , la computadora debe mantener varios procesos en la

memoria.

Debido a que la memoria principal resulta pequeña para acomodar todos los datos y programas de manera permanente el sistema de computo debe proporcionar un almacenamiento secundario.

Page 6: Capitulo 9   administración del almacenamiento 23-01-2012

Leidy marianela macías macías

CAPÍTULO 9

ADMINISTRACIÓN DE LA MEMORIA

9.1 ANTECEDENTES

Page 7: Capitulo 9   administración del almacenamiento 23-01-2012

ADMINISTRACIÓN DE LA MEMORIA

Los algoritmos de administración de memoria varían desde:

Un enfoque primitivo

A nivel de máquina

Hasta estrategias de paginación

Y segmentación

Cada enfoque tiene sus propias ventajas y desventajas.

La selección de un método de administración de la memoria para un

sistema específico depende de muchos factores.

Especialmente del diseño del hardware del sistema

MUCHOS ALGORITMOS REQUIEREN SOPORTE DEL HARDWARE

Page 8: Capitulo 9   administración del almacenamiento 23-01-2012

ADMINISTRACIÓN DE LA MEMORIA 9.1

ANTECEDENTES

La memoria es un componente central para la operación de un sistema de cómputo moderno, la cual consiste en un gran arreglo de palabras o bytes, cada uno con su

propia dirección. La CPU acude por instrucciones a la memoria de acuerdo con el valor del contador de programa. Estas instrucciones pueden originar, a su vez, carga y

almacenamiento de y hacia direcciones específicas de memoria

Entonces, podemos ignorar cómo un programa genera una dirección de memoria. Ya que sólo nos interesa la secuencia de direcciones de memoria

generadas por el programa que está en ejecución.

La unidad de memoria solo ve un flujo de direcciones de memoria; no sabe cómo se

generan ni lo que son.

Contador de instrucción, índice, indirección, direcciones literales

Instrucciones o Datos

Page 9: Capitulo 9   administración del almacenamiento 23-01-2012

CARLOS JAVIER SORNOZA VÁSQUEZ

9.1.1 VINCULACIÓN DE DIRECCIONES

Page 10: Capitulo 9   administración del almacenamiento 23-01-2012

Es un conjunto de procesos que están en el disco y esperando ser llevados a la memoria para su ejecución.

PROCESO PROCESO

PROCESO

PROCESO

Las direcciones pueden representarse de diferentes formas durante estos pasos, que por lo general son simbólicas ..

9.1.1 VINCULACIÓN DE DIRECCIONES

Page 11: Capitulo 9   administración del almacenamiento 23-01-2012

Procesamiento de pasos múltiples de un programa de usuario

Programa

fuente

Compilador o ensamblador

Módulo Objeto

Editor de enlace

Cargador

Módulo de

Carga

Imagen de memoria binaria

en memoria

Tiempo de compilación

Tiempo de carga

Tiempo de ejecución (tiempo de corrida)

Si se conoce al momento de la compilación en donde residirá el proceso en la memoria, entonces se puede generar un código absoluto.

Si no se conoce al momento de la compilación en donde residirá el proceso en la memoria, entonces el compilador debe generar un código relocalizable

Si el proceso puede moverse durante su ejecucion de un segmento de memoria a otro, entonces la vinculacion debe ser demorada hasta el momento de ejecución.

Otros módul

os objeto

Biblioteca del

sistema

Biblioteca del

sistema cargada

dinamicamente

9.1.1 VINCULACIÓN DE DIRECCIONES

Page 12: Capitulo 9   administración del almacenamiento 23-01-2012

KARINA JESSENIA HIDROVO AVELLÁN

9.1.2 ESPACIO DE DIRECCIONES LÓGICAS

CONTRA FÍSICAS

Page 13: Capitulo 9   administración del almacenamiento 23-01-2012

Los métodos de vinculación de

direcciones en el momento de la

compilación y en el de la carga dan por resultado un

ambiente en donde las

direcciones lógicas y físicas son las mismas.

El esquema de vinculación de

direcciones da por resultado un

ambiente en el que las

direcciones lógicas y físicas

difieren.

Page 14: Capitulo 9   administración del almacenamiento 23-01-2012

El conjunto de todas las direcciones lógicas generadas por un programa es un espacio de direcciones lógicas.

El conjunto de todas las direcciones físicas correspondientes a estas direcciones lógicas es el espacio de direcciones físicas.

Por lo tanto, en el esquema de vinculación de direcciones en el tiempo de ejecución, los espacios de direcciones lógicas y físicas difieren.

Page 15: Capitulo 9   administración del almacenamiento 23-01-2012

CPU

registro de relocalización

14000

+

dirección lógica

dirección física

346 14346

MMU

Relocalización dinámica empleando un registro de relocalización

memoria

Como podemos observar en la figura este método requiere un soporte de hardware. El registro base ahora se llama registro de relocalización, el valor en este registro se agrega a cada dirección generada por un proceso de usuario en el momento en que se envía a la memoria.

El mapeo en tiempo de ejecución de direcciones virtuales (direcciones lógicas) en direcciones físicas es realizado por la unidad de administración de memoria(memory-management-unit, MMU) que es un dispositivo de hardware. Realizaremos este mapeo con un esquema simple de MMU, que es una generalización del esquema de registros base.

Por ejemplo, si la base se encuentra en 14000, el intento por parte del usuario de direccionar la localidad 0 se relocaliza dinámicamente en la localidad 14000; un acceso a la localidad 346 se mapea en la localidad 14346.

Page 16: Capitulo 9   administración del almacenamiento 23-01-2012

El programa puede crear un apuntador a la localidad 346, almacenarlo en memoria, manipularlo, compararlo con otras direcciones (todo ello como el número 346). Sólo cuando este número se utiliza como una dirección de memoria se relocaliza con relación al registro base.

El programa de usuario nunca ve las direcciones físicas reales.

El programa de usuario maneja direcciones lógicas. El hardware de mapeo de memoria convierte las direcciones lógicas en direcciones físicas antes de ser utilizadas.

Page 17: Capitulo 9   administración del almacenamiento 23-01-2012

JEAN CARLOS MACÍAS ALCIVAR

9.1.3 CARGA DINÁMICA

Page 18: Capitulo 9   administración del almacenamiento 23-01-2012

9.1.3 CARGA DINÁMICA

El tamaño de un proceso está limitado por el tamaño de la memoria física. Para conseguir una mejor utilización del espacio de memoria, podemos emplear la carga dinámica.

Con la carga dinámica una rutina no se carga sino hasta que sea llamada.

Todas las rutinas se mantienen en el disco en un formato de carga re localizable.

El programa principal se carga en la memoria y se ejecuta.

Page 19: Capitulo 9   administración del almacenamiento 23-01-2012

9.1.3 CARGA DINÁMICA

Page 20: Capitulo 9   administración del almacenamiento 23-01-2012

JONATHAN ZAMORA

9.1.4 ENLACE DINÁMICO Y BIBLIOTECAS

COMPARTIDAS

Page 21: Capitulo 9   administración del almacenamiento 23-01-2012

Una biblioteca puede ser reemplazada por una nueva versión, y los programas que hacen referencia a la biblioteca usaran la nueva versión.

La información de la nueva versión se incluye tanto en el programa como en la biblioteca.

El stub es un pequeño código que indica como localizar la rutina de biblioteca apropiada en memoria.

El stub verifica si la rutina ya se encuentra en memoria.

El stub se sustituye así mismo con la dirección de la rutina y ejecuta la rutina.

El concepto de enlaces dinámicos es similar al de carga dinámica . En lugar de posponer la carga es el enlace el que se pospone.

Característica usada con bibliotecas del sistema.

El enlace dinámico incluye un stub en la imagen por cada referencia a la rutina

de la biblioteca.

9.1.4 ENLACE DINÁMICO Y BIBLIOTECAS COMPARTIDAS

Page 22: Capitulo 9   administración del almacenamiento 23-01-2012

JOSÉ GABRIEL MOREIRA VÉLEZ

9.1.5 SUPERPOSICIONES (OVERLAYS)

Page 23: Capitulo 9   administración del almacenamiento 23-01-2012

La idea de las superposiciones consiste en mantener en memoria solo aquellas

instrucciones y datos que se necesitan en un momento dado.

Cuando se necesitan otras instrucciones, éstas se cargan en el espacio que estaba ocupado

previamente por las instrucciones que ya no se

necesitan.

S

U

P

E

R

P

O

S

I

C

I

O

N

E

S

(

O

V

E

R

L

A

Y

S)

9.1.5

Page 24: Capitulo 9   administración del almacenamiento 23-01-2012

CÉSAR STALIN VILLAVICENCIO PALACIOS

YORDY EDWIN ALMEIDA LOOR

9.2 INTERCAMBIO (SWAPPING)

Page 25: Capitulo 9   administración del almacenamiento 23-01-2012

9.2 INTERCAMBIO (SWAPPING)

Un proceso necesita estar en memoria para

ser ejecutado. Sin embargo, un proceso puede intercambiarse temporalmente de la

memoria a un almacén de respaldo.

Page 26: Capitulo 9   administración del almacenamiento 23-01-2012

Sistema Operativo

Espacio de usuario

Proceso

Proceso

Intercambio hacia

afuera 1

Intercambio hacia

adentro 2

Intercambio de dos procesos utilizando un disco como almacén de respaldo.

Almacén de respaldo

Mientras tanto, el planificador de la CPU asignará una porción de tiempo a algún otro proceso en memoria.

9.2 INTERCAMBIO (SWAPPING)

Page 27: Capitulo 9   administración del almacenamiento 23-01-2012

Cuando termine el proceso de mayor prioridad , el proceso de menor prioridad puede ser intercambiado de regreso a la memoria y continuar. Esta variante del intercambio también se conoce como desenrollar, enrollar.

Si llega un proceso de mayor prioridad y quiere servicio, el administrador de la memoria puede intercambiar fuera de la memoria el proceso de menor prioridad de manera que pueda cargar u ejecutar el proceso de mayor prioridad

Una variante de esta política de intercambio se emplea para los algoritmos de planificación con base de prioridades.

9.2 INTERCAMBIO (SWAPPING)

Page 28: Capitulo 9   administración del almacenamiento 23-01-2012

• Debe quedar claro que el tiempo de conmutación de contexto en un sistema de intercambio es de tipo bastante elevado

• Para la utilización eficiente de la CPU queremos que el tiempo de ejecución para cada proceso sea largo con relación al tiempo de intercambio

• El tiempo de transferencia es directamente proporcional a la cantidad de memoria intercambiada

• Existen otras relaciones de intercambio

9.2 INTERCAMBIO (SWAPPING)

Page 29: Capitulo 9   administración del almacenamiento 23-01-2012

HENRY ANDRÉS MENDOZA

JAQUELINE MARIBEL INTRIAGO MACÍAS

9.3 ASIGNACIÓN DE MEMORIA CONTIGUA

Page 30: Capitulo 9   administración del almacenamiento 23-01-2012

Asignación de memoria contigua

CPU < +

REGISTRO LIMITE

REGISTRO DE RELOCALIZACION

MEMORIA

Dirección lógica

SI

NO

trampa (trap);error de direccionamiento

Dirección física

Con los registros de relocalización y limite, cada dirección lógica debe ser menor que el limite; la MMU mapea dinámicamente la dirección lógica agregando el valor del registro de relocalización y esta dirección mapeada se envía a la memoria

Cuando el planificador de la CPU selecciona un proceso para su ejecución, el despachador caga los registros de relocalización y limites con los valores correctos como

parte de la comunicación en contexto.

Page 31: Capitulo 9   administración del almacenamiento 23-01-2012

Asignación de memoria contigua

Uno de los métodos mas sencillos es dividir la memoria en particiones

de tamaño fijo. Cada partición puede contener un proceso. De

esta forma la multiprogramación queda limitado por el numero de

particiones

El sistema operativo contiene una tabla que indica que partes de la

memoria están libres y cuales ocupadas. Inicialmente toda la

memoria esta disponible para los procesos de usuario, que es

considerado como hueco que es un espacio grande de memoria

disponible.

Cuando llega un proceso y necesita memoria, buscamos un bloque lo suficientemente grande para este proceso, si encontramos alguno le asignamos tanta memoria como

necesite y el resto queda disponible para satisfacer solicitudes futuras

Page 32: Capitulo 9   administración del almacenamiento 23-01-2012

Existen varias soluciones a esto:

Las estrategias del primer ajuste, el mejor ajuste y el peor ajuste son las que se emplean comúnmente para seleccionar huecos libre del

conjunto de huecos disponibles.

Esto es un caso particular al del problema de asignación dinámica de almacenamiento que consiste en como satisfacer una solicitud de

tamaño n a partir de una lista de huecos libres.

Se hace una búsqueda en el conjunto de huecos para determinar cual es el mejor hueco para asignar.

9.3 ASIGNACIÓN DE MEMORIA CONTIGUA

Page 33: Capitulo 9   administración del almacenamiento 23-01-2012

Se ha demostrado que tanto el primer ajuste como el mejor ajuste son mejores que el peor ajuste con respecto a su reducción de tiempo y a su utilización de

almacenamiento.

Primer ajuste: asigna el primer hueco que sea suficientemente grande. La búsqueda puede comenzar ya sea al principio del conjunto de huecos o

donde termino la búsqueda previa de primer ajuste.

Mejor ajuste: asigna el hueco mas pequeño que sea suficientemente grande. Debemos hacer la búsqueda en toda la lista o puede que la lista ya

este ordenada por su tamaño.

Peor ajuste: asigna el hueco mas grande. Se hace la búsqueda de toda la lista.

9.3 ASIGNACIÓN DE MEMORIA CONTIGUA

Page 34: Capitulo 9   administración del almacenamiento 23-01-2012

Los algoritmos que se acaban de presentar de una fragmentación externa.

La fragmentación externa ocurre cuando existe suficiente espacio de memoria total para satisfacer una solicitud, pero no es contigua; el almacenamiento se fragmenta en un gran numero de huecos pequeños.

Este problema de fragmentación puede ser grave. En el peor de los casos podría tener un bloque de memoria libre entre cada procesos.

Una solución al problema de la fragmentación es la compactación. La meta es reorganizar los contenidos de la memoria para colocar junta toda la memoria libre en un bloque grande.

Otra solución es permitir que el espacio de direcciones lógicas de un proceso no sea contiguo para dejar que a un proceso se le asigne memoria física

siempre que esta este disponible

9.3 ASIGNACIÓN DE MEMORIA CONTIGUA

Page 35: Capitulo 9   administración del almacenamiento 23-01-2012

GEMA PATRICIA CALDERÓN PAREDES

JESÚS ALBERTO CEDEÑO NAVIA

MARÍA FERNANDA ARÉVALO PINCAY

9.4 PAGINACIÓN

9.4.1 MÉTODO BÁSICO

Page 36: Capitulo 9   administración del almacenamiento 23-01-2012

La memoria física se

descompone en:

Bloques de tamaño fijo

denominados marcos

La memoria lógica se

descompone en:

Bloques del mismo

tamaño denominados

paginas

Cuando se ejecuta un proceso sus paginas se cargan desde el almacén de respaldo en cualquier marco de memoria

disponible.

Su tamaño es definido

por el hardware.

9.4.1 MÉTODO BÁSICO

Page 37: Capitulo 9   administración del almacenamiento 23-01-2012

Cada dirección

generada por la CPU se

divide en dos partes:

Numero de pagina

(p)

Desplazamiento de

pagina (d)

Numero de Pagina Desplazamiento de Pagina

p d

m-n n

9.4.1 MÉTODO BÁSICO

Page 38: Capitulo 9   administración del almacenamiento 23-01-2012

0 1 2 3

a b c d

4 5 6 7

e f g h

8 9

10 11

i j k l

12 13 14 15

m n o p

0 1 2 3

5

6

1

2

0

4

i j k l

8

m n o p

12

16

20

a b c d

24

e f g h

28

Memoria lógica

Tabla de Paginas

Memoria física

EJEMPLO DE PAGINACIÓN PARA UNA MEMORIA DE 32

BYTES CON PAGINAS DE 4 BYTES.

9.4.1 MÉTODO BÁSICO

Page 39: Capitulo 9   administración del almacenamiento 23-01-2012

La Paginación es la forma de relocalización

dinámica

Cuando utilizamos un esquema de paginación, no

tenemos fragmentación

externa

Pero sin embargo podemos tener

cierta fragmentación

interna

Si los requerimientos de

memoria de un proceso no llegan a caer en limites

de pagina.

Ya que el ultimo marco asignado tal vez no este

completamente lleno.

9.4.1 MÉTODO BÁSICO

Page 40: Capitulo 9   administración del almacenamiento 23-01-2012

Por ejemplo, si las paginas son de 2048 bytes, un proceso de 72.766 bytes necesita 35 paginas mas 1086 bytes. Se le asignara

36 marcos, dando por resultado una fragmentación interna de 2048-1086-962

bytes

Si el tamaño del proceso es independiente del tamaño de la pagina, esperemos que la fragmentación interna sea un promedio de media pagina de proceso.

Existe un trabajo adicional involucrado en cada entrada de la

tabla de paginas, y este se reduce a

medida que aumenta el tamaño de las

paginas.

Actualmente, las paginas tienen típicamente un

tamaño de entre 2 y 8 KB.

9.4.1 MÉTODO BÁSICO

Page 41: Capitulo 9   administración del almacenamiento 23-01-2012

El sistema Operativo mantiene una copia de la

tabla de paginas para cada proceso.

Esta copia se utiliza para traducir las direcciones lógicas a direcciones

físicas

La copia también es utilizada por el

despachador de la CPU

Esta define la tabla de pagina del Hardware

cuando se va a asignar la CPU a un proceso

La paginación incrementa de esta forma el tiempo de comunicación de contexto

9.4.1 MÉTODO BÁSICO

Page 42: Capitulo 9   administración del almacenamiento 23-01-2012

Debido a que el sistema operativo

esta administrando la memoria física

debe estar consiente de :

Que marcos se asignan, cuales marcos serán

disponibles, cuantos marcos en total hay,

etc.

Esta información se mantiene

generalmente en una estructura de datos denominada tabla de marcos

Tiene una entrada por cada marco físico de pagina, indicando si el

ultimo esta libre o si esta asignado y , si

esta asignado, a qué pagina de qué proceso o procesos

9.4.1 MÉTODO BÁSICO

Page 43: Capitulo 9   administración del almacenamiento 23-01-2012

El sistema Operativo mantiene una copia de la

tabla de paginas para cada proceso.

Esta copia se utiliza para traducir las

direcciones lógicas a direcciones físicas

La copia también es utilizada por el

despachador de la CPU

Esta define la tabla de pagina del Hardware

cuando se va a asignar la CPU a un proceso

La paginación incrementa de esta forma el tiempo de comunicación de contexto

9.4.1 MÉTODO BÁSICO

Page 44: Capitulo 9   administración del almacenamiento 23-01-2012

JESSENIA CEVALLOS

9.4.2 ESTRUCTURA DE LA TABLA DE PÁGINAS

9.4.1.2 SOPORTE DE HARDWARE

Page 45: Capitulo 9   administración del almacenamiento 23-01-2012

Estructura de la tabla de páginas

Soporte de hardware Protección

Un apuntador de la tabla de paginas se almacena con los demás valores de registros en el boque de control de procesos

Page 46: Capitulo 9   administración del almacenamiento 23-01-2012

Soporte de hardware

La tabla se implementa como un conjunto de registros dedicados, estos deberán construirse con una lógica de muy alta velocidad para que la traducción de direcciones de pagina sea eficiente. El uso de los registros para la

tabla de paginas es satisfactorio si la tabla es razonablemente pequeña(256 entradas).

La PDP-11 de DEC

En el caso de estas maquinas el empleo de registros rápidos para implementar la tabla de paginas no es factible, dicha tabla se mantiene en la memoria principal y un registro base de tabla de paginas apunta a ella

Page 47: Capitulo 9   administración del almacenamiento 23-01-2012

CPU p d

Numero de pagina

Numero de marco

TLB

Dirección lógica

l d

----------------------------

f

----------------------------

Fallo de TLB P

F0000..0000

F1111…..1111

Memoria física

Acierto de TLB

Dirección física

Tabla de paginas

Page 48: Capitulo 9   administración del almacenamiento 23-01-2012

ANDRÉS ANTONIO DAZA ESPINALEZ

XAVIER FERNANDO CEDEÑO MOREIRA

9.4.2.2 PROTECCIÓN

Page 49: Capitulo 9   administración del almacenamiento 23-01-2012

9.4.2.2 PROTECCIÓN

La protección de la memoria en un ambiente de paginación se la realiza mediante de los bits de protección. Un bit puede definir que una página sea de lectura y escritura o solo de lectura.

Cada referencia a la memoria pasa por una tabla de páginas para encontrar el número de marco correcto, al mismo tiempo calcula la dirección física.

Los bits de protección pueden examinarse para verificar que no se esté escribiendo en una página de solo lectura, al intentar esto se genera una trampa de hardware q se comunica con el sistema operativo.

Page 50: Capitulo 9   administración del almacenamiento 23-01-2012

9.4.2.2 PROTECCIÓN

Se puede crear un hardware para proporcionar protección de solo lectura, de lectura y escritura, o bien se podría usar bits de protección por cada clase de acceso.

Generalmente se agrega un bit más a cada entrada de la tabla de páginas esto genera un bit de validez-invalidez

Page 51: Capitulo 9   administración del almacenamiento 23-01-2012

9.4.2.2 PROTECCIÓN

Cuando el valor de este bit se fija en «válido» , indica que la página es legal o valida

Si el valor del bit se fija en «invalido» indica que la página no se encuentra en el espacio de direcciones lógicas del proceso

Raras veces un proceso utiliza todo su rango de direcciones, de hecho muchos procesos utilizan solo pequeña fracción del espacio de direcciones que tienen disponible.

Algunos sistemas proporcionan hardware, bajo la forma de registro de longitud de tabla, para indicar el tamaño de dicha tabla de páginas. Este valor se compara contra cada dirección lógica para verificar que la dirección se encuentra en el rango valido para el proceso. Si no se pasa esta prueba, se ocasiona una trampa de error al sistema operativo.

Page 52: Capitulo 9   administración del almacenamiento 23-01-2012

9.4.2.2 PROTECCIÓN

Page 53: Capitulo 9   administración del almacenamiento 23-01-2012

DIEGO AVILEZ MACÍAS

9.4.3. PAGINACIÓN CON NIVELES

MÚLTIPLES

Page 54: Capitulo 9   administración del almacenamiento 23-01-2012

La arquitectura VAX soporta paginación con dos niveles. La VAX es una maquina de 32 bits

con un tamaño de pagina de 512 bytes. En el cual el espacio de direcciones lógicas de

un proceso se divide en cuatro secciones iguales, cada una de las cuales consta de 230

bytes. Cada sección representa una parte diferente

del espacio de direcciones lógicas de un proceso.

9.4.3. PAGINACIÓN CON NIVELES MÚLTIPLES

Page 55: Capitulo 9   administración del almacenamiento 23-01-2012

Los primeros 2 bits de orden alto de la dirección lógica designan la sesión apropiada. Los siguientes 21 bits presentan el numero de

pagina . Los 9 bits finales representan un deslizamiento

en la pagina deseada.

Al dividir la tabla de paginas de esta forma , el sistema operativo puede dejar

particiones no utilizadas hasta que otro proceso las necesite.

9.4.3. PAGINACIÓN CON NIVELES MÚLTIPLES

Page 56: Capitulo 9   administración del almacenamiento 23-01-2012

ES DECIR :

Que para un sistemas de 64 bits ya no es apropiado usar este modelo en dos niveles sino que debe implementar mas niveles haciendo mas trozos las tablas de pagina y así abarcar con la arquitectura que se maneja el sistema operativo.

9.4.3. PAGINACIÓN CON NIVELES MÚLTIPLES

Page 57: Capitulo 9   administración del almacenamiento 23-01-2012

Doris Elizabeth Solórzano Moreira

9.4.4 TABLA DE PÁGINAS INVERTIDA

Page 58: Capitulo 9   administración del almacenamiento 23-01-2012

TABLA DE PAGINA INVERTIDA

Una tabla de paginación tiene una entrada por cada pagina que el proceso

esta utilizando o una ranura por cada dirección virtual independiente de la

validez de esta ultima

Es

Sintaxis

Id-proceso , numero de pagina (hace a la referencia a la memoria, parte de

la dirección virtual )

Id-proceso , numero de pagina , se presenta en el subsistema de la memoria

9.4.4. TABLA DE PÁGINAS INVERTIDA

Page 59: Capitulo 9   administración del almacenamiento 23-01-2012

Para poder manipular la

memoria de hiperpaginas

coger los datos o rutas

de memoria para ahorra

espacios .

La cpu de paginación

ubica la dirección de la

memoria donde se

encuentra…

Pasa primeramente por la

dirección lógica, dirección

física y por ultimo por la

memoria física

9.4.4. TABLA DE PÁGINAS INVERTIDA

Page 60: Capitulo 9   administración del almacenamiento 23-01-2012

PEDRO ANDRES MUÑOZ CASTRO

9.4.5. PÁGINAS COMPARTIDAS

Page 61: Capitulo 9   administración del almacenamiento 23-01-2012

• Considerando un sistema que soporta 40 usuarios cada uno de los cuales

ejecuta un editor de texto.

• Si el editor de texto consta en 150k de código y 50k de espacio

para datos se necesitan 8000k para soportar a los 40 usuarios

• El código Reentrante es un código que no puede modificarse así mismo

• Por lo tanto dos o mas procesos pueden ejecutar el mismo código al mismo tiempo

• Cada proceso tiene su propia copia de registros y almacenamiento

de datos para mantener los datos para la ejecución del proceso.

• Solo se necesita mantener en memoria física una copia del editor.

9.4.5. PÁGINAS COMPARTIDAS

Page 62: Capitulo 9   administración del almacenamiento 23-01-2012

9.4.5. PÁGINAS COMPARTIDAS

Page 63: Capitulo 9   administración del almacenamiento 23-01-2012

MARCO MERCHÁN

9.5 SEGMENTACIÓN

9.5.1 MÉTODO BÁSICO

Page 64: Capitulo 9   administración del almacenamiento 23-01-2012

Un aspecto importante es la

administración de la memoria es la

paginación.

La memoria es vista como un conjunto de segmentos

de tamaño variable desordenadamente.

La segmentación es un esquema de

administración de memoria.

Un espacio de direcciones es un conjunto de

segmentos. Cada segmento tiene un

nombre y longitud

Subrutina pila

sqrt

Tabla de símbolos

Programa principal

Espacio de direcciones lógicas

Page 65: Capitulo 9   administración del almacenamiento 23-01-2012

RAFAEL ANDRÉ BASURTO ZAMBRANO

9.5.2 HARDWARE

Page 66: Capitulo 9   administración del almacenamiento 23-01-2012

9.5.2 HARDWARE

Los usuarios ahora pueden hacer referencia a los objetos en el programa mediante una dirección bidimensional.

La física real sigue siendo, por supuesto, una secuencia unidimensional de bytes.

Este mapeo es efectuado por una tabla de segmentos. Cada entrada de segmentos tiene una base de segmentos y un límite de segmento.

Page 67: Capitulo 9   administración del almacenamiento 23-01-2012

9.5.2 HARDWARE

• El número de segmentos se utiliza como un índice en la

tabla de segmentos.

Un número de segmentos

• El desplazamiento de la dirección lógica debe estar

entre 0 y el límite de segmento

Un desplazamiento en dicho segmento.

• El empleo de una tabla de segmentos se ilustra en una dirección lógica y consta de dos partes.

Segmento.

• De no ser así se genera una trampa al sistema operativo.

• Si el desplazamiento es legal se agrega a la base del segmento para producir la dirección en la memoria física de byte deseado.

Caso contario

Page 68: Capitulo 9   administración del almacenamiento 23-01-2012

9.5.2 HARDWARE

Ejemplo A) El sementó 2 tiene 400 bytes de longitud y comienza en la localidad 4300 con una referencia de bytes 53 el segmento 2 se mapea en la longitud 4300+53=4353

Page 69: Capitulo 9   administración del almacenamiento 23-01-2012

MARCOS ANTONIO MENÉNDEZ ZAMBRANO

9.5.3 PROTECCIÓN Y COMPARTIMIENTO

Page 70: Capitulo 9   administración del almacenamiento 23-01-2012

PROTECCIÓN Y COMPARTIMIENTO

Asociación de la protección con los segmentos

El hardware de mapeo impide un acceso ilegal a la memoria:

Escribir en un segmento de solo lectura.

Utilizar como dato un segmento de sólo ejecución.

Los segmentos representan una porción del programa definida semánticamente.

Algunos segmentos son instrucciones (Lectura-Ejecución).

Y otros segmentos son datos (Lectura-Escritura).

Al colocarse un arreglo en un propio segmento el hardware de administración de la memoria verificará que los índices sean legales y no estén fuera del límite del arreglo.

Así muchos errores podrán ser detectados a tiempo, para que no ocasionen un daño serio.

Page 71: Capitulo 9   administración del almacenamiento 23-01-2012

PROTECCIÓN Y COMPARTIMIENTO

Otra ventaja de la segmentación implica la compartición de código o datos.

Editor

Datos1

Editor

Datos2

Memoria Lógica Proceso P1

Memoria Lógica Proceso P2 Segmento 0

Segmento 1

Segmento 1

Segmento 0

Editor

Datos1

Datos2

43062

68348

72773

90003

98853

Límite Base

0 25286 43062

1 4425 68348

Límite Base

0 25286 43062

1 4425 68348

Tabla de Segmentos Proceso P1

Tabla de Segmentos Proceso P2

Page 72: Capitulo 9   administración del almacenamiento 23-01-2012

INGRID ALEJANDRA CEDEÑO BAILÓN

9.5.4 FRAGMENTACIÓN

Page 73: Capitulo 9   administración del almacenamiento 23-01-2012

FRAGMENTACIÓN

El planificador de largo plazo

debe encontrar y asignar

memoria a todos los

segmentos de un programa

de usuario.

Similar a paginación

Excepto que los segmentos

son de longitud variable

ESQUEMA DE PARTICIONES

La asignación de memoria es

un problema de asignación

dinámica de almacenamiento

Page 74: Capitulo 9   administración del almacenamiento 23-01-2012

La segmentación puede ocasionar una fragmentación externa si todos los

bloques de memoria libre son demasiados pequeños para acomodar a un segmento.

Esperar hasta que haya disponible más memoria

Hacer uso de la compactación para crear dicho hueco.

EL PROCESO DEBE:

Si el planificador de la CPU debe esperar por un proceso, debido a la

asignación de memoria

Recorrer la cola de la CPU buscando un proceso más pequeño y de

menor prioridad para su ejecución.

Page 75: Capitulo 9   administración del almacenamiento 23-01-2012

En un extremo podemos definir cada proceso fuera

un segmento Cada byte podría ser colocado en su propio segmento y reubicarse por separado

¿Qué tan serio es el problema de fragmentación externa para un esquema de

segmentación?

Se reduce al

esquema de

pariciones de

tamaño variable Elimina

completamente la

fragmentación

externa

Page 76: Capitulo 9   administración del almacenamiento 23-01-2012

KAROL ANDREA MANRIQUE VÉLIZ

JOSÉ DANIEL MENDOZA LOOR

9.6 SEGMENTACIÓN CON PAGINACIÓN

Page 77: Capitulo 9   administración del almacenamiento 23-01-2012

SEGMENTACIÓN CON PAGINACIÓN

Microprocesadores más utilizados:

MOTOROLA 68000

• Diseñada en espacios de

direcciones plano

INTEL 80x86

• Basado en la segmentación

PENTIUM

• Basado en la segmentación

INTEL 386

• Mezcla de paginación y segmentación

Número máximo de

segmentos: 16KB c/u 4GB

Tamaño de página: 4KB

Page 78: Capitulo 9   administración del almacenamiento 23-01-2012

SEGMENTACIÓN CON PAGINACIÓN

El espacio de direcciones lógicas de un proceso se

divide en dos particiones.

Intel 386

• Consta de 8K segmentos privados

• Tabla local de descriptores (TLD): ubicación base y longitud de segmento.

Primera partición

• Contiene de hasta 8K segmentos compartidos

• Tabla global de descriptores (TGD)

Segunda partición

Page 79: Capitulo 9   administración del almacenamiento 23-01-2012

La máquina tiene seis registros de

segmentos, seis registros de 8

bytes de microprograma para

contener los descriptores.

La dirección lógica es un par (selector, desplazamiento), en

donde el selector es un número de 16 bits.

s g p

13 1 2

SEGMENTACIÓN CON PAGINACIÓN

Page 80: Capitulo 9   administración del almacenamiento 23-01-2012

SEGMENTACION CON PAGINACION

LA DIRECCION FISICA EN EL 386 TIENE 32 BITS DE

LONGITUD Y SE FORMA ASI

REGISTRO DE SEGMENTO APUNTA A

LA ENTRADA APROPIADA EN LA LDT

O GDT

LA INFORMACION DE LA BASE Y LIMITE DEL SEGMENTO SE EMPLEA

PARA GENERAR UNA DIRECCION LINEAL.

CADA SEGMENTO SE PAGINA Y CADA PAGINA

ES DE 4 KBYTES

UNA TABLA DE PAGINAS PUEDE CONTENER HASTA 1 MILLON DE ENTRADAS

DEBIDO A ESTO CADA PROCESO PUEDE NECESITAR HASTA 4 MEGABYTES DE ESPACIO DE DIRECCIONES FISICAS

Page 81: Capitulo 9   administración del almacenamiento 23-01-2012

SEGMENTACION CON PAGINACION

LIMITE

NO VALIDA: GENERA UNA FALLA DE MEMORIA RESULTANDO EN UNA TRAMPA AL SISTEMA OPERATIVO

VALIDA: VALOR DE DESPLAZAMIENTO SE AGREGA AL VALOR DE LA BASE, QUE DA UNA DIRECCION LINEAL DE 32 BITS,

QUE SE TRADUCE A UNA FISICA

VERIFICA VALIDEZ DE LA DIRECCION

Page 82: Capitulo 9   administración del almacenamiento 23-01-2012

SEGMENTACION CON PAGINACION

P1 P2 D

10 10 12

NUMERO DE PAGINA DESPLAZAMIENTO DE PAGINA

LA SOLUCION DEL 386 PARA NO ASIGNAR LA TABLA DE PAGINAS CONTIGUAMENTE A LA MEMORIA PRINCIPAL ES: • USAR UN ESQUEMA DE PAGINACION CON DOS NIVELES

• UN NUMERO DE PAGINA QUE CONSTA DE 20 BITS • UN DESPLAZAMIENTO DE PAGINA QUE CONSTA DE 12 BITS.

DEBIDO A QUE PAGINAMOS LA TABLA DE PAGINAS, EL NUMERO DE PAGINAS SE DIVIDE A SU VEZ EN: • UN APUNTADOR DE DIRECTORIO DE PAGINAS DE 10 BITS • UN APUNTADOR DE TABLA DE PAGINAS DE 10 BITS

Page 83: Capitulo 9   administración del almacenamiento 23-01-2012

SEGMENTACION CON PAGINACION

Page 84: Capitulo 9   administración del almacenamiento 23-01-2012
Page 85: Capitulo 9   administración del almacenamiento 23-01-2012

JENNIFER YAHAIRA INTRIAGO HOLGUÍN

PARTE 3

ADMINISTRACIÓN DEL ALMACENAMIENTO

Page 86: Capitulo 9   administración del almacenamiento 23-01-2012

Ejecución de programas

Los programas deben estar

en la memoria principal

Almacenamiento

De gran capacidad

PARTE 3

ADMINISTRACIÓN DEL ALMACENAMIENTO

Page 87: Capitulo 9   administración del almacenamiento 23-01-2012

MARYURIE LÓPEZ NAVARRETE

CAPÍTULO 9

ADMINISTRACIÓN DE LA MEMORIA

9.1 ANTECEDENTES

Page 88: Capitulo 9   administración del almacenamiento 23-01-2012

Los algoritmos de administración de memoria varían desde

un enfoque primitivo, a nivel de maquina, hasta estrategias

de paginación y segmentación.

La selección de un método de administración de la memoria

para un sistema especifico depende de muchos factores,

especialmente de diseños de hardware del sistema.

La memoria es un componente central para la operación de un sistema

de computo moderno.

Consiste en un gran arreglo de palabras o bytes, cada uno con su

propia dirección.

La CPU acude por instrucciones a la memoria de acuerdo con el valor

del contador de programa.

Page 89: Capitulo 9   administración del almacenamiento 23-01-2012

ANA LAURA PONCE

9.1.1 VINCULACIÓN DE DIRECCIONES

Page 90: Capitulo 9   administración del almacenamiento 23-01-2012

Vinculación De Direcciones

El procedimiento normal consiste en seleccionar uno de los procesos de la cola de

entrada y cargarlo en la memoria. A medida que el proceso se ejecuta, accede a las

instrucciones y datos de la memoria. Con el tiempo, el proceso termina y su espacio

memoria se declara como disponible.

La mayoría de los sistema permiten que su proceso de usuario reside en cualquier

parte de la memoria física.

Aunque el espacio de direcciones de la computadora comienza en 00000, la primera

dirección del proceso de usuario no necesita ser 00000.

Page 91: Capitulo 9   administración del almacenamiento 23-01-2012

La vinculación de instrucciones y datos con direcciones de

memoria puede hacerse en cualquier paso durante el recorrido

Si se conoce al momento de la compilación en

donde residirá el proceso en la memoria

Tiempo de compilación

Si el proceso puede moverse durante su ejecución

de un segmento de memoria a otro

Tiempo de ejecución

Si no se conoce al momento de la compilación

en donde residirá el proceso en la memoria

Tiempo de carga

Page 92: Capitulo 9   administración del almacenamiento 23-01-2012

ESTEFANÍA DELGADO CHAVARRÍA

9.1.2 ESPACIO DE DIRECCIONES LÓGICAS

CONTRA FÍSICAS

Page 93: Capitulo 9   administración del almacenamiento 23-01-2012

LUIS MIGUEL GARCÍA

9.1.3 CARGA DINÁMICA

Page 94: Capitulo 9   administración del almacenamiento 23-01-2012

Para conseguir una mejor utilización del espacio de memoria podemos emplear la carga dinámica con la carga dinámica una rutina no se carga sino hasta que es llamada

Cuando una rutina necesita llamar a otra rutina , la rutina que hace el llamado verifica primeramente si la otra a sido cargada.

La ventaja de la carga dinámica es que la rutina no utilizada nunca se carga. Este método es útil cuando se necesitan grandes cantidades de código para manejar casos que ocurren con poca frecuencia como rutinas de error

La carga dinámica no requiere un soporte especial del sistema operativo .

Page 95: Capitulo 9   administración del almacenamiento 23-01-2012

DARWIN LEONARDO CHÁVEZ LUCAS

9.1.4 ENLACE DINÁMICO Y BIBLIOTECAS

COMPARTIDAS

Page 96: Capitulo 9   administración del almacenamiento 23-01-2012

El concepto de enlace dinámico es similar al de carga dinámica

En lugar de posponer la carga hasta el tiempo de ejecución, el enlace es el que se pospone. Esta se utiliza generalmente con bibliotecas del sistema como las bibliotecas de subrutinas de lenguaje.

Sin este servicio , todos los programas de un sistema necesitan tener una copia de su biblioteca de lenguaje o por lo menos las rutinas a la que hace referencia el programa. Este requerimiento desperdicia espacio en en disco así como memoria principal.

ENLACE DINÁMICO Y BÍBLIOTECAS COMPARTIDAS

Page 97: Capitulo 9   administración del almacenamiento 23-01-2012

Con el enlace dinámico se incluye

un STUB en la imagen por cada referencia a la rutina de biblioteca

Este STUB es una pequeña pieza de código que indica como localizar la

rutina de biblioteca apropiada residente

en memoria.

Cuando se ejecuta este STUB verifica si

la rutina necesaria ya se encuentra en

memoria.

Si la rutina no esta en memoria, el

programa la carga en la misma.

En cualquier caso el STUB se sustituye a si mismo con la dirección de la rutina, y ejecuta la rutina.

Page 98: Capitulo 9   administración del almacenamiento 23-01-2012
Page 99: Capitulo 9   administración del almacenamiento 23-01-2012

Se puede cargar en memoria más de una versión de una biblioteca, y cada

programa utiliza su información de versión para decidir cual copia utilizara.

Los cambios menores retienen el mismo numero de versión, en tanto los

cambios mayores incrementan el numero de la misma.

Así solo los programas que se compilan con la nueva versión de biblioteca se

ven afectados por los cambios incompatibles incorporados en ella, los otros

programas que se enlazaron antes de que se instalara la nueva biblioteca

continuaran usando la versión anterior.

Este sistema también se conoce como BIBLIOTECAS COMPARTIDAS. El enlace dinámico generalmente requiere ayuda del sistema operativo.

Page 100: Capitulo 9   administración del almacenamiento 23-01-2012

MARIO VINICIO NAULA GUZNAY

9.1.5 SUPERPOSICIONES (OVERLAYS)

Page 101: Capitulo 9   administración del almacenamiento 23-01-2012

Overlays

Mantener en memoria solo

aquellas instrucciones y

datos .

Ensamblador de dos pasos

Definimos:

Superposición A

Superposición B

Paso 1 70K

Paso 2 80K

Tabla de S. 20K

Rutinas C. 30K

Page 102: Capitulo 9   administración del almacenamiento 23-01-2012

Tabla de Símbolos

Rutinas Comunes

Manejador de Superposiciones

Superposiciones para un ensamblador de dos pasos

80K

20K

10K

30K

70K

Paso 2 Paso 1

Page 103: Capitulo 9   administración del almacenamiento 23-01-2012

Microcomp.

Cant. Lim.

Memoria física

Carecen de soporte de H.

La construcción de

Superposiciones implica

algoritmos de relocalización y

enlace.

No requieren soporte especial.

Pueden ser implementa

das por el usuario.

Sólo observa

más operaciones

Page 104: Capitulo 9   administración del almacenamiento 23-01-2012