SlideShare una empresa de Scribd logo
1 de 17
El Administrador De Memoria se refiere a los distintos métodos y operaciones que se encargan de obtener la
máxima utilidad de la memoria, organizando los procesos y programas que se ejecutan de manera tal que se
aproveche de la mejor manera posible el espacio disponible.
Para poder lograrlo, la operación principal que realiza es la de trasladar la información que deberá ser
ejecutada por el procesador, a la memoria principal. Actualmente esta administración se conoce como
Memoria Virtual ya que no es la memoria física del procesador sino una memoria virtual que la representa.
Entre algunas ventajas, esta memoria permite que el sistema cuente con una memoria más extensa teniendo la
misma memoria real, con lo que esta se puede utilizar de manera más eficiente. Y por supuesto, que los
programas que son utilizados no ocupen lugar innecesario.
Las técnicas que existen para la carga de programas en la memoria son: partición fija, que es la división de la
memoria libre en varias partes (de igual o distinto tamaño) y la partición dinámica, que son las particiones de
la memoria en tamaños que pueden ser variables, según la cantidad de memoria que necesita cada proceso.
Entre las principales operaciones que desarrolla la administración de memoria se encuentran la reubicación,
que consiste en trasladar procesos activos dentro y fuera e la memoria principal para maximizar la utilización
del procesador; la protección, mecanismos que protegen los procesos que se ejecutan de interferencias de
otros procesos; uso compartido de códigos y datos, con lo que el mecanismo de protección permite que ciertos
procesos de un mismo programa que comparten una tarea tengan memoria en común.
Características de la memoria real o física y de la memoria virtual
Memoria real o física:
 Capacidad, que representa el volumen global de información (en bits) que la memoria puede
almacenar.
 Tiempo de acceso, que corresponde al intervalo de tiempo entre la solicitud de
lectura/escritura y la disponibilidad de los datos.
 Tiempo de ciclo, que representa el intervalo de tiempo mínimo entre dos
accesos sucesivos.
 Rendimiento, que define el volumen de información intercambiado por unidad de tiempo,
expresado en bits por segundo.
 No volatilidad, que caracteriza la capacidad de una memoria para almacenar
datos cuando no recibe más electricidad.
 Existen dos tipos de memorias RAM: SRAM Y DRAM.
Memoria virtual:
 Es una combinación entre hardware especial y el sistema operativo hace uso de la memoria
principal y la secundaria para hacer parecer que el ordenador tiene mucha más memoria
principal (RAM) que la que realmente posee. Aunque la memoria virtual podría estar
implementada por el software del sistema operativo, en la práctica casi siempre se usa una
combinación de hardware y software, dado el esfuerzo extra que implicaría para el procesador.
 Este método es invisible a los procesos.
 Debido a que sólo la parte de memoria virtual que está almacenada en la memoria principal, es
accesible a la CPU.
 La memoria virtual ha llegado a ser un componente esencial de la mayoría de los S.O actuales.
Y como en un instante dado, en la memoria sólo se tienen unos pocos fragmentos de un proceso
dado, se pueden mantener más procesos en la memoria. Es más, se ahorra tiempo, porque los
fragmentos que no se usan no se cargan ni se descargan de la memoria. Sin embargo, el S.O
debe saber cómo gestionar este esquema.
 La memoria virtual también simplifica la carga del programa para su ejecución llamado
reubicación, este procedimiento permite que el mismo programa se ejecute en cualquier posición
de la memoria física.
 La cantidad de memoria máxima que se puede hacer ver que hay tiene que ver con las
