SISTEMAS OPERATIVOS

Ing. Sergio Omar Aguilera. 22. Unidad VI Parte A Administración de. Memoria. TIPOS. Algoritmo del primer ajuste (first-fit). Algoritmo del siguiente ajuste (next-fit): ...
399KB Größe 17 Downloads 96 vistas
SISTEMAS OPERATIVOS UNIDAD VI Parte A ADMINISTRACION DE MEMORIA

ING. AGUILERA SERGIO OMAR

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA ESTRUCTURA DE MEMORIA CENTRAL Bus de Direcciones CPU v

MMU

n

2n-1

1 (r,w)

palabras

Bus de Datos

Bus de Control

m

m bits MEMORIA (RAM) Tamaño en (bytes) = (2n-1)*(m/8) Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

2

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

UNIDAD DE MEMORIA CENTRAL 





La memoria es una matriz de palabras o bytes direccionables (accesibles mediante una dirección única) por la CPU - Las direcciones de un proceso pueden ser representadas de modo diferente en las sucesivas etapas del ciclo de un programa de usuario (compilación, carga y ejecución) - Las direcciones que entiende el controlador de la memoria son direcciones absolutas. La conversión entre las distintas representaciones de las direcciones y las direcciones absolutas se denomina vinculación.

Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

3

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

dir. Simbólicas o físicas

PRG FUENTE

PROCESO EN ETAPAS DE UN PRG DE USR

COMPILADOR ENSAMBLADOR Dir. lógicas (relativas) o físicas (absolutas) OTROS MODULOS OBJETOS CR, CD CA

dir. lógicas o físicas

BIBLIOTECA DE SISTEMA

BIBLIOTECA DE SISTEMA DINAMICA

MODULO OBJETO

EDITOR DE ENLACE

MODULO DE CARGA

CARGADOR

IMAGEN BINARIA EN UMC

direcciones lógicas (si el código es reasignable) o físicas

CD

CA: Carga Absoluta CR: Carga Reubicable CD: Carga Dinámica Ing. Sergio Omar Aguilera

ETAPAS DE DIRECCIONAMIENTO Unidad VI Parte A Administración de Memoria

4

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

OBJETIVOS DEL ADM. DE MEMORIA  Es el Administrador más grande de un SOp Monokernel.  Se busca optimizar el espacio y la velocidad de acceso.  Subdivisión de la memoria para hacer sitio a varios procesos.  Hace falta repartir eficientemente la memoria para introducir tantos procesos como sea posible. Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

5

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

ADM. UMC

1. REUBICACION 2. PROTECCION

REQUISITOS

3. COMPARTICION 4. ORGANIZACION LOGICA 5. ORGANIZACION FISICA

Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

6

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

1. REUBICACION El programador no conoce qué otros programas residirán en la memoria en el momento de la ejecución. Mientras que se está ejecutando el programa, puede que se descargue en el disco y que vuelva a la memoria principal, pero en una ubicación distinta a la anterior (reubicación). Se deben traducir las referencias a la memoria encontradas en el código del programa a las direcciones físicas reales.

Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

7

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA Información de control del proceso

Punto de entrada al programa

Bloque de control de proceso

Programa

Instrucción de bifurcación

Direcciones ascendentes Referencia de datos

Datos Cima actual de pila

Pila

1. REUBICACION Williams Stallings SISTEMAS OPERATIVOS. Principios de diseño e interioridades. 4ta ed. Pearson Eduación S.A. Madrid, 2001 ISBN: 84-2053177-4

Figura 7.1. Requisitos de dirección para un proceso. Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

8

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA 1. REUBICACION

 Cuando el proceso se carga en la memoria, se determina la ubicación real (absoluta) de la memoria.  Un proceso puede ocupar diferentes particiones, lo que significa diferentes posiciones absolutas de la memoria durante su ejecución (a partir de la carga).  La compactación también hará que un programa ocupe una partición distinta, lo que significa que las ubicaciones absolutas de la memoria cambien.

Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

9

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA 1. REUBICACION

 Dirección lógica:  Es una referencia a una posición de memoria independiente de la asignación actual de datos a la memoria.  Se debe hacer una traducción a una dirección física.  Dirección relativa:  La dirección se expresa como una posición relativa a algún punto conocido.  Dirección física:  La dirección absoluta o la posición real en la memoria principal. Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

10

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA Dirección relativa

BCP

Registro base

Programa

Sumador

Registro límite

Comparador

Dirección absoluta

Datos

Interrupción al sistema operativo

Pila

1. REUBICACION

Imagen de un proceso en la memoria principal Williams Stallings SISTEMAS OPERATIVOS. Principios de diseño e interioridades. 4ta ed. Pearson Eduación S.A. Madrid, 2001 ISBN: 84-2053177-4

Figura 7.8. Soporte de hardware para la reubicación. Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

11

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA 1. REUBICACION

 Registro base:  Se carga con la dirección en la memoria principal del proceso.  Registro límite:  Indica la posición final del programa.  Estos valores deben asignarse cuando se carga el programa y cuando se carga el proceso.

Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

12

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA 1. REUBICACION

 Se añade el valor del registro base a la dirección relativa para obtener una dirección absoluta.  La dirección obtenida se compara con el valor del registro límite.  Si la dirección no está dentro de los límites, se generará una interrupción en el sistema operativo.

Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

13

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

2. PROTECCION  El código de un proceso no puede hacer referencia a posiciones de memoria de otros procesos sin permiso.  Es imposible comprobar las direcciones absolutas de los programas, puesto que se desconoce la ubicación de un programa en la memoria principal.  Debe comprobarse durante la ejecución: El sistema operativo no puede anticiparse a todas las referencias a la memoria que hará un programa.

Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

