Administración de Memoria 
Luis A. Eraso 
1GB SDRAM. WikimediaCommons
Resumen del módulo 
Objetivo del módulo: 
•Entender como los sistemas operativos crean abstracciones de la memoriay como l...
Jerarquía de memoria 
•Características ideales 
•Memoria privada 
•De tamaño y rapidez infinitos 
•No volátil 
•Económica ...
Administrador de memoria 
•Administrador de memoria: parte del sistema operativo que administra (pate de) la jerarquía de ...
Administrador de memoria 
•Varios esquemasde administración de memoria 
•Muy simples muy sofisticados 
•Memoria caché: es...
Sin abstracción de memoria 
•La abstracción mas simple de memoria es ninguna abstracción 
•Usada por: 
•Los primeras compu...
Sin abstracción de memoria 
•Opciones posibles de organización 
a.El S.O. puede estar en la parate inferior de la RAM 
b.E...
Sin abstracción de memoria 
•Ejecución múltiple de programas sin abstracción de memoria: 
•Con la adición de cierto hardwa...
Sin abstracción de memoria 
Ejemplo a. Programa 1 se ejecuta en memoria 
•Un programa utiliza las direcciones de memoria d...
Sin abstracción de memoria 
Ejemplo b. Programa 2 se ejecuta en memoria 
•Un programa utiliza las direcciones de memoria d...
Sin abstracción de memoria 
Ejemplo c. Los programas 1 y 2 se ejecuta en memoria al mismo tiempo: 
Sin reubicación estátic...
Sin abstracción de memoria 
•Problemas del modelo sin abstracción de memoria 
•Los programas de usuario pueden dañar el SO...
ESQUEMA ADMON MEMORIA: Espacio de direcciones 
Espacio de direcciones 
•Una abstracción de la memoria 
•Es el conjunto de ...
Una abstracción de memoriaEspacio de direcciones 
•Ejemplos de espacio de direcciones en otros contextos 
•Números de telé...
Una abstracción de memoriaEspacio de direcciones 
•Registros base y limite 
•Versión muy simple de la ubicación dinámica 
...
Espacio de direcciones 
•Modelo de registros base y limite 
Espacio de direcciones del Proceso 1 
251.000 –300.000 
Espaci...
1. Cuando se ejecuta un proceso: 
el registro base se carga con la dirección física donde empieza el programa en memoria 
...
Espacio de direcciones 
•La cantidad total de RAM que requieren todos los procesos es a menudo mucho mayor de lo que puede...
Intercambio 
A esta en memoria 
B se crea o intercambia desde disco 
Cse crea o intercambia desde disco 
A se intercambia ...
Intercambio 
Entra A de nuevo en una ubicación distinta 
Como A está ahora en una ubicación distinta las direcciones que c...
Intercambio 
•¿Qué cantidad de memoria se debe asignar a un proceso cuando este se crea o se intercambia? 
Asignación diná...
Próxima SlideShare
Cargando en…5
×

SO - Administración de Memoria

3.589 visualizaciones

Publicado el

Sistemas Operativos. Módulo de administració de memoria

Publicado en: Ingeniería
  • Sé el primero en comentar

