SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
En un sistema multiprogramado, la tarea de subdivisión de memoria la lleva acabo
dinámicamente el sistema operativo y se conoce como gestión de memoria.

Requisitos de la gestión de memoria

Reubicación

En un sistema multiprogramado, la memoria principal disponible se encuentra normalmente
compartida por varios procesos.

Se busca poder cargar y descargar los procesos activos en la memoria principal para
maximizar el uso del procesador, manteniendo una gran reserva de procesos listos para
ejecutarse.

Una vez que se ha descargado un programa en el disco, sería bastante limitado que, cuando
vuelva a ser cargado, deba situarse en la misma región de la memoria principal que antes.

En lugar de ello, se puede necesitar reubicar el proceso en un área distinta de la memoria.

No se sabe antes de tiempo donde debe situarse un programa y hay que permitir que el
programa pueda moverse en la memoria principal como resultado de un intercambio

Esta situación plantea algunos asuntos técnicos relativos al direccionamiento. Como
muestra la figura.
El sistema operativo tiene que conocer la ubicación de la información de control de
procesos y de la pila de ejecución.

Puesto que el sistema operativo gestiona la memoria y es responsable de traer el proceso a
la memoria principal, estas direcciones deben ser fáciles de conseguir. El procesador debe
ocuparse de las referencias a la memoria dentro del programa. Las instrucciones de
bifurcación deben contener la dirección que haga referencia a la instrucción que se vaya a
ejecutar. Las instrucciones que hagan referencia a datos deben contener la dirección del
byte o de la palabra de datos referenciada.

El hardware del procesador y el software del sistema operativo deben ser capaces de
traducir las referencias a la memoria encontradas en el código del programa a las
direcciones físicas reales que reflejen la posición actual del programa en la memoria
principal.

Protección

Cada proceso debe protegerse contra interferencias no deseadas de otros procesos, tanto
accidentalmente como intencionalmente. Así pues, el código de un proceso no puede hacer
referencia a posiciones de memoria de otros procesos, con fines de lectura o escritura, sin
permiso. Hasta cierto punto, satisfacer las exigencias de reubicación aumenta la dificultad
de satisfacción de las exigencias de protección. Puesto que se desconoce la ubicación de un
programa en memoria principal, es imposible comprobar las direcciones absolutas durante
la compilación para asegurar la protección. Es más, la mayoría de los lenguajes de
programación permiten el cálculo dinámico de direcciones durante la ejecución, generando,
por ejemplo, un índice de un vector o un puntero a una estructura de datos, por tanto,
todas las referencias a memoria generadas por un proceso deben comprobarse durante la
ejecución para asegurar que solo hacen referencia al espacio de memoria destinado a dicho
proceso. Afortunadamente, como se verá, los mecanismos que respaldan la reubicación
también forman parte básica del cumplimiento de las necesidades de protección.



Sistemas de protección

Mecanismo que controla el acceso de los programas o los usuarios a los recursos del
sistema. El SO se encarga de:

    •   Distinguir entre uso autorizado y no autorizado.
    •   Especificar los controles de seguridad a realizar.
    •   Forzar el uso de estos mecanismos de protección.

En conclusión El gestor de memoria debe proteger las zonas asignadas a cada proceso de
accesos por parte de terceros.
Compartimento de memoria

Para cumplir el requisito de protección, el sistema operativo debe crear espacios lógicos
independientes y disjuntos para los procesos. Sin embargo, en ciertas situaciones, bajo la
supervisión y control del sistema operativo, puede ser provechoso que los procesos puedan
compartir memoria.
Esto es, la posibilidad de que direcciones lógicas de dos o más procesos, posiblemente
distintas entre sí, se correspondan con la misma dirección física. Nótese que, como puede
observarse en la Figura 4.5, la posibilidad de que dos o más procesos compartan una zona
de memoria implica que el sistema de gestión de memoria debe permitir que la memoria
asignada a un proceso no sea contigua.
Así, por ejemplo, una función de traducción como la comentada anteriormente, que
únicamente sumaba una cantidad a las direcciones generadas por el programa, obligaría a
que el espacio asignado al proceso fuera contiguo, imposibilitando, por tanto, el poder
compartir memoria.