características del procesador. Por ejemplo, en un sistema de 32 bits, el máximo es 232, lo
que da 4096 Megabytes (4 Gigabytes). Todo esto hace el trabajo del programador de
aplicaciones mucho más fácil, al poder ignorar completamente la necesidad de mover datos
entre los distintos espacios de memoria.
JERARQUÍA DE ALMACENAMIENTO
Cuando el diseñador se plantea lo que es la gestión de memoria del sistema debe tener en
cuenta que la memoria es unos de los recursos críticos del sistema, es crítica porque un
programa al ejecutarse debe estar cargado en M. entonces cuanta más memoria tengamos o
mejora la optimicemos más programas podremos guardar en ella.
¿Qué quiere un diseñador? Que sea barata, gran capacidad y muy rápida.
Pero no se pueden conseguir las tres cosas.
A mayor capacidad el tiempo de acceso es mucho mayor, es más lenta.
Se observa que ha mayor capacidad menor coste por bit, comparamos Módulo de memoria y
disco duro, no cuesta lo mismo un disco duro de 8 gigas que 8 gigas de memoria Ram.
A menor tiempo de acceso, si queremos memoria más rápida, el coste se nos dispara.
Los diseñadores del sistema no pueden tener un solo tipo de memoria donde alojar todoas las
memorias, existe una jerarquía de memoria.
Esa jerarquía intenta solucionar esos inconvenientes a la hora de diseñar el esquema de
memoria.
En esa jerarquía podemos ver que se cumplen una seria de condiciones:
 Al bajar de nivel aumenta la capacidad de la memoria.
 Al bajar de nivel disminuye el coste por bit.
 El registro es el más caro, luego la cache...
 Al bajar de nivel se observa que el tiempo de acceso aumenta. Acceder a un disco óptico
es más lento que a un disco magnético.
 Si seguimos bajando de nivel, disminuye la frecuencia de acceso:no es lo mismo que el
tiempo que es el tiempo que trae el dato, es el nº de veces que accede a esa memoria.
Esta es la clave del funcionamiento de la jerarquía de memoria, esa disminución de
frecuencia se debe sobre todo a lo que se llama como principio de localidad o cercanía de
referencia.
Sin embargo ese conjunto va cambiando a lo largo del tiempo.
Ese principio lo que establece es que un proceso durante su funcionamiento hacer referencia
a muchas funciones, pero durante un breve espacio de tiempo el proceso hace referencia a
un pequeño grupo de referencias.
Direcciones
simbólicas
Direcciones
relativas
Direcciones
absolutas
i
j
PROGRAM
JUMP I
LOAD J
DATA
0
400
1200
PROGRAM
JUMp 400
LOAD 1200
DATA
1024
1424
2224
PROGRAM
JUMP 1424
LOAD 2224
DATA
El proceso está definido por la imagen que si recordamos tenía:
 El Bloque de control de procesos
 Datos relativas
 Instrucciones Referencias a datos fisicas
Referencias a instrucciones: lógicas o simbólicas:
 La Pilas
Si se observa, consta de datos e instrucciones que tienen referencias a memoria,
referencias a datos y referencias a sus propias instrucciones.
Esas referencias, o direcciones, en realidad pueden ser de tres tipos:
Lógicas, relativas o absolutas.
Dir simbólicas: no tienen nada que ver con la posterior ubicación física de ese dato, son
normalmente las direcciones que emplea el programador.
Dir relativa: vienen expresadas respecto a un conjunto determinado, normalmente al principio
del programa.
Estas direciones normalmente son las que utiliza el cargador y el enlazador.
JUMP 400: desde el principio saltar 400.
Dir. absolutas o físicas: son las que realmente ocupan de memoria real, de memoria física.
Son las que realmente se usan en ejecución, el programa solo entiende de direcciones físicas,
para ellos necesitamos hacer una traducción de las simbólicas y relativas a las físicas.
Esa traducción de direcciones, también conocida como ligadura de direcciones se puede hacer
en distintos instantes, en cualquiera de las fases que hemos vistos, por las que pasa el
programa a proceso.
 Tiempo de compilación
 Tiempo de carga
 Tiempo de ejecución.
