G ESTIÓN DE LA MEMORIA Paginación y segmentación.

Slides:



Advertisements
Presentaciones similares
GESTION DE MEMORIA.
Advertisements

El tamaño asignado para cada partición es el mismo. Cada partición, será ocupada por un proceso de menor o igual tamaño. El programador debe diseñar el.
III - Gestión de memoria
Administración de memoria
Administración de Memoria
Administración de Memoria Virtual
Sistemas Operativos Gestión de Memoria.
BUFFER Es el área de almacenaje temporal, por lo general en la RAM.
SISTEMAS OPERATIVOS GESTION DE MEMORIA INTEGRANTES Lizeth Chandi
III - Gestión de memoria
3.4.- Administración de Memoria Virtual.
Organización de la Memoria.
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Ordenamiento Interno y Búsqueda Binaria
Introducción a los Sistemas Operativos Memoria Virtual
MEMORIA VIRTUAL PAGINACIÓN
Windows XP sp3.
ADMINISTRACIÓN DE MEMORIA
Robiro A. Asuaje L.23/08/20141 Organización de la Memoria SISTEMAS OPERATIVOS. Universidad Centro-Occidental “ Lisandro Alvarado ” Decanato de Ciencias.
Direcciones físicas y direcciones virtuales (lógicas)
Paginación-Segmentación Fundamentos Translación de Direcciones Tabla de páginas Segmentación Emely Arráiz Ene-Mar 08.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Tema 10: Gestión de Memoria
Administración de memoria
PAGINACIÓN Y SEGMENTACIÓN
Elaborado por: Guillermo Baquerizo I Término
Administración de Memoria Memoria Virtual
Administración de la memoria
Las personas se enfrentaron por primera vez con programas que eran demasiados grandes para caber en la memoria disponible. La solucion fue dividir el programa.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
(Organización y Manejo de Archivos)
Asignación de Espacio No Contiguo
Administración de Memoria
 La cuestión de la cantidad es simple, cuanto más memoria haya disponible, más podrá utilizarse. La velocidad óptima para la memoria es la velocidad.
Capítulo 7 Gestión de memoria.
Administración de Memoria no contigua
Memoria virtual. Introducción Muchos procesos, una memoria Programas demasiado grandes para caber en memoria principal Espacio de direccionamiento mucho.
MEDIOS DE ALMACENAMIENTO
Gestión de Memoria.
Teoría de Sistemas Operativos Administración de Archivos.
Gestión de Memoria.
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
Modos de direccionamiento
3.2.1 Administración de almacenamiento
Arquitectura de Computadores I
Programación II Concepto de Archivos.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
7 Fragmentación Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
TEMA 2: HARDWARE Y SISTEMAS OPERATIVOS
Gestión de Memoria – Parte 2
Arquitectura y Sistemas Operativos Gestión de Memoria Parte 1 1 Gestión de Memoria – Parte 1 Agenda Parte 1 –RequisitosRequisitos –EvoluciónEvolución –Carga.
Gestión de Memoria Principal
Arquitectura de Computadores Clase 21 Memoria Virtual IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería.
¿ Sabes qué es la PLANEACIÓN? A través de la planeación, una persona u organización se fija alguna meta y estipula qué pasos debería seguir para llegar.
SISTEMAS OPERATIVOS Contenido: Descripción del proceso proceso nulo estado del procesador imagen del proceso información del BCP Miguel Ángel Martínez.
Tema 11: Segmentación y Paginación de la Memoria
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Clase II Estructuras dinámicas (TAD) Listas Enlazadas. ¿A que llamamos estructuras dinámicas? ¿Por qué son necesarias? Ventajas y Desventajas que tendremos.
Administración de Memoria Conceptos Swapping Asignación Continua Paginación Segmentación Segmentación con Paginación.
Conceptos de sistemas de información 4 Sistema de información formal –Es un medio informativo organizacionalmente eficaz, que es diseñado con la finalidad.
JANITH SULAY JAIMES PABON GIOVANNY JIMÉNEZ GÓMEZ JOHN ANDRES AYALA ANGARITA SERGIO ANDRES ARAQUE BERMUDEZ GESTIÓN DE ALMACENAMIENTO SECUNDARIO.
PenDrive EL PENDRIVE ES UN DISPOSITIVO TECNOLÓGICO EXTERNO, QUE ES CAPAZ DE GUARDAR INFORMACIÓN SIN NECESIDAD DE ENERGÍA ELÉCTRICA.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Asignaturas: Informática/Electiva I. Definición de Sistema operativo Conceptos Básicos Funciones de los Sistemas Operativos Clasificación Componentes.
Memoria virtual. Universidad de SonoraArquitectura de Computadoras2 Introducción Memoria virtual es un mecanismo que permite que la memoria principal.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Vinculación de Instrucciones y Datos a Memoria Tiempo de compilación: si la dirección de memoria se conoce a priori, se puede generar código absoluto;
Transcripción de la presentación:

G ESTIÓN DE LA MEMORIA Paginación y segmentación

Sistema Operativo Disponible para múltiples procesos En la mayoría de los esquemas de gestión de memoria, se puede asumir:

G ESTIÓN DE LA MEMORIA La operación principal de la gestión de la memoria es traer los procesos a la memoria principal para que el procesador los pueda ejecutar. En sistemas miltiprogramados modernos, esto implica el uso de técnicas básicas de memoria virtual : paginación y segmentación.

G ESTIÓN DE LA MEMORIA Técnicas de gestión de memoria 1. Particionamiento fijo2. Particionamiento dinámico3. Paginación sencilla4. Segmentación sencilla

G ESTIÓN DE LA MEMORIA Técnicas de gestión de memoria 1. Particionamiento fijo2. Particionamiento dinámico3. Paginación sencilla4. Segmentación sencilla

G ESTIÓN DE LA MEMORIA Técnicas de gestión de memoria 1. Particionamiento fijo2. Particionamiento dinámico3. Paginación sencilla4. Segmentación sencilla

T ÉCNICAS DE GESTIÓN DE MEMORIA TécnicaDescripciónVentajasDesventajas Particionamiento fijo  La memoria principal se divide en particiones estáticas en tiempo de generación del sistema.  Un proceso se puede cargar en una partición con igual o superior tamaño.  Sencilla de implementar.  Poca sobrecarga para el sistema operativo.  Uso ineficiente de la memoria, debido a la fragmentación interna.  Debe fijarse el número máximo de procesos activos.

T ÉCNICAS DE GESTIÓN DE MEMORIA TécnicaDescripciónVentajasDesventajas Particionamiento dinámico  Las particiones se crean de forma dinámica, de tal forma que cada proceso se carga en una partición del mismo tamaño que el proceso.  No existe fragmentación interna.  Uso más eficiente de memoria principal.  Uso ineficiente del procesador, debido a la necesidad de compactación para evitar la fragmentación externa.

G LOSARIO DE TÉRMINOS Fragmentación interna Fragmentación interna es el espacio interno malgastado debido al hecho de que el bloque de datos cargado es menor que la partición. Fragmentación externa Fragmentación externa el espacio externo malgastado debido al hecho de que el bloque de datos cargado es mayor que la partición. Compactación es una técnica que sirve para eliminar la fragmentación externa: de vez en cuando, el sistema operativo desplaza los procesos en memoria, de forma que se encuentren contiguos y de este modo toda la memoria libre se encontrará unida en un bloque.

P AGINACIÓN

T ÉCNICAS DE GESTIÓN DE MEMORIA TécnicaDescripciónVentajasDesvemtajas Paginación sencilla  La memoria principal se divide en marcos del mismo tamaño.  Cada proceso se divide en páginas del mismo tamaño que los marcos.  Un proceso se carga a través de la carga de todas sus paginas en marcos disponibles, no necesariamente contiguos. No existe fragmentación externa. Existe una pequeña cantidad de fragmentación interna.

P AGINACIÓN : Memoria principal Marcos libres de tamaño fijo Número de marcos disponibles: La memoria principal se divide en marcos del mismo tamaño.

P AGINACIÓN : Memoria principal Marcos libres de tamaño fijo Número de marcos disponibles: 15 La memoria principal se divide en marcos del mismo tamaño.

P AGINACIÓN Memoria principal Almacenamiento Disco Duro Procesos

P AGINACIÓN Memoria principal Proceso A Número de paginas del proceso: Cada proceso se divide en páginas del mismo tamaño que los marcos. A.0 A.1 A.2 A.3 Paginas del mismo tamaño que los marcos.

P AGINACIÓN Memoria principal Proceso A Número de paginas del proceso: 4 Cada proceso se divide en páginas del mismo tamaño que los marcos. A.0 A.1 A.2 A.3 Paginas del mismo tamaño que los marcos.

P AGINACIÓN El proceso A, almacenado en disco, está formado por cuatro páginas. En el momento de cargar este proceso, el sistema operativo encuentra cuatro marcos libres y carga las cuatro páginas del proceso A en dicho proceso. Almacenamiento Disco Duro Proceso A (formado por cuatro páginas) Memoria principal 00 A.0 11 A.1 22 A.2 33 A

P AGINACIÓN Memoria principal 00 A A A A B B B Carga el proceso A Carga el proceso B