Mapa proceso 1                                    Mapa proceso 2
Zona compartida                                   Zona compartida
Zona compartida                                   Memoria
Zona privada 1                                    Zona priv. 1 (P2)
Zona privada 2                                    Zona priv. 1 (P1)
Zona privada 1                                    Zona priv. 2 (P1)
Zona privada 2                                    Zona priv. 2 (P2)

               Figura 4.5. Dos procesos compartiendo una zona de memoria.



Considérese el caso de que una posición de memoria de la zona compartida tenga que
contener la dirección de otra posición de dicha zona (o sea, una referencia). Como se puede
apreciar en la
Figura 4.6, no es posible determinar qué dirección almacenar en la posición origen puesto
que cada proceso ve la posición referenciada en una dirección diferente de su mapa de
memoria.
Esta situación se puede presentar tanto en zonas compartidas de código como de datos. En
el caso del código, considérese que una posición de la zona contiene una instrucción de
bifurcación a otra posición de la misma. Por lo que respecta al caso de los datos, supóngase
que la zona compartida contiene una estructura de lista basada en puntero.

Organización lógica:

Normalmente en un sistema informático la memoria principal está organizada de forma
lineal como una secuencia de posiciones de memoria. Del mismo modo la memoria secundaria
se puede ver como una secuencia de bloques. Esta organización física no se corresponde con
la visión del programador que estructura su programa en diferentes módulos. El sistema
gestor de memoria debe permitir organizar lógicamente partes de la memoria para
acercarse a la visión del programador. La técnica que más fácilmente satisface esta
necesidad es la segmentación.
Identificación de bloque

• ¿Cómo se encuentra un bloque si está en el nivel superior?

La dirección se descompone en varios campos:
– Etiqueta (tag): se utiliza para comparar la dirección requerida por la CPU con aquellos
bloques que pueden contener la información deseada (búsqueda en paralelo de etiquetas)
– Índice (index): se usa para seleccionar el conjunto en el caso de las asociativas por
conjunto o el bloque en las de mapeado directo (conjuntos de una vía). No existe para las
completamente asociativas
– Desplazamiento de bloque (block offset): selecciona el dato deseado dentro del bloque
• ¿Cómo se sabe que un bloque contiene información válida? Mediante el bit de válido (valid
bit)
• Al calcular el coste de las caches hay que incluir el coste debido al almacenamiento de las
etiquetas y el de los bits necesarios
Según el tipo de cache

• En caches de mapeado directo
• En caches asociativas por conjunto
• En caches completamente asociativa




Memoria: 32 bloques
Caches: 8 bloques
Tres tipos:
- Completamente asociativas
- De correspondencia directa
- Asociativa por conjuntos de 2 vías
Implementación de caches de mapeado directo




Implementación de caches totalmente asociativas
Implementación de caches asociativas por conjuntos




Ejemplo: VAX-11/780




- Cache asociativa por conjunto de 2 vías
- Capacidad de datos: 8Kb
- Tamaño de bloque: 8 bytes
- Número de conjuntos: 512
Pasos de un acierto:

1) División de la dirección
2) Acceso a ambos bancos
3) Comparación de etiquetas
4) Multiplexación
5) Envío a la CPU

Políticas de sustitución de bloque

• ¿Qué bloque debe reemplazarse en caso de fallo?

Se puedenseguir diferentes estrategias:
– Aleatoria (Random): Se elige un bloque al azar
– FIFO (First Input First Out): Se sustituye el bloque que más tiempo ha estado en la
cache
– LRU (Least Recently Used): Se sustituye el bloque que más tiempo ha estado en la cache
sin ser referenciado
– LFU (Least Frecuently Used): Se sustituye el bloque que menos referencias ha tenido

• Se tienen en cuenta criterios de coste y eficiencia
• Los esquemas más utilizados son el aleatorio y el LRU

Comparativa de frecuencias de fallos (VAX, 16bytes/bloque)




Políticas de escritura

• ¿Qué ocurre en una escritura?

Opciones a la hora de escribir en la cache:
– Escritura directa (Write through): La información se escribe en el bloque de la cache y
en el bloque de la memoria de nivel inferior
– Postescritura (Copy Back): La información se escribe sólo en el bloque de la cache. El
bloque modificado de la cache se escribe en la memoria de nivel inferior sólo cuando es
reemplazado.

• Los bloques de las caches copy back se denominan sucios o modificados cuando la
información de la cache difiere de la memoria de nivel inferior
• Para reducir la frecuencia de postescrituras en el reemplazo se usa el bit de modificación
o sucio (dirty bit): si el bloque está limpio no se escribe en el
nivel inferior