Traducción en tiempo de compilación
En tiempo de compilación o enlazado, observar que lo que tenemos que hacer es generar ya
un módulo de carga con direcciones físicas, eso implica que el programador, el cargador o el
enlazador tenga que tener conocimiento de la gestión de memoria, qué partes están libres y
qué partes están ocupadas.
Por otro lado, el modo de carga que se genera, solamente se puede ejecutar en la zona que se
haya especificado, no puede cambiar de lugar, si varía de zona tiene que volver a compilarlo
de nuevo.
Si un proceso sale de memoria y luego entra de nuevo debe ser en la misma zona de memoria.
Para solventar esos problemas la otra manera es que se realice en tiempo de carga.
Traducción en tiempo de carga
En tiempo de carga por un lado elimina que el programador conozca como se está gestionando
la memoria.
En este caso la gestión de memoria la va a realizar el cargador que decide donde va a ubicar
el proceso, pero estamos en lo mismo de antes. Puede que yo introduzca el programa en
memoria física, y ya tenga las direcciones físicas, por lo que no puedo cambiarlo de sitio.
Si un proceso se suspende, cuando se vuelve a activar se situa en la misma zona de memoria.
Traducción en tiempo de ejecución
En el último momento.
Cuando yo vaya a ejecutar la instrucción es cuando se va a traducir la dirección.
Este esquema es un método muy flexible, porque el proceso puede estar ubicado en
cualquier parte, ya que es justo cuando voy a ejecutarlo es cuando lo traduzco.
Esa traducción necesita la ayuda del hardware, y tampoco es un hardware muy complejo,
el criterio concedía el hardware necesario para realizar esa traducción en tiempo de
ejecución.
dirección base límite
dirección dirección
relativa absoluta si
CPU + <= Memoria
no
error de direccionamiento
El programa que está ubicado en memoria sólo tiene direcciones relativas, entonces las
CPU va generando todas la direcciones relativas, y nosotros le sumamos el contenido de
un registro hardware que contiene el inicio donde está ubicado el proceso, entonces
obtenemos la dirección absoluta, posteriormente podemos comparar esa Dir. absoluta con
otro registro hardware que lo que contiene es el límite de la zona de memoria ocupada
por el proceso, si está dentro del límite podremos acceder a memoria, si está fuera del
límite provocaremos un error de direccionamiento.
Observar que con dos registros hardware y una suma y comparación podemos realizar la
traducción
Proporciona un mecanismo de protección de la memoria porque si se pasa del límite que
tiene cada proceso daríamos un error de direccionamiento.
Con este esquema el proceso lo puedo poner en cualquier parte de la memoria, porque la
traducción la hago justo cuando lo voy a ejecutar.
Cada vez que cambiemos de proceso o de contesto, esos registros límite y base deben
actualizarse, y deben almacenarse en el BCP para que cada vez que cambiemos de
proceso tengamos un valor válido.
Debe conocer:
Qué zonas de la memoria están libres y qué zonas ocupadas.
Introducir los procesos en memoria.
Se encarga de asignar y desasignar memoria a los procesos conforme vayan necesitando y liberando.
Debe controlar el intercambio entre Mp y Ms.
Además de esas funciones, el administrador de memoria debe cumplir 3 requisitos:
Protección:
No solo debe proteger la zona de memoria del proceso, sino de la memoria del sistema operativo u otro proceso.
Compartición de memoria:
cuando se ejecutan dos procesos iguales, debe permitir que dos procesos compartan la memoria.
Reubicación:
Un proceso puede cambiar de zona de memoria durante su ejecución.
Este requisito tiene sentido evidentemente es sistema multiprogramado.
En un sistema mono programado no tiene sentido porque si solo hay un proceso, ¿para qué lo voy a cambiar de
sitio.
Distintos esquemas de asignación de memoria
Esquemas de gestión de memoria
∞Asignación completa y contigua: el proceso se ejecuta en una zona continua
 Máquina desnuda
 Mono programación
∞Particiones múltiples:
 Particiones fijas
 Sistema compañero
 Particiones variables.
∞Asignación completa y no contigua:
 Paginación
 Segmentación
 Segmentación-paginación
∞Asignación parcial y no contigua:
 Memoria Virtual
∞ Asignación completa y contigua:
El proceso se ejecuta en una zona continua
 Máquina desnuda: Es un sistema donde no hay S.O y no hay gestor de Memoria, quien
lleva la cuenta es el propio programador.
 Suelen ser pequeños microprocesadores, señales de humo, dedicados a una sola cosa.
∞ Mono programación: La Memoria. dividida en dos partes:
Una parte en el S.O. en un extremos de la memoria, zona alta o baja, y el resto se
deja para procesos de usuarios, ejemplos dos.
 La elección de donde se debe encontrar el S.O. vendrá dada por donde se encuentra
el vector de interrupciones, lo normal es situarlo junto al vector de interrupciones,
parte alta o baja, algunos sistemas prefieren separarlo.
 Es un sistema simple que requiere de una protección del S.O, que el proceso de