14

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

3. COMPARTICION Permite el acceso de varios procesos a la misma zona de la memoria principal. Es mejor permitir a cada proceso (persona) que acceda a la misma copia del programa, en lugar de tener cada uno su propia copia aparte.

Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

15

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

4. ORGANIZACION LOGICA La mayoría de los programas se organizan en módulos. Los módulos pueden escribirse y compilarse independientemente. Pueden otorgarse distintos grados de protección (sólo lectura, sólo ejecución) a los módulos. Compartir módulos.

Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

16

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

5. ORGANIZACION FISICA La memoria disponible para un programa y sus datos puede ser insuficiente:  La superposición permite que varios módulos sean asignados a la misma región de memoria. El programador no conoce cuánto espacio habrá disponible.

Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

17

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

ADM. UMC 1. PARTICION ESTATICA

POR PARTICION

2. PARTICION DINAMICA 3. SISTEMA DE COLEGAS

TIPOS

PAGINACION Y SEGMENTACION SIMPLE

5. PAGINACION

MEMORIA VIRTUAL 6. SEGMENTACION Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

18

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

2. A.M. POR PARTICIONES DINAMICAS

Las particiones son variables en número y longitud. Al proceso se le asigna exactamente tanta memoria como necesite. Finalmente, hay varios huecos en la memoria. Este fenómeno se denomina fragmentación externa. Se debe usar la compactación para desplazar los procesos que estén contiguos, de forma que toda la memoria libre quede junta en un bloque. Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

19

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

2. A.M. POR PARTICIONES DINAMICAS

Sistema operativo

8M

Sistema operativo

Proceso 1

Sistema operativo

20M

56M

Sistema operativo

Proceso 1

20M

Proceso 1

20M

Proceso 2

14M

Proceso 2

14M

22M

Proceso 3

18M

36M

4M (a)

(b)

(c)

(d)

Figura 7.4. Efectos de la partición dinámica. Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

20

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

2. A.M. POR PARTICIONES DINAMICAS Sistema operativo

Proceso 1

Sistema Operativo

Sistema operativo

20M

Proceso 1

20M

Sistema operativo

20M

Proceso 2

14M 6M

Proceso 4

14M

Proceso 3

18M

Proceso 4

Proceso 3

18M

Proceso 3

4M (f)

8M

Proceso 4

8M

6M

6M

4M (e)

8M

18M

6M Proceso 3

18M 4M

4M (g)

(h)

Figura 7.4. Efectos de la partición dinámica. Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

21

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

2. A.M. POR PARTICIONES DINAMICAS: ALGORITMOS DE ASIGNACION

Algoritmo del mejor ajuste (best-fit)

TIPOS

Algoritmo del primer ajuste (first-fit)

Algoritmo del siguiente ajuste (next-fit): Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

22

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

2. A.M. POR PARTICIONES DINAMICAS: ALGORITMOS DE ASIGNACION

Algoritmo del mejor ajuste (best-fit): Elige el bloque de tamaño más próximo al solicitado. Proporciona en general los peores resultados. Puesto que este algoritmo busca el hueco más pequeño para el proceso, garantiza que el fragmento que se deja es lo más pequeño posible y, por lo tanto, se debe compactar más frecuentemente. Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

23

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

2. A.M. POR PARTICIONES DINAMICAS: ALGORITMOS DE ASIGNACION

Algoritmo del primer ajuste (first-fit): Es más rápido. Puede tener varios procesos cargados en el extremo inicial de la memoria que es necesario recorrer cuando se intente encontrar un bloque libre.

Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

24

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

2. A.M. POR PARTICIONES DINAMICAS: ALGORITMOS DE ASIGNACION

Algoritmo del siguiente ajuste (next-fit): Lleva frecuentemente a la asignación de un bloque de memoria de la última ubicación, donde se encuentra el bloque más grande. El bloque de memoria más grande se divide en fragmentos pequeños. Hará falta la compactación para obtener un bloque de memoria grande al final del espacio de memoria. Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

25

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA 8M

8M

12M

Primer ajuste

12M

22M

6M

Mejor ajuste Último bloque asignado (14K)

18M

2M

8M

8M

6M

6M Bloque asignado

14M

Bloque libre

14M

PARTICIONES DINAMICAS

Siguiente ajuste 36M (a) Antes

20M (b) Después

Figura 7.5. Ejemplo de una configuración de memoria antes y después de asignar un bloque de 16 Mbytes. Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

26

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

BIBLIOGRAFIA DE REFERENCIA 1.

Manual de Actualización y reparación de PCs, 12va. Ed. Scott Mueller. Que. Pearson, Prentice Hall. Mexico, 2001.

2.

Sistemas de Computadoras, un enfoque estructurado. 7ma ed. Andrew Tannenbaum. Prentice Hall, 1994.

3.

Operating Systems, 2da. Ed. William Stallings. Prentice Hall. 1995.

4.

Sistemas Operativos, 4ta ed. William Stallings. Pearson, Prentice Hall. Madrid, 2001.

5.

Sistemas Operativos. 5ta Ed. William Stalling. Pearson Prentice Hall. Madrid. 2006

6.

Unix, Sistema V Versión 4. Rosen,Rozinsky y Farber.McGraw Hill. NY 2000.

7.

Lunix, Edición especial. Jack Tackett, David Guntery Lance Brown. Ed. Prentice Hall. 1998.

8.

Linux, Guía del Administrador avanzado. Facundo Arena. MP ediciones. BsAs. 2000.

Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

27

UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA

FIN UNIDAD VI (Parte A) ADMINISTRACION DE MEMORIA

Ing. Sergio Omar Aguilera

Unidad VI Parte A Administración de Memoria

28