• Cuando una cache es write through, la CPU debe esperar la finalización de cada escritura
antes de proceder con la siguiente operación. Para evitarlo se utiliza un buffer de escritura
que permite al procesador continuar mientras se actualiza la memoria

Vetajas de las caches copy back:

– En las caches copy back, las escrituras se realizan a la velocidad de la memoria cache, y
múltiples escrituras en un bloque requieren sólo una escritura en la memoria de nivel
inferior
– Como cada escritura no va a memoria, la postescritura utiliza menos ancho de banda
(multiprocesadores)

• Vetajas de las caches write through:

– En las caches write through, los fallos de lectura no ocasionan escrituras en el nivel
inferior
– Las caches write through son más fáciles de implementar
– La escritura directa tiene la ventaja también de que la memoria principal tiene la copia
más reciente de los datos (coherencia de cache, multiprocesadores y E/S)

• ¿Qué ocurre en una escritura?

 Opciones cuando se produce un fallo de escritura:
– Ubicar en escritura (Write allocation): El bloque se carga en la cache y a continuación se
escribe sobre él (similar a un fallo en lectura)
– No ubicar en escritura (No write allocatation): El bloque se modifica en el nivel inferior y
no se carga en la cache.

• Aunque cualquier política de fallo de escritura puede utilizarse con la escritura directa o
con la postescritura, las caches copy back utilizan write allocation (CB- WA) y las write
through usan no write allocation (WT- NWA)

Caches unificadas vs. Caches separadas

• Caches unificadas o mixtas (unified or mixed): Contienen tanto datos como instrucciones
• Caches separadas (separated): Existe una cache para datos y otra para instrucciones

Ventajas

– No hay competencia entre el procesador de instrucciones y la unidad de ejecución
– Duplicación del ancho de bus (puertos separados)
– Parámetros de diseño (capacidad, tamaños de bloque, asociatividad, etc.) diferentes para
instrucciones y datos (optimización).
Inconvenientes

– En general la tasa de fallos global es algo mayor (próxima transparencia):
• La caches de instrucciones tienen menor frecuencia de fallos que las de datos (localidad)
• La separación de instrucciones y datos elimina fallos debidos a conflictos pero al dividir
también se fija el espacio de cache dedicado a cada tipo
– No se equilibra la carga de trabajo de forma automática.

Organización Física

La memoria del computador se organiza en al menos dos niveles: memoria principal y
memoria secundaria. La memoria principal ofrece un acceso rápido con un coste
relativamente alto. Además, la memoria principal es volátil, es decir, no proporciona
almacenamiento permanente.la memoria secundaria es más lenta y más barata que la
memoria principal y, normalmente, no es volátil. De este modo, una memoria secundaria de
gran capacidad puede permitir un almacenamiento a largo plazo de programas y otros, al
tiempo que una memoria principal pequeña mantiene los programas y datos de uso actual.
En este esquema de dos niveles, la organización del flujo de información entre la memoria
principal y la memoria secundaria tienen un gran interés en el sistema. La responsabilidad
de este flujo podría asignarse al programador, pero esto es impracticable e indeseable, por
dos razones:
1.- la memoria principal disponible para un programa y sus datos pueden ser insuficientes.
En este caso, el programador debe emplear una práctica que se conoce como superposición
(overlayng), en el cual el programador y los datos se organizan de tal forma que puede
haber varios módulos asignados a la misma región de memoria, con un programa principal
responsable del intercambio de módulos según se necesiten. Incluso con la ayuda de
herramientas de la compilación, la programación superpuesta malgasta el tiempo del
programador.
2.- en un entorno multiprogramador, el programador no conoce durante la codificación
cuanto espacio habrá disponible o donde estará este espacio.
Resulta claro entonces que la tarea de mover información entre los dos niveles de memoria
debe ser responsabilidad del sistema. Esta tarea es la esencia de la gestión de memoria.

Más contenido relacionado

La actualidad más candente

Asignación de memoria continua
Asignación de memoria continuaAsignación de memoria continua
Asignación de memoria continuaEdgar Pauta
 
Gestion de-memoria-copia
Gestion de-memoria-copiaGestion de-memoria-copia
Gestion de-memoria-copiaBlanca Bailon
 
Administración de memoras
Administración de memorasAdministración de memoras
Administración de memorasJuan Bustamante
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoriacaredimaria
 