usuario no pueda acceder al S.O. Para ello necesita un registro hardware, ya sea un
único registro o dos registros.
La paginación es uno de los esquemas de manejo de memoria en donde un computador
puede almacenar y recuperar datos de un dispositivo de almacenamiento secundario
para su uso en la memoria principal. En el esquema de manejo de memoria de
paginación, el sistema operativo recupera datos desde un dispositivo de almacenamiento
secundario en bloques de un mismo tamaño llamados páginas. La principal ventaja de
paginación sobre la segmentación de memoria es que permite al espacio de dirección
física de un proceso ser no contiguo. Antes de la paginación, los sistemas debían poner
programas en almacenamiento de forma contigua, lo que causaba varios problemas de
almacenamiento y fragmentación.
El método básico para implementar paginación consiste en dividir la memoria física en bloques
de tamaño fijo llamados frames (marcos) y dividir la memoria lógica en bloques de mismo
tamaño llamados Pagés (páginas). Cuando un proceso se va a ejecutar, sus páginas son
cargadas en cualquier marco de la memoria de almacenamiento secundario. Este esta dividido
en bloques de tamaño fijo del mismo tamaño de los marcos en memoria.
 Hardware de Paginación.
El tamaño de pagina (como el marco de página) es definido por hardware. El tamaño de una
pagina es típicamente una potencia de 2, variando entre 512 B y 16 MB por pagina,
dependiendo de la arquitectura del computador. La selección de una potencia de 2 como
tamaño de página hace la traducción de una dirección lógica a un número de pagina y offset
de página algo fácil. Si el tamaño del espacio de dirección lógica es 2^m y el tamaño de
página 2^n unidades de dirección (bytes o palabras), entonces los m-n bits de mayor orden
de la dirección lógica designan el número de pagina, y los n bits de menor orden designan el
offset de página.
 Esquema Hardware de paginación.
Cualquier dirección generada por la CPU es divida en dos partes: un número de página (p) y
un offset de página (d). El número de pagina es usado como índice en una tabla de página. La
tabla de página contiene las direcciones base de cada pagina en la memoria física. Esta
dirección base es combinada con el offset de página para definir la dirección de memoria
física que es enviada a la unidad de memoria.

Más contenido relacionado

La actualidad más candente

Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
ALASBLANKS
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
manyu1
 
ENTRADAS Y SALIDAS DE UN PC
ENTRADAS Y SALIDAS DE UN PCENTRADAS Y SALIDAS DE UN PC
ENTRADAS Y SALIDAS DE UN PC
guestdb824f
 
Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2
giovatovar
 
Administracion y manejo de memoria
Administracion y manejo de memoriaAdministracion y manejo de memoria
Administracion y manejo de memoria
giovatovar
 
Asignación de memoria
Asignación de memoriaAsignación de memoria
Asignación de memoria
guestca1de2e
 
Grupo1 Hhh
Grupo1 HhhGrupo1 Hhh
Grupo1 Hhh
betzi.15
 
Capítulo 4 - Libro Azúl (Profesor)
Capítulo 4 - Libro Azúl (Profesor)Capítulo 4 - Libro Azúl (Profesor)
Capítulo 4 - Libro Azúl (Profesor)
fredur
 
4 Administracion De Memoria
4 Administracion De Memoria4 Administracion De Memoria
4 Administracion De Memoria
UVM
 
Administración de memoras
Administración de memorasAdministración de memoras
Administración de memoras
Juan Bustamante
 

La actualidad más candente (20)

Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
ADMINISTRACION DE MEMORIA
ADMINISTRACION DE MEMORIAADMINISTRACION DE MEMORIA
ADMINISTRACION DE MEMORIA
 
Gestion de Memoria
Gestion de MemoriaGestion de Memoria
Gestion de Memoria
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
ENTRADAS Y SALIDAS DE UN PC
ENTRADAS Y SALIDAS DE UN PCENTRADAS Y SALIDAS DE UN PC
ENTRADAS Y SALIDAS DE UN PC
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoria
 
Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 
Conseptos BáSicos De Sistemas Operativos
Conseptos BáSicos De Sistemas OperativosConseptos BáSicos De Sistemas Operativos
Conseptos BáSicos De Sistemas Operativos
 
Administracion y manejo de memoria
Administracion y manejo de memoriaAdministracion y manejo de memoria
Administracion y manejo de memoria
 
Asignación de memoria
Asignación de memoriaAsignación de memoria
Asignación de memoria
 
Capitulo3
Capitulo3Capitulo3
Capitulo3
 
