so: administraci³n de memoria

Download SO: administraci³n de memoria

Post on 13-Jan-2017

75 views

Category:

Engineering

0 download

Embed Size (px)

TRANSCRIPT

  • Sistemas Operativos I

    Administracin de memoria

    Angel Vzquez-Patioangel.vazquezp@ucuenca.edu.ec

    Departamento de Ciencias de la ComputacinUniversidad de Cuenca

    31 de mayo de 2016

    mailto:angel.vazquezp@ucuenca.edu.ec

  • Funciones y operacionesAsignacin de memoria contigua

    SegmentacinPaginacin

    Memoria virtualConsideraciones de seguridad

  • Funciones y operaciones

    Espacio de direccionamientoHW: la unidad de manejo de memoria (MMU)

    La memoria cachEl espacio en memoria de un proceso

    Resolucin de direcciones

  • Funciones y operaciones

    El nico almacenamiento que usa el procesador es la RAM

    Almacenamiento primario y secundario Programas memoria (compilacin, ligado) HW especializado: unidad de manejo de

    memoria (MMU)

  • Funciones y operaciones

    Espacio de direccionamientoHW: la unidad de manejo de memoria (MMU)

    La memoria cachEl espacio en memoria de un proceso

    Resolucin de direcciones

  • Espacio de direccionamiento

    Memoria, arreglo direccionable de bytes Con direccin especfica, el HW entrega un byte Espacio de direccionamiento de 16 bits puede

    referirse directamente hasta a 2^16 bytes = 65536 bytes = 64 KB

    32 bits, 2^32 bytes = 4 GB 64 bits, 2^64 bytes = 16 Exabytes

    2^40 y 2^48, 1 y 256 Terabytes

  • Funciones y operaciones

    Espacio de direccionamientoHW: la unidad de manejo de memoria (MMU)

    La memoria cachEl espacio en memoria de un proceso

    Resolucin de direcciones

  • MMU

    Con multitarea, cmo ubicar los programas en la memoria fsica disponible

    Fue necesario abstraer el espacio de almacenamiento para dar la ilusin de contar con ms memoria

    Con asistencia HW se configura espacio lineal para cada proceso

    MMU tambin encargada de controlar R W entre procesos

  • MMU

    Primera aproximacin Registro base y registro lmite Modificados slo por el SO

    Ejemplo: asignacin de 64 KB (65536 bytes)

  • MMU

  • Funciones y operaciones

    Espacio de direccionamientoHW: la unidad de manejo de memoria (MMU)

    La memoria cachEl espacio en memoria de un proceso

    Resolucin de direcciones

  • La memoria cach

    Segn hay aumento en el registro de conteo de instruccin, se dan accesos a memoria

    En memoria, siguiente instruccin, operadores y el resultado

    Cul es el problema? Diferencia de velocidad, procesador memoria

  • La memoria cach

    Cuando el procesador pide contenido de direccin de memoria y no est disponible, detiene su ejecucin

    El CPU no puede congelar el estado (lista secuencial de operaciones)

    Memoria de alta velocidad entre RAM y procesador que guarda copias de las pginas que van siendo accedidas partiendo del principio de la localidad de referencia

  • La memoria cach

  • La memoria cach

    Localidad de referencia Localidad temporal

    Es probable que un recurso que fue empleado recientemente vuelva a emplearse en un futuro cercano

    Localidad espacial La probabilidad de que un recurso an no requerido sea

    accedido es mucho mayor si fue requerido algn recurso cercano

    Localidad secuencial Un recurso, y muy particularmente la memoria, tiende a ser

    requerido de forma secuencial

    As cuando el procesador pide un dato se manda una pgina

  • Funciones y operaciones

    Espacio de direccionamientoHW: la unidad de manejo de memoria (MMU)

    La memoria cachEl espacio en memoria de un proceso

    Resolucin de direcciones

  • Espacio en memoria de un proceso

    (SO) Estructura para manejo de informacin de estado relativa a la ejecucin

    Segmento de textoImagen en memoria de las instrucciones a ser ejecutadas

  • Espacio en memoria de un proceso

    (SO) Estructura para manejo de informacin de estado relativa a la ejecucin

    Seccin de datosEspacio fijo preasignado para las variables globales y datos inicializados. Fijado en tiempo de compilacin, los datos que cargados s cambian

  • Espacio en memoria de un proceso

    (SO) Estructura para manejo de informacin de estado relativa a la ejecucin

    Seccin de libres (Heap)

    Asignacin dinmica durante la ejecucin.

  • Espacio en memoria de un proceso

    (SO) Estructura para manejo de informacin de estado relativa a la ejecucin

    Pila de llamadas (Stack)Guarda la secuencia de funciones que han sido llamadas dentro del proceso

  • Funciones y operaciones

    Espacio de direccionamientoHW: la unidad de manejo de memoria (MMU)

    La memoria cachEl espacio en memoria de un proceso

    Resolucin de direcciones

  • Resolucin de direcciones Variables direcciones de memoria En tiempo de compilacin

    Direccin absoluta En tiempo de carga

    Cargador actualiza referencias a la memoria En tiempo de ejecucin

    Relativo a una base y un desplazamiento (offset) Proceso reubicado en caliente (se necesita HW, e.g.,

    MMU)

  • Resolucin de direcciones

  • Asignacin de memoria contigua

    Particin de la memoria

  • Particin de la memoria

    Primera solucin: asignar bloques contiguos fijos

    Al comienzo se ve como un bloque Conforme se ejecutan procesos, se subdivide

  • Particin de la memoria

    Fragmentacin Regiones interrumpidas Primer ajuste Mejor ajuste Peor ajuste Fragmentacin externa vs interna

  • FIGURA SOBRE AJUSTE Y FRAGMENTACINVdeo: https://youtu.be/w1tx6d8-pmw

    https://youtu.be/w1tx6d8-pmw

  • Particin de la memoria

    Compactacin Costo altoIntercambio (swap) Memoria principal memoria secundaria Cuando la memoria se acaba, se suspende un

    proceso y se almacena una copia Considerar la velocidad de la memoria

    secundaria

  • Segmentacin

    PermisosIntercambio parcial

    Ejemplificando

  • Segmentacin

    Secciones: para espacio de variables globales, cdigo compilado, etc

    La segmentacin es un concepto que se aplica directamente a la arquitectura del procesador. Permite separar las regiones de la memoria lineal en segmentos, cada uno de los cuales puede tener diferentes permisos de acceso. La segmentacin tambin ayuda a incrementar la modularidad de un programa.

  • Segmentacin

    Cdigo compilado para procesadores con segmentacin. Espacio segmentado

    Direcciones lgicas (selector de segmento y un desplazamiento dentro del segmento)

    La MMU traduce a direccin lineal fsica Fallas, excepciones

    Segmento no presente Violacin de segmento

  • Segmentacin

  • Segmentacin

    PermisosIntercambio parcial

    Ejemplificando

  • Permisos

    Ventaja de segmentacin Permisos Distinguir niveles de acceso

    Llamadas al sistema, modo supervisor

  • Segmentacin

    PermisosIntercambio parcial

    Ejemplificando

  • Intercambio parcial Ciertas regiones para cambio a disco Programa con porciones de cdigo que no se repetirn

    comnmente SwapRendimiento Costo de swap Cantidad de informacin trasladada menor El que ms estorbe, el menos recientemente usado Si es un espacio de slo lectura, no retornar a disco

  • Segmentacin

    PermisosIntercambio parcial

    Ejemplificando

  • Ejemplificando

  • Paginacin Evita por completo la fragmentacin externa Cada proceso est dividido en varios bloques

    de tamao fijo ms pequeos que los segmentos

    La asignacin no requiere que sea en un rea contigua de memoria

  • Paginacin

    La memoria se divide en frames del mismo tamao

    El espacio para cada proceso se divide en una serie de pginas del mismo tamao que los marcos

    Memoria

  • Paginacin

    Tabla depginas

    Pginas Memoria

    La MMU se encarga delmapeo entre pginas ymarcos mediante tablasde pginas

  • Paginacin

    Direcciones manejadas por la CPU no son absolutas

    2^9

  • Paginacin

    Tabla de pginas para mapeo

  • Paginacin

    Espacio deDireccionamiento2^5 = 32 bytes

    Requerimientodel proceso001 01

    Pgina

    Desplazamiento

    Lo que ve el proceso

  • Paginacin

    Tamao de la pginaAlmacenamiento de la tabla de pginas

    Memoria compartida

  • Tamao de la pgina

    La fragmentacin interna persiste Desperdicio de un proceso con pginas/marcos de

    longitud fija 2^n bytes Mejor caso: 1 Peor caso: 2^n 1 Promedio: 2^n / 2

    Solucin? Pginas tan pequeas como se pueda

  • Tamao de la pgina

    Solucin? Pginas tan pequeas como se pueda

    Carga administrativa Velocidad de transferencia secundario

    primario Bloque de control de proceso (PCB) incluyendo

    la informacin de memoria, requerira intercambios de contexto ms pesados

  • Tamao de la pgina

    Informacin asociada a un proceso (PCB) Estado del proceso Contador de programa Registros del CPU Informacin de planificacin Informacin de administracin de memoria Informacin de contabilidad Estado de E/S

  • Tamao de pgina

    Concluyendo Ahora (2015) habitualmente tamaos de 4 u 8

    KB (2^12 o 2^13 bytes) Solaris soporta mltiples tamaos 8 KB o 4 MB

    (2^13 o 2^22 bytes)

  • Paginacin

    Tamao de la pginaAlmacenamiento de la tabla de pginas

    Memoria compartida

  • Almacenamiento de la tabla de pginas

    Posible cuando se manejaban sistemas de 16 bits Pginas de 8 KB (2^13) Ocho pginas (2)

    Con 32/64 bits no es posible por el tamao que tendra el tamao de la tabla de pginas

    Una solucin es guardarla en la misma memoria pero se penaliza un acceso a la memoria con otra ms

  • Almacenamient