Administracion memoria
Administracion memoriaAdministracion memoria
Administracion memoria1993mely
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de MemoriaLuis Eraso
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoriaALASBLANKS
 
Trabajo de gestión de la memoria principal.
Trabajo de gestión de la memoria principal.Trabajo de gestión de la memoria principal.
Trabajo de gestión de la memoria principal.Juliannys Requena
 
Administracion de la memoria, primeros sistemas
Administracion de la memoria, primeros sistemasAdministracion de la memoria, primeros sistemas
Administracion de la memoria, primeros sistemasANIUX77
 

La actualidad más candente (20)

Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
Asignación de memoria continua
Asignación de memoria continuaAsignación de memoria continua
Asignación de memoria continua
 
Gestion de-memoria-copia
Gestion de-memoria-copiaGestion de-memoria-copia
Gestion de-memoria-copia
 
Administración de memoras
Administración de memorasAdministración de memoras
Administración de memoras
 
Administracion de Memoria
Administracion de MemoriaAdministracion de Memoria
Administracion de Memoria
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoria
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
Administracion memoria
Administracion memoriaAdministracion memoria
Administracion memoria
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de Memoria
 
ADMINISTRACION DE MEMORIA
ADMINISTRACION DE MEMORIAADMINISTRACION DE MEMORIA
ADMINISTRACION DE MEMORIA
 
Gestión de memoria
Gestión de memoriaGestión de memoria
Gestión de memoria
 
Tema4
Tema4Tema4
Tema4
 
Opensuse2
Opensuse2Opensuse2
Opensuse2
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
Sistemas Operativos Gestión de memoria
Sistemas Operativos Gestión de memoriaSistemas Operativos Gestión de memoria
Sistemas Operativos Gestión de memoria
 
Tecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de Memoria
 
Trabajo de gestión de la memoria principal.
Trabajo de gestión de la memoria principal.Trabajo de gestión de la memoria principal.
Trabajo de gestión de la memoria principal.
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 
Memoria
MemoriaMemoria
Memoria
 
Administracion de la memoria, primeros sistemas
Administracion de la memoria, primeros sistemasAdministracion de la memoria, primeros sistemas
Administracion de la memoria, primeros sistemas
 

Similar a Gestion De Memoria

Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosJammil Ramos
 
Unidad A Aministración de la Memoria
Unidad A Aministración de la MemoriaUnidad A Aministración de la Memoria
Unidad A Aministración de la MemoriaNubieshita Chase
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria VirtualUCC
 
Capitulo 8 Memoria Principal
Capitulo 8 Memoria PrincipalCapitulo 8 Memoria Principal
Capitulo 8 Memoria Principallagm000
 
Memoria virtual(Braulio E.Ramirez)
Memoria virtual(Braulio E.Ramirez)Memoria virtual(Braulio E.Ramirez)
Memoria virtual(Braulio E.Ramirez)Braulio8424
 
Segunda unidas open suse
Segunda unidas open suseSegunda unidas open suse
Segunda unidas open suseMiguel Magaña
 
Administracion de memoria virtual
Administracion de memoria virtualAdministracion de memoria virtual
Administracion de memoria virtualMerly Castro
 
Trabajo memoria virtual
Trabajo memoria virtualTrabajo memoria virtual
Trabajo memoria virtualyuukikuran12
 
Gestiond memoria-pnfi
Gestiond memoria-pnfiGestiond memoria-pnfi
Gestiond memoria-pnfipuracastillo
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoriapuracastillo
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoriapuracastillo
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoriaguestaff6d2
 

Similar a Gestion De Memoria (20)

Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
4679923.ppt
4679923.ppt4679923.ppt
4679923.ppt
 
Memoria en los SO
Memoria en los SOMemoria en los SO
Memoria en los SO
 
7 memoria cache
7 memoria cache7 memoria cache
7 memoria cache
 
Unidad A Aministración de la Memoria
Unidad A Aministración de la MemoriaUnidad A Aministración de la Memoria
Unidad A Aministración de la Memoria
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
 
Capitulo 8 Memoria Principal
Capitulo 8 Memoria PrincipalCapitulo 8 Memoria Principal
Capitulo 8 Memoria Principal
 
Memoria virtual(Braulio E.Ramirez)
Memoria virtual(Braulio E.Ramirez)Memoria virtual(Braulio E.Ramirez)
Memoria virtual(Braulio E.Ramirez)
 