SO - Administración de Memoria

  1. 1. Administración de Memoria Luis A. Eraso 1GB SDRAM. WikimediaCommons
  2. 2. Resumen del módulo Objetivo del módulo: •Entender como los sistemas operativos crean abstracciones de la memoriay como las administran. Contenido: •Jerarquía de memoria •El administrador de memoria •Esquemas para la administración de la memoria •Sin abstracciones •Espacios de direcciones •Memoria Virtual •Algoritmos de remplazo de páginas •Cuestiones de implementación Recursos: •TANENBAUM, Andrew S. Sistemas operativos modernos. Pearson Educación, 2003. Capitulo 3. Administración de memoria. •tutorialspoint.com. Operating System Tutorial. Cap. 9 Memory Management, Cap. 10 Virtual Memory. [En línea: 18-09-2014 http://www.tutorialspoint.com/operating_system/index.htm] Evaluación: •Examen 60%. Se realiza en la semana definida para parciales, 6-10 Octubre. •Talleres 30%. Fecha de entrega máxima un día antes del parcial, entregas posteriores se califican sobre 4. •Quiz10%. Fecha: a mitad del corte, 25-30 Septiembre. Temas: los vistos hasta el día del quiz.
  3. 3. Jerarquía de memoria •Características ideales •Memoria privada •De tamaño y rapidez infinitos •No volátil •Económica •Lo que se tiene •Memoria caché •Pocos MB, rápida , volátil, costosa •Memoria principal •1~8GB, mediana velocidad, volátil, mediano precio •Almacenamiento en Disco •~1TB, lento, no volátil, económico •Almacenamiento removible •CDs, DVDs, Memorias USB-Flash El trabajo del sistema operativo es abstraeresta jerarquía en un modelo útil y después administrarla Esto seria lo ideal para cada programa en ejecución
  4. 4. Administrador de memoria •Administrador de memoria: parte del sistema operativo que administra (pate de) la jerarquía de memoria. •Su trabajo es administrar la memoria con eficiencia •Llevar el registro de cuales partes de la memoria están en uso •Asignar memoria a los procesos cuando la necesiten •Desasignar la memoria cuando los procesos terminen
  5. 5. Administrador de memoria •Varios esquemasde administración de memoria •Muy simples muy sofisticados •Memoria caché: es administrada desde el hardware •Memoria principal: lo que corresponde a este capitulo •Memoria permanente: Próximo modulo •Esquemas •Sin abstracción de memoria •Espacios de direcciones •Memoria virtual •Algoritmos de remplazo de páginas •Cuestiones de implementación
  6. 6. Sin abstracción de memoria •La abstracción mas simple de memoria es ninguna abstracción •Usada por: •Los primeras computadores mainframe (1960) •Los primeras minicomputadores (antes 1970) •Las primeros computadores personales (antes de 1980) •Cada programa veía simplemente la memoria física. •Ejemplo: Mover el contenido de la ubicación de memoria física 1000 al REGISTRO1. Instrucción ejecutada por el programa: MOV REGITRO1,1000 •Bajo estas condiciones en principio, no es posible tener dos programas ejecutándose en memoria al mismo tiempo. •Si un programa escribe un valor en la ubicación 2000, se borra cualquier valor que el segundo programa haya tenido almacenado allí •Ambos programas fallarían de inmediato Cada dirección correspondía a una celda que contenía cierto numero de bits
  7. 7. Sin abstracción de memoria •Opciones posibles de organización a.El S.O. puede estar en la parate inferior de la RAM b.El S.O. puede estar en la ROM c.Controladores en ROM y S.O en RAM •Los modelos ay ctienen la desventaja que un error en el programa de usuario puede borrar el sistema operativo •En estos modelos solo se puede ejecutar un proceso a la vez •Se ejecuta un comando, el S.O. copia el programa del disco a memoria y lo ejecuta •Devuelve resultado y espera nuevo comando Tanenbaum, 2009 Se utilizó en mainframes pero actualmente no se emplea Antiguas computadoras de bolsillo y sistemas integrados Primeros computadores personales. ROM: BIOS. S.O.: MS-DOS
  8. 8. Sin abstracción de memoria •Ejecución múltiple de programas sin abstracción de memoria: •Con la adición de cierto hardware es posible ejecutar varios programas concurrentemente. •Lo que se necesita: •Memoria dividida en bloques, cada bloque con una llave de acceso. •Cada llave es guardada en registros espaciales de la CPU. •Cada programa en ejecución guarda en su palabra de estado (PSW) la llave correspondiente a su sector. •Mediante Hardware se controlaba cualquier intento de acceder a una dirección de memoria sin la llave correspondiente.
  9. 9. Sin abstracción de memoria Ejemplo a. Programa 1 se ejecuta en memoria •Un programa utiliza las direcciones de memoria desde la posición 0a la posición 16380 Posición de memoria: 0 Instrucción: Saltar a la posición 24 Posición de memoria: 24 Instrucción: Instrucción MOV (Mover un registro a una dirección de memoria. Posición de memoria: 28 Instrucción: Instrucción ADD (Suma) Posición de memoria: 16380 Instrucción: Fin de programa Tanenbaum, 2009
  10. 10. Sin abstracción de memoria Ejemplo b. Programa 2 se ejecuta en memoria •Un programa utiliza las direcciones de memoria desde la posición 0a la posición 16380 Posición de memoria: 0 Instrucción: Saltar a la posición 28 Posición de memoria: 28 Instrucción: Instrucción CMP Posición de memoria: 16380 Instrucción: Fin de programa Tanenbaum, 2009
  11. 11. Sin abstracción de memoria Ejemplo c. Los programas 1 y 2 se ejecuta en memoria al mismo tiempo: Sin reubicación estática: ERROR La posición 28 esta en el Programa 1 Sin reubicación estática: Posición de memoria: 16384 Instrucción: Saltar a la posición 28 Reubicación estática: cuando se cargaba un programa en la dirección 16.384, se sumaba el valor constante 16.384 a todas las direcciones del programa durante el proceso de carga. Con reubicación estática: Posición de memoria: 16384 Instrucción: Saltar a la posición 28 + 16384 = 16412 Tanenbaum, 2009
  12. 12. Sin abstracción de memoria •Problemas del modelo sin abstracción de memoria •Los programas de usuario pueden dañar el SO con facilidad al acceder voluntaria o involuntariamente a direcciones de memoria incorrectas. •Es difícil tener varios programas en ejecución a la vez. Se tiene un modelo que lo permite, pero es muy complejo. •Para tener varios programas en ejecución se necesita •Protección •Reubicación Se puede concluir con base al modelo de ejecución de varios procesos sin abstracción de memoria
  13. 13. ESQUEMA ADMON MEMORIA: Espacio de direcciones Espacio de direcciones •Una abstracción de la memoria •Es el conjunto de direcciones que puede utilizar un proceso para direccionar la memoria •Cada procesotiene su propio espacio de direcciones, independiente de los que pertenecen a otros procesos Así como el concepto del proceso crea un tipo de CPU abstracta para ejecutar programas, el espacio de direcciones crea un tipo de memoria abstracta para que los programas vivan ahí
  14. 14. Una abstracción de memoriaEspacio de direcciones •Ejemplos de espacio de direcciones en otros contextos •Números de teléfono: •Números del 0 000 000 al 9 999 999 •Puertos de E/S en un PC •Puertos del 0 al 16383 •Direcciones IP: •Direcciones de 0 a 2^23 -1 •Dominios en internet: Ejemplo dominio “.com” •Todas las direcciones que finalicen con “.com”
  15. 15. Una abstracción de memoriaEspacio de direcciones •Registros base y limite •Versión muy simple de la ubicación dinámica •Consiste en asociar el espacio de direcciones de cada proceso sobre una parte distinta de la memoria física. •Incluir en la CPU dos registros de hardwareespeciales •Registrosbasey limite •Los programas se cargan en ubicaciones consecutivas de memoria en donde haya espacio y sin reubicación durante la carga
  16. 16. Espacio de direcciones •Modelo de registros base y limite Espacio de direcciones del Proceso 1 251.000 –300.000 Espacio de direcciones del Proceso 3 420.000 –650.000 Incluir en la CPU dos registros de hardware especiales Proceso 2: Base= 300.000, Limite= 120.000 Los programas se cargan en ubicaciones consecutivas de memoria en donde haya espacio y sin reubicación durante la carga Fuente: http://www.tutorialspoint.com/operating_system/os_memory_management.htm
  17. 17. 1. Cuando se ejecuta un proceso: el registro base se carga con la dirección física donde empieza el programa en memoria el registro límitese carga con la longitud del programa 2. Para el programa 1: Registro base = 0 Registro límite= 16384 Cada vez que un proceso hace referencia a la memoria: •Obtener una instrucción de memoria •Leer o escribir una palabra de datos Ejecución de una instrucción: El hardware de la CPU suma el valor base a la dirección generada por el proceso antes de enviar la dirección al bus de memoria JMP 28 JMP 28+16384 JMP 16412 Tanenbaum, 2009
  18. 18. Espacio de direcciones •La cantidad total de RAM que requieren todos los procesos es a menudo mucho mayor de lo que puede acomodarse en memoria. •En los S.O. se crean entre 40 y 60 procesos o más cada vez que se inicia la computadora. •Buscar actualizaciones (5 a 10 MB de memoria) •Comprobar el correo entrante •Conexiones de red entrantes •Programas de aplicaciones de usuario (50 a 200 MB) •Esquemas para lidiar con este problema •Intercambio •Memoria virtual Problema:La cantidad de memoria no es suficiente para contener todos los programas en ejecución.
  19. 19. Intercambio A esta en memoria B se crea o intercambia desde disco Cse crea o intercambia desde disco A se intercambia desde disco Llega D Sale B Entra A de nuevo en una ubicación distinta Tanenbaum, 2009
  20. 20. Intercambio Entra A de nuevo en una ubicación distinta Como A está ahora en una ubicación distinta las direcciones que contiene se deben reubicar •Mediante software cuando se intercambia •Mediante hardware durante la ejecución del programa Se pueden utilizar •Los registros base y límite Tanenbaum, 2009
  21. 21. Intercambio •¿Qué cantidad de memoria se debe asignar a un proceso cuando este se crea o se intercambia? Asignación dinámica a. Asignación de espacio para un segmento de datos en crecimiento. b. Asignación de espacio para una pila en crecimiento y un segmento de datos en crecimiento. Tanenbaum, 2009 Asignación estática Se crea con un tamaño fijo que nunca cambia. El sistema operativo asigna exactamente lo necesario, ni más ni menos.

×