P AGINACIÓN Memoria principal 00 A A A A B B B C C C.2 10 C Carga el proceso A Carga el proceso B Carga el proceso C

P AGINACIÓN Memoria principal 0 A.0 1 A.1 2 A.2 3 A.3 4 B.0 5 B.1 6 B.2 7 C.0 8 C.1 9 C.2 10 C El proceso B se suspende y deja la memoria principal.

P AGINACIÓN Memoria principal 0 A.0 1 A.1 2 A.2 3 A C.0 8 C.1 9 C.2 10 C El proceso B se suspende y deja la memoria principal. Todos los procesos de la memoria principal se bloquean.

P AGINACIÓN Memoria principal 0 A.0 1 A.1 2 A.2 3 A C.0 8 C.1 9 C.2 10 C El sistema operativo necesita traer un nuevo proceso, el proceso D, que está formado por cinco páginas.

P AGINACIÓN Memoria principal 0 A.0 1 A.1 2 A.2 3 A C.0 8 C.1 9 C.2 10 C El sistema operativo necesita traer un nuevo proceso, el proceso D, que está formado por cinco páginas. Observamos que no hay suficientes marcos contiguos sin utilizar para ubicar el proceso D.

P AGINACIÓN Memoria principal 0 A.0 1 A.1 2 A.2 3 A C.0 8 C.1 9 C.2 10 C El sistema operativo necesita traer un nuevo proceso, el proceso D, que está formado por cinco páginas. Observamos que no hay suficientes marcos contiguos sin utilizar para ubicar el proceso D. ¿Esto evitará que el sistema operativo cargue el proceso D?

P AGINACIÓN Memoria principal 0 A.0 1 A.1 2 A.2 3 A C.0 8 C.1 9 C.2 10 C El sistema operativo necesita traer un nuevo proceso, el proceso D, que está formado por cinco páginas. Observamos que no hay suficientes marcos contiguos sin utilizar para ubicar el proceso D. ¿Esto evitará que el sistema operativo cargue el proceso D?

P AGINACIÓN Memoria principal 0 A.0 1 A.1 2 A.2 3 A.3 4 D.0 5 D.1 6 D.3 7 C.0 8 C.1 9 C.2 10 C.3 11 D.4 12 D El sistema operativo necesita traer un nuevo proceso, el proceso D, que está formado por cinco páginas. Un proceso se carga a través de la carga de todas sus paginas en marcos disponibles, no necesariamente contiguos.

P AGINACIÓN Memoria principal 0 A.0 1 A.1 2 A.2 3 A.3 4 D.0 5 D.1 6 D.3 7 C.0 8 C.1 9 C.2 10 C.3 11 D.4 12 D La tabla de páginas muestra la ubicación del marco por cada página del proceso. El sistema operativo mantiene un tabla de páginas por cada proceso. Tabla de páginas del proceso A Tabla de páginas del proceso B Tabla de páginas del proceso C Tabla de páginas del proceso D Lista de marcos libre 13 14

P AGINACIÓN Con paginación, la traducción de direcciones lógicas a físicas las realiza también el hardware del procesador. Ahora el procesador debe conocer cómo acceder a la tabla de páginas del proceso actual. Dirección lógica (número de página, desplazamiento), Dirección física (número de marco, desplazamiento)

P AGINACIÓN Podemos afirmar que con a paginación, las particiones son bastante pequeñas; un programa podría ocupar más de una partición; y dichas particiones no necesitan ser contiguas. Se recomienda que el tamaño de la página y por lo tanto el tamaño del marco debe ser una potencia de 2.

G LOSARIO DE TÉRMINOS Dirección lógica Dirección lógica es una referencia a una ubicación de memoria independiente de la asignación actual de datos a la memoria. Dirección relativa Dirección relativa esta dirección se expresa como una ubicación relativa a algún punto conocido, normalmente un valor en un registro del procesador. Dirección física o dirección absoluta, es una ubicación real de la memoria principal.

EJEMPLO Proceso de usuario de 2700 bytes Dirección relativa = Dirección lógica = (Nº página; Desplazamiento) = (1; 478) | Página 0 Página 1 Página Paginación Tamaño de página = 1K Direcciones de 16 bits. Con una página de 1K, se necesita un campo de desplazamiento de 10 bits, dejando 6 bits para el número de páginas: 2 6 = 64 páginas de 1K. La dirección relativa 1502 corresponde a un desplazamiento de 478 ( ) en la página 1 (000001), que forma el mismo número de 16 bits,

P AGINACIÓN : Dirección lógica de 16 bits Página de 6 bitsDesplazamiento de 10 bits Dirección física de 16 bits Tabla de páginas de proceso Dirección lógica , corresponde pagina 1, desplazamiento 478. Supóngase que esta página reside en el marco de memoria principal 6 (000110). Por lo tanto dirección fisca = (Nº marco; desplazamiento) = (6; 478) =