Tc2 paso3
Tc2 paso3Tc2 paso3
Tc2 paso3
 
Grupo1 Hhh
Grupo1 HhhGrupo1 Hhh
Grupo1 Hhh
 
Tecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de Memoria
 
administración de memoria y archivos
administración de memoria y archivosadministración de memoria y archivos
administración de memoria y archivos
 
Ec7
Ec7Ec7
Ec7
 
Capítulo 4 - Libro Azúl (Profesor)
Capítulo 4 - Libro Azúl (Profesor)Capítulo 4 - Libro Azúl (Profesor)
Capítulo 4 - Libro Azúl (Profesor)
 
4 Administracion De Memoria
4 Administracion De Memoria4 Administracion De Memoria
4 Administracion De Memoria
 
Administración de memoras
Administración de memorasAdministración de memoras
Administración de memoras
 

Similar a tercera unidad :3

Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2
giovatovar
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
Jammil Ramos
 
Coordinacion Y Sincronizacion De Procesos
Coordinacion  Y  Sincronizacion  De  ProcesosCoordinacion  Y  Sincronizacion  De  Procesos
Coordinacion Y Sincronizacion De Procesos
Jessica Suarez
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
UCC
 

Similar a tercera unidad :3 (20)

Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoria
 
7 memoria cache
7 memoria cache7 memoria cache
7 memoria cache
 
Clase 8 de sio administracion de la memoria
Clase 8 de sio administracion de la memoriaClase 8 de sio administracion de la memoria
Clase 8 de sio administracion de la memoria
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Unidad 3 el administrador de memoria
Unidad 3 el administrador de memoriaUnidad 3 el administrador de memoria
Unidad 3 el administrador de memoria
 
Gestión de memoria
Gestión de memoriaGestión de memoria
Gestión de memoria
 
Memoria en los SO
Memoria en los SOMemoria en los SO
Memoria en los SO
 
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
 
Coordinacion Y Sincronizacion De Procesos
Coordinacion  Y  Sincronizacion  De  ProcesosCoordinacion  Y  Sincronizacion  De  Procesos
Coordinacion Y Sincronizacion De Procesos
 
Cuestionario terminado
Cuestionario terminadoCuestionario terminado
Cuestionario terminado
 
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
 
Gestion de particiones de memoria.ppt
Gestion de particiones de memoria.pptGestion de particiones de memoria.ppt
Gestion de particiones de memoria.ppt
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principal
 
Trabajo tema 6 memoria
Trabajo tema 6 memoriaTrabajo tema 6 memoria
Trabajo tema 6 memoria
 

Último

RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
pvtablets2023
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
NadiaMartnez11
 

Último (20)

Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 

