SlideShare uma empresa Scribd logo
1 de 9
Baixar para ler offline
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.

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante 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
 

Semelhante 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

DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJOLeninCariMogrovejo
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.karlazoegarciagarcia
 
Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Gonella
 
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2Eliseo Delgado
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxMartaChaparro1
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfmiriamguevara21
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...MagalyDacostaPea
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOEveliaHernandez8
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacionviviantorres91
 
Descripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraDescripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraJose Sanchez
 
BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................ScarletMedina4
 
historieta materia de ecologías producto
historieta materia de ecologías productohistorieta materia de ecologías producto
historieta materia de ecologías productommartinezmarquez30
 
Programa sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfPrograma sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfHannyDenissePinedaOr
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docxMagalyDacostaPea
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FJulio Lozano
 

Último (20)

DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
 
Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2
 
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdf
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
Sesión ¿Amor o egoísmo? Esa es la cuestión
Sesión  ¿Amor o egoísmo? Esa es la cuestiónSesión  ¿Amor o egoísmo? Esa es la cuestión
Sesión ¿Amor o egoísmo? Esa es la cuestión
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacion
 
Descripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraDescripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldadura
 
BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................
 
historieta materia de ecologías producto
historieta materia de ecologías productohistorieta materia de ecologías producto
historieta materia de ecologías producto
 
Acuerdo segundo periodo - Grado Septimo.pptx
Acuerdo segundo periodo - Grado Septimo.pptxAcuerdo segundo periodo - Grado Septimo.pptx
Acuerdo segundo periodo - Grado Septimo.pptx
 
Programa sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfPrograma sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdf
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
 

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.