T ÉCNICAS DE GESTIÓN DE MEMORIA TécnicaDescripciónVentajasDesventajas Paginación sencilla  La memoria principal se divide en marcos del mismo tamaño.  Cada proceso se divide en páginas del mismo tamaño que los marcos.  Un proceso se carga a través de la carga de todas sus paginas en marcos disponibles, no necesariamente contiguos. No existe fragmentación externa. Existe una pequeña cantidad de fragmentación interna.

Paginación sencilla Paginación con memoria virtual Memoria principal particionada en fragmentos pequeños de un tamaño fijo llamados marcos. Programa dividido en páginas por el compilador o el sistema de gestión de la memoria. Fragmentación interna dentro de los marcos. Sin fragmentación externa. El S.O. debe mantener una tabla de paginas por cada proceso mostrado en el marco que se encuentra cada página ocupada. El S.O. debe mantener una lista de marcos libres. El procesador utiliza el número de página, desplazamiento para calcular direcciones absolutas. Todas las páginas del proceso deben encontrarse en la memoria principal para que el proceso se pueda ejecutar, salvo que se utilicen solapamientos (overlays) No se necesitan mantener todas las páginas del proceso en los marcos de la memoria principal para que el proceso se ejecute. Las páginas se pueden leer bajo demanda. La lectura de una página a memoria principal puede requerir la escritura de una página a disco.

S EGMENTACIÓN

T ÉCNICAS DE GESTIÓN DE MEMORIA TécnicaDescripciónVentajasDesventajas Segmentación sencilla  Cada proceso se divide en segmentos.  Un proceso se carga cargando todos sus segmentos en particiones dinámicas, no necesariamente contiguas.  No existe fragmentación interna.  Mejora la utilización de la memoria.  Reduce la sobrecarga respecto al particionamiento dinámico. Existe fragmentación externa.

SEGMENTACIÓN La diferencia entre la segmentación y el particionamiento dinámico, es: Con la segmentación un programa podría ocupar más de una partición, y estas particiones no necesitan ser contiguas. La segmentación elimina la fragmentación interna, pero sufre la fragmentación externa, sin embargo, debido a que el proceso se divide en varias piezas más pequeñas, la fragmentación externa debería ser menor.

S EGMENTACIÓN Tabla de segmentos Dirección base del segmento Contiene la dirección física inicial del lugar donde el segmento reside dentro de la memoria. Limite del segmento Especifica la longitud del segmento. Dirección lógica Número de segmentos Se utiliza como índice para la tabla de segmentos. Desplazamiento Debe estar comprendido entre 0 y el limite del segmento.

SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) Número de segmentos:

SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) Número de segmentos: 5

SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) Número de segmentos: 5

SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) Número de segmentos: 5

SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) Número de segmentos: 5

SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) Número de segmentos: 5 Una referencia al byte 53 del segmento 2 se corresponderá con la posición:

SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) Número de segmentos: 5 Una referencia al byte 53 del segmento 2 se corresponderá con la posición: = 4353

SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) Número de segmentos: 5 Una referencia al byte 300 del segmento 3 se corresponderá con la posición:

SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) Número de segmentos: 5 Una referencia al byte 300 del segmento 3 se corresponderá con la posición: = 3500

SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) Número de segmentos: 5 Una referencia al byte 1222 del segmento 0 se corresponderá con la posición:

SEGMENTACIÓN Memoria física Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento Tabla de segmentos Límite (longitud del segmento) Base (dirección inicial del segmento) Número de segmentos: 5 Una referencia al byte 1222 del segmento 0 se corresponderá con la posición: Genera un interrupción al S.O.

Segmentación sencilla Segmentación con memoria virtual Memoria principal no particionada. Los segmentos de programa se especifican por el programador al compilar (por ejemplo, la decisión se toma por parte del programador) Sin fragmentación interna. Fragmentación externa. El S.O. debe mantener una tabla de segmentos por cada proceso mostrando la dirección de carga y la longitud de cada segmento. El S.O. debe mantener una lista de huecos en la memoria principal. El procesador utiliza el número de segmento, desplazamiento para calcular direcciones absolutas. Todos los segmentos del proceso deben encontrarse en la memoria principal para que el proceso se puede ejecutar, salvo que se utilicen solapamientos (overlays) No se necesitan mantener todos los segmentos del proceso en la memoria principal para que el proceso se ejecute. Los segmentos se pueden leer bajo demanda. La lectura de un segmento a memoria principal puede requerir la escritura de uno o más segmentos a disco.

Gracias