Segunda unidas open suse
Segunda unidas open suseSegunda unidas open suse
Segunda unidas open suse
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Administracion de memoria virtual
Administracion de memoria virtualAdministracion de memoria virtual
Administracion de memoria virtual
 
Trabajo tema 6 memoria
Trabajo tema 6 memoriaTrabajo tema 6 memoria
Trabajo tema 6 memoria
 
Trabajo memoria virtual
Trabajo memoria virtualTrabajo memoria virtual
Trabajo memoria virtual
 
Gestiond memoria-pnfi
Gestiond memoria-pnfiGestiond memoria-pnfi
Gestiond memoria-pnfi
 
Procesador sparc, memoria virtual
Procesador sparc, memoria virtualProcesador sparc, memoria virtual
Procesador sparc, memoria virtual
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
Equipo1
Equipo1Equipo1
Equipo1
 
Equipo1
Equipo1Equipo1
Equipo1
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoria
 

Último

Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 

Último (20)

Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 

Gestion De Memoria

  • 1. En un sistema multiprogramado, la tarea de subdivisión de memoria la lleva acabo dinámicamente el sistema operativo y se conoce como gestión de memoria. Requisitos de la gestión de memoria Reubicación En un sistema multiprogramado, la memoria principal disponible se encuentra normalmente compartida por varios procesos. Se busca poder cargar y descargar los procesos activos en la memoria principal para maximizar el uso del procesador, manteniendo una gran reserva de procesos listos para ejecutarse. Una vez que se ha descargado un programa en el disco, sería bastante limitado que, cuando vuelva a ser cargado, deba situarse en la misma región de la memoria principal que antes. En lugar de ello, se puede necesitar reubicar el proceso en un área distinta de la memoria. No se sabe antes de tiempo donde debe situarse un programa y hay que permitir que el programa pueda moverse en la memoria principal como resultado de un intercambio Esta situación plantea algunos asuntos técnicos relativos al direccionamiento. Como muestra la figura.
  • 2. El sistema operativo tiene que conocer la ubicación de la información de control de procesos y de la pila de ejecución. Puesto que el sistema operativo gestiona la memoria y es responsable de traer el proceso a la memoria principal, estas direcciones deben ser fáciles de conseguir. El procesador debe ocuparse de las referencias a la memoria dentro del programa. Las instrucciones de bifurcación deben contener la dirección que haga referencia a la instrucción que se vaya a ejecutar. Las instrucciones que hagan referencia a datos deben contener la dirección del byte o de la palabra de datos referenciada. El hardware del procesador y el software del sistema operativo deben ser capaces de traducir las referencias a la memoria encontradas en el código del programa a las direcciones físicas reales que reflejen la posición actual del programa en la memoria principal. Protección Cada proceso debe protegerse contra interferencias no deseadas de otros procesos, tanto accidentalmente como intencionalmente. Así pues, el código de un proceso no puede hacer referencia a posiciones de memoria de otros procesos, con fines de lectura o escritura, sin permiso. Hasta cierto punto, satisfacer las exigencias de reubicación aumenta la dificultad de satisfacción de las exigencias de protección. Puesto que se desconoce la ubicación de un programa en memoria principal, es imposible comprobar las direcciones absolutas durante la compilación para asegurar la protección. Es más, la mayoría de los lenguajes de programación permiten el cálculo dinámico de direcciones durante la ejecución, generando, por ejemplo, un índice de un vector o un puntero a una estructura de datos, por tanto, todas las referencias a memoria generadas por un proceso deben comprobarse durante la ejecución para asegurar que solo hacen referencia al espacio de memoria destinado a dicho proceso. Afortunadamente, como se verá, los mecanismos que respaldan la reubicación también forman parte básica del cumplimiento de las necesidades de protección. Sistemas de protección Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El SO se encarga de: • Distinguir entre uso autorizado y no autorizado. • Especificar los controles de seguridad a realizar. • Forzar el uso de estos mecanismos de protección. En conclusión El gestor de memoria debe proteger las zonas asignadas a cada proceso de accesos por parte de terceros.
  • 3. Compartimento de memoria Para cumplir el requisito de protección, el sistema operativo debe crear espacios lógicos independientes y disjuntos para los procesos. Sin embargo, en ciertas situaciones, bajo la supervisión y control del sistema operativo, puede ser provechoso que los procesos puedan compartir memoria. Esto es, la posibilidad de que direcciones lógicas de dos o más procesos, posiblemente distintas entre sí, se correspondan con la misma dirección física. Nótese que, como puede observarse en la Figura 4.5, la posibilidad de que dos o más procesos compartan una zona de memoria implica que el sistema de gestión de memoria debe permitir que la memoria asignada a un proceso no sea contigua. Así, por ejemplo, una función de traducción como la comentada anteriormente, que únicamente sumaba una cantidad a las direcciones generadas por el programa, obligaría a que el espacio asignado al proceso fuera contiguo, imposibilitando, por tanto, el poder compartir memoria. Mapa proceso 1 Mapa proceso 2 Zona compartida Zona compartida Zona compartida Memoria Zona privada 1 Zona priv. 1 (P2) Zona privada 2 Zona priv. 1 (P1) Zona privada 1 Zona priv. 2 (P1) Zona privada 2 Zona priv. 2 (P2) Figura 4.5. Dos procesos compartiendo una zona de memoria. Considérese el caso de que una posición de memoria de la zona compartida tenga que contener la dirección de otra posición de dicha zona (o sea, una referencia). Como se puede apreciar en la Figura 4.6, no es posible determinar qué dirección almacenar en la posición origen puesto que cada proceso ve la posición referenciada en una dirección diferente de su mapa de memoria. Esta situación se puede presentar tanto en zonas compartidas de código como de datos. En el caso del código, considérese que una posición de la zona contiene una instrucción de bifurcación a otra posición de la misma. Por lo que respecta al caso de los datos, supóngase que la zona compartida contiene una estructura de lista basada en puntero. Organización lógica: Normalmente en un sistema informático la memoria principal está organizada de forma lineal como una secuencia de posiciones de memoria. Del mismo modo la memoria secundaria se puede ver como una secuencia de bloques. Esta organización física no se corresponde con la visión del programador que estructura su programa en diferentes módulos. El sistema gestor de memoria debe permitir organizar lógicamente partes de la memoria para acercarse a la visión del programador. La técnica que más fácilmente satisface esta necesidad es la segmentación.
  • 4. Identificación de bloque • ¿Cómo se encuentra un bloque si está en el nivel superior? La dirección se descompone en varios campos: – Etiqueta (tag): se utiliza para comparar la dirección requerida por la CPU con aquellos bloques que pueden contener la información deseada (búsqueda en paralelo de etiquetas) – Índice (index): se usa para seleccionar el conjunto en el caso de las asociativas por conjunto o el bloque en las de mapeado directo (conjuntos de una vía). No existe para las completamente asociativas – Desplazamiento de bloque (block offset): selecciona el dato deseado dentro del bloque • ¿Cómo se sabe que un bloque contiene información válida? Mediante el bit de válido (valid bit) • Al calcular el coste de las caches hay que incluir el coste debido al almacenamiento de las etiquetas y el de los bits necesarios Según el tipo de cache • En caches de mapeado directo • En caches asociativas por conjunto • En caches completamente asociativa Memoria: 32 bloques Caches: 8 bloques Tres tipos: - Completamente asociativas - De correspondencia directa - Asociativa por conjuntos de 2 vías
  • 5. Implementación de caches de mapeado directo Implementación de caches totalmente asociativas
  • 6. Implementación de caches asociativas por conjuntos Ejemplo: VAX-11/780 - Cache asociativa por conjunto de 2 vías - Capacidad de datos: 8Kb - Tamaño de bloque: 8 bytes - Número de conjuntos: 512
  • 7. Pasos de un acierto: 1) División de la dirección 2) Acceso a ambos bancos 3) Comparación de etiquetas 4) Multiplexación 5) Envío a la CPU Políticas de sustitución de bloque • ¿Qué bloque debe reemplazarse en caso de fallo? Se puedenseguir diferentes estrategias: – Aleatoria (Random): Se elige un bloque al azar – FIFO (First Input First Out): Se sustituye el bloque que más tiempo ha estado en la cache – LRU (Least Recently Used): Se sustituye el bloque que más tiempo ha estado en la cache sin ser referenciado – LFU (Least Frecuently Used): Se sustituye el bloque que menos referencias ha tenido • Se tienen en cuenta criterios de coste y eficiencia • Los esquemas más utilizados son el aleatorio y el LRU Comparativa de frecuencias de fallos (VAX, 16bytes/bloque) Políticas de escritura • ¿Qué ocurre en una escritura? Opciones a la hora de escribir en la cache: – Escritura directa (Write through): La información se escribe en el bloque de la cache y en el bloque de la memoria de nivel inferior – Postescritura (Copy Back): La información se escribe sólo en el bloque de la cache. El bloque modificado de la cache se escribe en la memoria de nivel inferior sólo cuando es reemplazado. • Los bloques de las caches copy back se denominan sucios o modificados cuando la información de la cache difiere de la memoria de nivel inferior
  • 8. • Para reducir la frecuencia de postescrituras en el reemplazo se usa el bit de modificación o sucio (dirty bit): si el bloque está limpio no se escribe en el nivel inferior • Cuando una cache es write through, la CPU debe esperar la finalización de cada escritura antes de proceder con la siguiente operación. Para evitarlo se utiliza un buffer de escritura que permite al procesador continuar mientras se actualiza la memoria Vetajas de las caches copy back: – En las caches copy back, las escrituras se realizan a la velocidad de la memoria cache, y múltiples escrituras en un bloque requieren sólo una escritura en la memoria de nivel inferior – Como cada escritura no va a memoria, la postescritura utiliza menos ancho de banda (multiprocesadores) • Vetajas de las caches write through: – En las caches write through, los fallos de lectura no ocasionan escrituras en el nivel inferior – Las caches write through son más fáciles de implementar – La escritura directa tiene la ventaja también de que la memoria principal tiene la copia más reciente de los datos (coherencia de cache, multiprocesadores y E/S) • ¿Qué ocurre en una escritura? Opciones cuando se produce un fallo de escritura: – Ubicar en escritura (Write allocation): El bloque se carga en la cache y a continuación se escribe sobre él (similar a un fallo en lectura) – No ubicar en escritura (No write allocatation): El bloque se modifica en el nivel inferior y no se carga en la cache. • Aunque cualquier política de fallo de escritura puede utilizarse con la escritura directa o con la postescritura, las caches copy back utilizan write allocation (CB- WA) y las write through usan no write allocation (WT- NWA) Caches unificadas vs. Caches separadas • Caches unificadas o mixtas (unified or mixed): Contienen tanto datos como instrucciones • Caches separadas (separated): Existe una cache para datos y otra para instrucciones Ventajas – No hay competencia entre el procesador de instrucciones y la unidad de ejecución – Duplicación del ancho de bus (puertos separados) – Parámetros de diseño (capacidad, tamaños de bloque, asociatividad, etc.) diferentes para instrucciones y datos (optimización).
  • 9. Inconvenientes – En general la tasa de fallos global es algo mayor (próxima transparencia): • La caches de instrucciones tienen menor frecuencia de fallos que las de datos (localidad) • La separación de instrucciones y datos elimina fallos debidos a conflictos pero al dividir también se fija el espacio de cache dedicado a cada tipo – No se equilibra la carga de trabajo de forma automática. Organización Física La memoria del computador se organiza en al menos dos niveles: memoria principal y memoria secundaria. La memoria principal ofrece un acceso rápido con un coste relativamente alto. Además, la memoria principal es volátil, es decir, no proporciona almacenamiento permanente.la memoria secundaria es más lenta y más barata que la memoria principal y, normalmente, no es volátil. De este modo, una memoria secundaria de gran capacidad puede permitir un almacenamiento a largo plazo de programas y otros, al tiempo que una memoria principal pequeña mantiene los programas y datos de uso actual. En este esquema de dos niveles, la organización del flujo de información entre la memoria principal y la memoria secundaria tienen un gran interés en el sistema. La responsabilidad de este flujo podría asignarse al programador, pero esto es impracticable e indeseable, por dos razones: 1.- la memoria principal disponible para un programa y sus datos pueden ser insuficientes. En este caso, el programador debe emplear una práctica que se conoce como superposición (overlayng), en el cual el programador y los datos se organizan de tal forma que puede haber varios módulos asignados a la misma región de memoria, con un programa principal responsable del intercambio de módulos según se necesiten. Incluso con la ayuda de herramientas de la compilación, la programación superpuesta malgasta el tiempo del programador. 2.- en un entorno multiprogramador, el programador no conoce durante la codificación cuanto espacio habrá disponible o donde estará este espacio. Resulta claro entonces que la tarea de mover información entre los dos niveles de memoria debe ser responsabilidad del sistema. Esta tarea es la esencia de la gestión de memoria.