tercera unidad :3

  • 1.
  • 2. El Administrador De Memoria se refiere a los distintos métodos y operaciones que se encargan de obtener la máxima utilidad de la memoria, organizando los procesos y programas que se ejecutan de manera tal que se aproveche de la mejor manera posible el espacio disponible. Para poder lograrlo, la operación principal que realiza es la de trasladar la información que deberá ser ejecutada por el procesador, a la memoria principal. Actualmente esta administración se conoce como Memoria Virtual ya que no es la memoria física del procesador sino una memoria virtual que la representa. Entre algunas ventajas, esta memoria permite que el sistema cuente con una memoria más extensa teniendo la misma memoria real, con lo que esta se puede utilizar de manera más eficiente. Y por supuesto, que los programas que son utilizados no ocupen lugar innecesario. Las técnicas que existen para la carga de programas en la memoria son: partición fija, que es la división de la memoria libre en varias partes (de igual o distinto tamaño) y la partición dinámica, que son las particiones de la memoria en tamaños que pueden ser variables, según la cantidad de memoria que necesita cada proceso. Entre las principales operaciones que desarrolla la administración de memoria se encuentran la reubicación, que consiste en trasladar procesos activos dentro y fuera e la memoria principal para maximizar la utilización del procesador; la protección, mecanismos que protegen los procesos que se ejecutan de interferencias de otros procesos; uso compartido de códigos y datos, con lo que el mecanismo de protección permite que ciertos procesos de un mismo programa que comparten una tarea tengan memoria en común.
  • 3. Características de la memoria real o física y de la memoria virtual Memoria real o física:  Capacidad, que representa el volumen global de información (en bits) que la memoria puede almacenar.  Tiempo de acceso, que corresponde al intervalo de tiempo entre la solicitud de lectura/escritura y la disponibilidad de los datos.  Tiempo de ciclo, que representa el intervalo de tiempo mínimo entre dos accesos sucesivos.  Rendimiento, que define el volumen de información intercambiado por unidad de tiempo, expresado en bits por segundo.  No volatilidad, que caracteriza la capacidad de una memoria para almacenar datos cuando no recibe más electricidad.  Existen dos tipos de memorias RAM: SRAM Y DRAM.
  • 4. Memoria virtual:  Es una combinación entre hardware especial y el sistema operativo hace uso de la memoria principal y la secundaria para hacer parecer que el ordenador tiene mucha más memoria principal (RAM) que la que realmente posee. Aunque la memoria virtual podría estar implementada por el software del sistema operativo, en la práctica casi siempre se usa una combinación de hardware y software, dado el esfuerzo extra que implicaría para el procesador.  Este método es invisible a los procesos.  Debido a que sólo la parte de memoria virtual que está almacenada en la memoria principal, es accesible a la CPU.  La memoria virtual ha llegado a ser un componente esencial de la mayoría de los S.O actuales. Y como en un instante dado, en la memoria sólo se tienen unos pocos fragmentos de un proceso dado, se pueden mantener más procesos en la memoria. Es más, se ahorra tiempo, porque los fragmentos que no se usan no se cargan ni se descargan de la memoria. Sin embargo, el S.O debe saber cómo gestionar este esquema.  La memoria virtual también simplifica la carga del programa para su ejecución llamado reubicación, este procedimiento permite que el mismo programa se ejecute en cualquier posición de la memoria física.  La cantidad de memoria máxima que se puede hacer ver que hay tiene que ver con las características del procesador. Por ejemplo, en un sistema de 32 bits, el máximo es 232, lo que da 4096 Megabytes (4 Gigabytes). Todo esto hace el trabajo del programador de aplicaciones mucho más fácil, al poder ignorar completamente la necesidad de mover datos entre los distintos espacios de memoria.
  • 5.
  • 6. JERARQUÍA DE ALMACENAMIENTO Cuando el diseñador se plantea lo que es la gestión de memoria del sistema debe tener en cuenta que la memoria es unos de los recursos críticos del sistema, es crítica porque un programa al ejecutarse debe estar cargado en M. entonces cuanta más memoria tengamos o mejora la optimicemos más programas podremos guardar en ella. ¿Qué quiere un diseñador? Que sea barata, gran capacidad y muy rápida. Pero no se pueden conseguir las tres cosas. A mayor capacidad el tiempo de acceso es mucho mayor, es más lenta. Se observa que ha mayor capacidad menor coste por bit, comparamos Módulo de memoria y disco duro, no cuesta lo mismo un disco duro de 8 gigas que 8 gigas de memoria Ram. A menor tiempo de acceso, si queremos memoria más rápida, el coste se nos dispara. Los diseñadores del sistema no pueden tener un solo tipo de memoria donde alojar todoas las memorias, existe una jerarquía de memoria. Esa jerarquía intenta solucionar esos inconvenientes a la hora de diseñar el esquema de memoria.
  • 7. En esa jerarquía podemos ver que se cumplen una seria de condiciones:  Al bajar de nivel aumenta la capacidad de la memoria.  Al bajar de nivel disminuye el coste por bit.  El registro es el más caro, luego la cache...  Al bajar de nivel se observa que el tiempo de acceso aumenta. Acceder a un disco óptico es más lento que a un disco magnético.  Si seguimos bajando de nivel, disminuye la frecuencia de acceso:no es lo mismo que el tiempo que es el tiempo que trae el dato, es el nº de veces que accede a esa memoria. Esta es la clave del funcionamiento de la jerarquía de memoria, esa disminución de frecuencia se debe sobre todo a lo que se llama como principio de localidad o cercanía de referencia. Sin embargo ese conjunto va cambiando a lo largo del tiempo. Ese principio lo que establece es que un proceso durante su funcionamiento hacer referencia a muchas funciones, pero durante un breve espacio de tiempo el proceso hace referencia a un pequeño grupo de referencias.
  • 8. Direcciones simbólicas Direcciones relativas Direcciones absolutas i j PROGRAM JUMP I LOAD J DATA 0 400 1200 PROGRAM JUMp 400 LOAD 1200 DATA 1024 1424 2224 PROGRAM JUMP 1424 LOAD 2224 DATA El proceso está definido por la imagen que si recordamos tenía:  El Bloque de control de procesos  Datos relativas  Instrucciones Referencias a datos fisicas Referencias a instrucciones: lógicas o simbólicas:  La Pilas Si se observa, consta de datos e instrucciones que tienen referencias a memoria, referencias a datos y referencias a sus propias instrucciones. Esas referencias, o direcciones, en realidad pueden ser de tres tipos: Lógicas, relativas o absolutas.
  • 9. Dir simbólicas: no tienen nada que ver con la posterior ubicación física de ese dato, son normalmente las direcciones que emplea el programador. Dir relativa: vienen expresadas respecto a un conjunto determinado, normalmente al principio del programa. Estas direciones normalmente son las que utiliza el cargador y el enlazador. JUMP 400: desde el principio saltar 400. Dir. absolutas o físicas: son las que realmente ocupan de memoria real, de memoria física. Son las que realmente se usan en ejecución, el programa solo entiende de direcciones físicas, para ellos necesitamos hacer una traducción de las simbólicas y relativas a las físicas. Esa traducción de direcciones, también conocida como ligadura de direcciones se puede hacer en distintos instantes, en cualquiera de las fases que hemos vistos, por las que pasa el programa a proceso.  Tiempo de compilación  Tiempo de carga  Tiempo de ejecución.
  • 10. Traducción en tiempo de compilación En tiempo de compilación o enlazado, observar que lo que tenemos que hacer es generar ya un módulo de carga con direcciones físicas, eso implica que el programador, el cargador o el enlazador tenga que tener conocimiento de la gestión de memoria, qué partes están libres y qué partes están ocupadas. Por otro lado, el modo de carga que se genera, solamente se puede ejecutar en la zona que se haya especificado, no puede cambiar de lugar, si varía de zona tiene que volver a compilarlo de nuevo. Si un proceso sale de memoria y luego entra de nuevo debe ser en la misma zona de memoria. Para solventar esos problemas la otra manera es que se realice en tiempo de carga. Traducción en tiempo de carga En tiempo de carga por un lado elimina que el programador conozca como se está gestionando la memoria. En este caso la gestión de memoria la va a realizar el cargador que decide donde va a ubicar el proceso, pero estamos en lo mismo de antes. Puede que yo introduzca el programa en memoria física, y ya tenga las direcciones físicas, por lo que no puedo cambiarlo de sitio. Si un proceso se suspende, cuando se vuelve a activar se situa en la misma zona de memoria.
  • 11. Traducción en tiempo de ejecución En el último momento. Cuando yo vaya a ejecutar la instrucción es cuando se va a traducir la dirección. Este esquema es un método muy flexible, porque el proceso puede estar ubicado en cualquier parte, ya que es justo cuando voy a ejecutarlo es cuando lo traduzco. Esa traducción necesita la ayuda del hardware, y tampoco es un hardware muy complejo, el criterio concedía el hardware necesario para realizar esa traducción en tiempo de ejecución. dirección base límite dirección dirección relativa absoluta si CPU + <= Memoria no error de direccionamiento
  • 12. El programa que está ubicado en memoria sólo tiene direcciones relativas, entonces las CPU va generando todas la direcciones relativas, y nosotros le sumamos el contenido de un registro hardware que contiene el inicio donde está ubicado el proceso, entonces obtenemos la dirección absoluta, posteriormente podemos comparar esa Dir. absoluta con otro registro hardware que lo que contiene es el límite de la zona de memoria ocupada por el proceso, si está dentro del límite podremos acceder a memoria, si está fuera del límite provocaremos un error de direccionamiento. Observar que con dos registros hardware y una suma y comparación podemos realizar la traducción Proporciona un mecanismo de protección de la memoria porque si se pasa del límite que tiene cada proceso daríamos un error de direccionamiento. Con este esquema el proceso lo puedo poner en cualquier parte de la memoria, porque la traducción la hago justo cuando lo voy a ejecutar. Cada vez que cambiemos de proceso o de contesto, esos registros límite y base deben actualizarse, y deben almacenarse en el BCP para que cada vez que cambiemos de proceso tengamos un valor válido.
  • 13. Debe conocer: Qué zonas de la memoria están libres y qué zonas ocupadas. Introducir los procesos en memoria. Se encarga de asignar y desasignar memoria a los procesos conforme vayan necesitando y liberando. Debe controlar el intercambio entre Mp y Ms. Además de esas funciones, el administrador de memoria debe cumplir 3 requisitos: Protección: No solo debe proteger la zona de memoria del proceso, sino de la memoria del sistema operativo u otro proceso. Compartición de memoria: cuando se ejecutan dos procesos iguales, debe permitir que dos procesos compartan la memoria. Reubicación: Un proceso puede cambiar de zona de memoria durante su ejecución. Este requisito tiene sentido evidentemente es sistema multiprogramado. En un sistema mono programado no tiene sentido porque si solo hay un proceso, ¿para qué lo voy a cambiar de sitio.
  • 14. Distintos esquemas de asignación de memoria Esquemas de gestión de memoria ∞Asignación completa y contigua: el proceso se ejecuta en una zona continua  Máquina desnuda  Mono programación ∞Particiones múltiples:  Particiones fijas  Sistema compañero  Particiones variables. ∞Asignación completa y no contigua:  Paginación  Segmentación  Segmentación-paginación ∞Asignación parcial y no contigua:  Memoria Virtual
  • 15. ∞ Asignación completa y contigua: El proceso se ejecuta en una zona continua  Máquina desnuda: Es un sistema donde no hay S.O y no hay gestor de Memoria, quien lleva la cuenta es el propio programador.  Suelen ser pequeños microprocesadores, señales de humo, dedicados a una sola cosa. ∞ Mono programación: La Memoria. dividida en dos partes: Una parte en el S.O. en un extremos de la memoria, zona alta o baja, y el resto se deja para procesos de usuarios, ejemplos dos.  La elección de donde se debe encontrar el S.O. vendrá dada por donde se encuentra el vector de interrupciones, lo normal es situarlo junto al vector de interrupciones, parte alta o baja, algunos sistemas prefieren separarlo.  Es un sistema simple que requiere de una protección del S.O, que el proceso de usuario no pueda acceder al S.O. Para ello necesita un registro hardware, ya sea un único registro o dos registros.
  • 16. La paginación es uno de los esquemas de manejo de memoria en donde un computador puede almacenar y recuperar datos de un dispositivo de almacenamiento secundario para su uso en la memoria principal. En el esquema de manejo de memoria de paginación, el sistema operativo recupera datos desde un dispositivo de almacenamiento secundario en bloques de un mismo tamaño llamados páginas. La principal ventaja de paginación sobre la segmentación de memoria es que permite al espacio de dirección física de un proceso ser no contiguo. Antes de la paginación, los sistemas debían poner programas en almacenamiento de forma contigua, lo que causaba varios problemas de almacenamiento y fragmentación.
  • 17. El método básico para implementar paginación consiste en dividir la memoria física en bloques de tamaño fijo llamados frames (marcos) y dividir la memoria lógica en bloques de mismo tamaño llamados Pagés (páginas). Cuando un proceso se va a ejecutar, sus páginas son cargadas en cualquier marco de la memoria de almacenamiento secundario. Este esta dividido en bloques de tamaño fijo del mismo tamaño de los marcos en memoria.  Hardware de Paginación. El tamaño de pagina (como el marco de página) es definido por hardware. El tamaño de una pagina es típicamente una potencia de 2, variando entre 512 B y 16 MB por pagina, dependiendo de la arquitectura del computador. La selección de una potencia de 2 como tamaño de página hace la traducción de una dirección lógica a un número de pagina y offset de página algo fácil. Si el tamaño del espacio de dirección lógica es 2^m y el tamaño de página 2^n unidades de dirección (bytes o palabras), entonces los m-n bits de mayor orden de la dirección lógica designan el número de pagina, y los n bits de menor orden designan el offset de página.  Esquema Hardware de paginación. Cualquier dirección generada por la CPU es divida en dos partes: un número de página (p) y un offset de página (d). El número de pagina es usado como índice en una tabla de página. La tabla de página contiene las direcciones base de cada pagina en la memoria física. Esta dirección base es combinada con el offset de página para definir la dirección de memoria física que es enviada a la unidad de memoria.