SlideShare a Scribd company logo
1 of 57
Administración
de memoria
Prof. Pablo Macón
profemacon@gmail.com
http://pablomacon.wix.com/home/
Jerarquía de Memoria
Jerarquía de Memoria - Registros del CPU
La CPU debe obtener las instrucciones de la memoria y las
ejecutarlas.
Toma la primera instrucción de la memoria, la decodifica
para determinar su tipo y operandos, la ejecuta y después el
ciclo se repite hasta que el programa termina.
Jerarquía de Memoria - Registros del CPU
Como el acceso a la memoria RAM principal para obtener
una instrucción o palabra de datos requiere mucho más
tiempo que ejecutar una instrucción, todas las CPU
contienen ciertos registros en su interior para contener las
variables clave y los resultados temporales.
Jerarquía de Memoria - Registros del CPU
Están al tope de la jerarquía de memoria de una PC.
Están compuestos del mismo material que la CPU y tienen
la misma rapidez. No hay retraso a la hora de utilizarlos.
La CPU puede acceder a los datos de los registros en 10
picosegundos (0,000.000.000.010 seg) (1 segundo dividido
por 100.000.000.000)
Jerarquía de Memoria - Registros del CPU
La capacidad de almacenamiento es generalmente de:
32 x 32 bits en una CPU de 32 bits
64 x 64 bits en una CPU de 64 bits.
Menos de 1 KB en ambos casos.
Jerarquía de Memoria - Caché
El siguiente nivel en la jerarquía de memoria es la caché.
Hoy por hoy las CPU tienen hasta 3 niveles de esta
memoria.
Cada nivel de caché es más grande, lenta y barata que la
anterior.
Jerarquía de Memoria - Caché
Cuando el programa necesita leer una palabra de memoria,
primero se comprueba si la línea que se requiere se
encuentra en la caché.
Si está (acierto de caché), la petición se cumple y no se pide
a la memoria RAM.
Jerarquía de Memoria - Caché
Los aciertos de caché por lo general requieren un tiempo
aproximado de dos ciclos de reloj.
Los fallos de caché obligan a ir a memoria principal, con un
castigo considerable de tiempo.
Jerarquía de Memoria - Caché
Caché de nivel 1
Está en el mismo núcleo del procesador, así que es el más
rápido de todos.
Se guardan datos e instrucciones de uso muy frecuente
Su capacidad es de hasta 128 kb
Jerarquía de Memoria - Caché
Caché de nivel 2
Es más lenta que la caché L1, pero más rápida que la
memoria RAM.
Se encuentra en el procesador, pero no en su núcleo.
Su capacidad es de hasta 1 Mb.
Jerarquía de Memoria - Caché
Caché de nivel 3
Se agiliza el acceso a datos e instrucciones que no fueron
localizadas en L1 o L2.
Es generalmente de un mayor tamaño que la L2 y ayuda a
que el sistema guarde gran cantidad de información
agilizando las tareas del procesador.
Jerarquía de Memoria - Caché
Como la idea es poner en las cachés los datos que más se
utilizan o se van a utilizar, la creación de algoritmos de
reemplazo es uno de los problemas que más se piensan
durante la programación de SO.
¿Qué elemento tengo que poner y en qué nivel de caché?
¿Qué elemento saco cuando tengo que poner uno nuevo?
Jerarquía de Memoria - Memoria Principal
Es la memoria más grande e importante del sistema
Tiene que dividirse entre todos los programas que están
ejecución por lo que tiene que ser lo más abundante posible
Hoy en día tenemos memorias de hasta 16 Gb
Jerarquía de Memoria - Memoria Principal
Cuando el procesador no encuentra un dato en alguna de
las caché, debe ir a buscarlo a la memoria principal
Dependiendo del tipo de memoria y de la velocidad de los
buses del sistema (placa madre) puede demorarse entre 5 y
250 nano segundos (entre 100 y 10000 veces más lento que
el acceso a caché)
Jerarquía de Memoria - Memoria Principal
Las principales características de esta memoria son:
Es de acceso aleatorio (acceder a un dato en cualquier
posición requiere el mismo tiempo)
Es volátil, cuando se quita la energía se eliminan los datos
Cada cierto tiempo los capacitores se descargan, por lo que
deben volver a cargarse (refresco)
Jerarquía de Memoria - Disco Magnético
Cuando la memoria principal no alcanza para guardar los
datos de todos los programas que se están ejecutando,
debemos utilizar un dispositivo que tenga esa capacidad.
Un disco magnético, es muy barato en relación cantidad a
almacenar, pero es muy lento (0,010 segundos contra
0,000.000.050 segundos)
Intercambio - Memoria Virtual
Jerarquía de Memoria - Cinta Magnética
Es el elemento más lento del sistema, pero es, por lejos el
más económico
Para acceder a un elemento guardado en una cinta se debe
debe adelantar o atrasar hasta encontrar el lugar correcto.
Administrador de Memoria
Componente del sistema operativo que administra (parte
de) la jerarquía de memoria de una computadora.
Su trabajo es administrar la memoria con eficiencia:
llevar el registro de cuáles partes de la memoria están en
uso
asignar memoria a los procesos cuando la necesiten
desasignarla cuando terminen.
Administrador de Memoria
Para poder realizar su trabajo se necesita un cierto grado de
abstracción, y tratar a todos los componentes destinados a
servir como memoria como si fueran uno solo, aunque en
realidad tienen características muy diferentes
Cuando no hay abstracción
Los programas acceden directamente a toda la memoria.
Esto crea el problema de que no hay control de dónde se
escriben los datos nuevos
Los programas pueden escribir en zonas donde hay datos
de otros programas, produciéndose un error en la lectura y
la falla de los procesos
Cuando no hay abstracción
Cuando no hay abstracción
No es muy fácil ejecutar varios procesos a la vez. Por más
que se encuentre una solución parcial, siempre cabe la
posibilidad de que un error del SW provoque que un
programa quiera utilizar la memoria reservada a otro
proceso (incluso el del Sistema Operativo) lo que provocaría
un error fatal y el cierre de los procesos involucrados
Primera Abstracción: Espacio de Direcciones
Crea un tipo de memoria abstracta para que los programas
vivan ahí.
Un espacio de direcciones (address space) es el conjunto
de direcciones que puede utilizar un proceso para
direccionar la memoria y guardar sus datos.
Primera Abstracción: Espacio de Direcciones
Cada proceso tiene su propio espacio de direcciones,
independiente de los que pertenecen a otros procesos
(excepto en ciertas circunstancias especiales en donde los
procesos desean compartir sus espacios de direcciones).
Un programa se carga en el primer espacio de memoria
suficientemente grande como para caber entero.
Primera Abstracción: Espacio de Direcciones
El primer problema al que se enfrenta el SO es que durante
diferentes ejecuciones el proceso se va a cargar en
diferentes espacios de memoria.
¿cómo hacer para que cuando el programa pida la posición
de memoria x (no cambia de ejecución a ejecución), el SO
entregue la posición correcta y no trate de leer en la
posición física x?
Primera Abstracción: Espacio de Direcciones
La solución más sencilla es que junto con el estado del
programa, se creen dos registros:
Base: primer dirección de memoria del proceso
Límite: el tamaño total de la memoria usada por el proceso
Primera Abstracción: Espacio de Direcciones
Cuando el proceso pida la posición 28, el SO va a sumar 28
a la base y verificar que el número obtenido no supere al
límite.
Esta solución tiene el problema de que cada vez que se va
a ejecutar dos operaciones, lo que requiere más tiempo de
procesamiento.
Segunda Abstracción: Paginación
Otro problema al que nos enfrentamos cuando queremos
cargar varios programas a la vez, se da cuando el programa
no entra completo en un espacio de la memoria.
Segunda Abstracción: Paginación
En este caso, pueden ocurrir dos cosas:
● Que queden espacios demasiado pequeños entre
procesos cuando un proceso se quita de la memoria
● Que un proceso sea demasiado grande para la memoria
que queda al final del espacio disponible
Segunda Abstracción: Paginación
Un proceso se divide en páginas, todas del mismo tamaño,
excepto la última
La memoria se divide en marcos, con el mismo tamaño que
las páginas en que se dividen los procesos.
Para evitar la fragmentación de la memoria, un proceso se
puede colocar en marcos separados.
Segunda Abstracción: Paginación
Supongamos que tenemos cuatro procesos para cargar en
la memoria en diferentes momentos:
Proceso A que se divide en 4 páginas
Proceso B en 3 páginas - Proceso C también 4 páginas
Proceso D utiliza 5 páginas
Segunda Abstracción: Paginación
Nuestra memoria dispone de 15 marcos
Si sumamos, 4 + 3 + 4 + 5 = 16 páginas
En un primer momento tenemos cargados los procesos A, B
y C
Segunda Abstracción: Paginación
Nuestra memoria dispone de 15 marcos
Si sumamos, 4 + 3 + 4 + 5 = 16 páginas
En un primer momento tenemos cargados
los procesos A, B y C
Segunda Abstracción: Paginación
En un segundo momento el proceso B se
envía a disco (se suspende) dejando libres
los tres marcos que estaba utilizando
Segunda Abstracción: Paginación
Luego cuando tenemos que cargar el
proceso D
Para ello usamos primero los tres marcos
dejados por B y luego 2 marcos más de los
que están después de C
Segunda Abstracción: Paginación
Ahora bien, para poder recuperar una posición de memoria,
ya no nos alcanza con dos registros (Base y límite) como
teníamos, sino que necesitamos algo más complejo.
En concreto el Sistema Operativo guarda una tabla con las
páginas y los marcos de memoria que se utilizan
Segunda Abstracción: Paginación
La Gestión de Memoria llevada a cabo por la MMU mediante
el espacio de direcciones y la paginación implica:
1. Todas las referencias a la memoria que se hacen dentro
de un proceso se refieren a direcciones lógicas que
deben ser traducidas a las direcciones físicas durante la
ejecución
Segunda Abstracción: Paginación
La Gestión de Memoria llevada a cabo por la MMU mediante
el espacio de direcciones y la paginación implica:
2. Un proceso puede dividirse en varias páginas o
segmentos y estos no tienen por qué estar todos juntos,
ya que se le puede seguir el rastro mediante una tabla
Tercera Abstracción: Memoria Virtual
Cuando se inicia un proceso, el sistema operativo carga en
memoria únicamente algunas porciones del programa y de
los datos necesarios para ejecutarlo.
Esta porción se mantiene todo el tiempo en la Memoria
Principal y se denomina “conjunto residente del proceso”.
Tercera Abstracción: Memoria Virtual
Mientras las peticiones a memoria se encuentren dentro de
este conjunto residente, el sistema operativo no necesita
traer otras partes del proceso a memoria.
Ese resto está, por ahora, guardado en el disco duro.
El programador y el usuario no tienen por qué saber que
esto es así.
Tercera Abstracción: Memoria Virtual
Cuando el procesador encuentra una dirección lógica la
traduce a una dirección física, si resulta que la página donde
está esa dirección lógica no está cargada en memoria
genera una interrupción indicando el fallo de acceso a
memoria.
Tercera Abstracción: Memoria Virtual
El sistema operativo bloquea al proceso e inicia una petición
de E/S trayendo los datos desde el disco hacia l memoria
principal.
¿Qué hace el Sistema Operativo luego de bloquear a un
proceso?
Tercera Abstracción: Memoria Virtual
Cuando las páginas requeridas ya fueron cargadas en la
memoria principal, se genera una nueva interrupción.
El sistema operativo puede retomar el control, quitar del
procesador al proceso que se estaba ejecutando y volver a
ejecutar al proceso que le faltaban los datos.
Tercera Abstracción: Memoria Virtual
Debido a que un proceso ejecuta sólo en la memoria
principal, esta memoria se denomina memoria real.
Pero el programador o el usuario perciben una memoria
potencialmente mucho más grande —la cual se encuentra
localizada en disco. Esta última se denomina memoria
virtual.
Tercera Abstracción: Memoria Virtual
La memoria virtual permite una multiprogramación muy
efectiva que libera al usuario de las restricciones
excesivamente fuertes de la memoria principal.
Puede haber más procesos ejecutándose
Un proceso puede ser más grande que la memoria principal
Tercera Abstracción: Memoria Virtual
Un posible problema al que hay que estar atentos es que si
tengo muchos procesos en memoria (algunos segmentos de
cada proceso), voy a tener que ir y venir al disco con
demasiada frecuencia y además voy a tener que sacar lo
que considere innecesario para hacer lugar.
¿Qué pasa si saco de la memoria algo que voy a utilizar
enseguida? Que pierdo mucho tiempo en operaciones E/S
Tercera Abstracción: Memoria Virtual
Principio de proximidad:
Las referencias al programa y a los datos dentro de un
proceso tienden a agruparse.
Por tanto, se presume que sólo unas pocas porciones del
proceso se necesitarán a lo largo de un periodo de tiempo
corto.
Tercera Abstracción: Memoria Virtual
Principio de proximidad:
También, es posible hacer suposiciones inteligentes sobre
cuáles son las porciones del proceso que se necesitarán en
un futuro próximo, para evitar el problema de cargar y
descargar porciones de un proceso en memoria.
Tercera Abstracción: Memoria Virtual
Área de Intercambio:
Es el lugar físico que se utiliza para alojar la memoria virtual.
Los sistemas operativos tienen diferentes formas de
establecer una zona exclusiva del disco para la memoria
virtual.
Tercera Abstracción: Memoria Virtual
Área de Intercambio - Archivo de Paginación:
Es un archivo de gran tamaño
Forma parte del mismo sistema de archivos
Puede cambiar de tamaño o tener un tamaño fijo
Es fácil crear, borrar o cambiar un archivo
Tercera Abstracción: Memoria Virtual
Área de Intercambio - Archivo de Paginación:
Desventajas:
Puede verse afectado por la fragmentación propia de los
archivos comunes
En las particiones pequeñas puede ocupar casi todo el
espacio
Tercera Abstracción: Memoria Virtual
Área de Intercambio - Archivo de Paginación:
Es utilizado sobre todo por los sistemas Windows
archivo oculto pagefile.sys (normalmente en C:)
Para configurarlo: Configuración avanzada del sistema ->
Rendimiento -> pestaña Opciones Avanzadas -> Memoria
Virtual
Tercera Abstracción: Memoria Virtual
Área de Intercambio - Archivo de Paginación:
Se puede configurar tamaño fijo (normalmente 1 ½ el
tamaño de la memoria RAM)
Se puede configurar un mínimo y un máximo
Se puede configurar que el sistema operativo administre
automáticamente el tamaño
Tercera Abstracción: Memoria Virtual
Área de Intercambio - Partición Swap:
En lugar de ocupar espacio en el sistema de archivos, se
crea una partición específica para la memoria virtual
No tiene problema de fragmentación del espacio
Tiene un tamaño fijo (normalmente el doble de la RAM)
Se puede colocar en la zona más rápida del disco (al
principio)
Tercera Abstracción: Memoria Virtual
Área de Intercambio - Partición Swap:
Desventajas:
No es tan sencillo particionar un disco
Siempre ocupa el mismo espacio del disco, aunque no
se utilice el 100%
Tercera Abstracción: Memoria Virtual
Área de Intercambio - Partición Swap:
Utilizado por los sistemas Unix - Linux
Al momento de instalar el sistema se puede configurar el
tamaño

More Related Content

What's hot

Bases distribuidas en mysql
Bases distribuidas en mysqlBases distribuidas en mysql
Bases distribuidas en mysql
Giovanni Peruch
 
Tabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacionTabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacion
MarioS1093
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUAL
andresinf
 

What's hot (20)

Gestion de procesos Android
Gestion de procesos AndroidGestion de procesos Android
Gestion de procesos Android
 
Administración de memoria en java
Administración de memoria en javaAdministración de memoria en java
Administración de memoria en java
 
Estados de un proceso
Estados de un procesoEstados de un proceso
Estados de un proceso
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoria
 
Round robin apa
Round robin apaRound robin apa
Round robin apa
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativos
 
Sistema de archivos y directorios - Ubuntu - Compendio
Sistema de archivos y directorios - Ubuntu - CompendioSistema de archivos y directorios - Ubuntu - Compendio
Sistema de archivos y directorios - Ubuntu - Compendio
 
Tecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de Memoria
 
Segmentacion de memoria
Segmentacion de memoriaSegmentacion de memoria
Segmentacion de memoria
 
5.5 mecanismos de acceso a los archivos
5.5 mecanismos de acceso a los archivos5.5 mecanismos de acceso a los archivos
5.5 mecanismos de acceso a los archivos
 
Bases distribuidas en mysql
Bases distribuidas en mysqlBases distribuidas en mysql
Bases distribuidas en mysql
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
 
Tabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacionTabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacion
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUAL
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Interbloqueo
InterbloqueoInterbloqueo
Interbloqueo
 
Manual de instalacion de Mongo db
Manual de instalacion de Mongo dbManual de instalacion de Mongo db
Manual de instalacion de Mongo db
 
1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos
 
Administración de memoria el linux
Administración de memoria el linuxAdministración de memoria el linux
Administración de memoria el linux
 

Similar to Administración de Memoria - Sistemas Operativos

tercera unidad :3
tercera unidad :3tercera unidad :3
tercera unidad :3
irisdelc
 
4 memoria
4 memoria4 memoria
4 memoria
KRNFORD
 
Previo3 - Dispositivos de E/S
Previo3 - Dispositivos de E/SPrevio3 - Dispositivos de E/S
Previo3 - Dispositivos de E/S
Bertha Vega
 
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 parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2
giovatovar
 

Similar to Administración de Memoria - Sistemas Operativos (20)

Tipos de memoria en un computador.
Tipos de memoria en un computador.Tipos de memoria en un computador.
Tipos de memoria en un computador.
 
7 memoria cache
7 memoria cache7 memoria cache
7 memoria cache
 
tercera unidad :3
tercera unidad :3tercera unidad :3
tercera unidad :3
 
4 memoria
4 memoria4 memoria
4 memoria
 
4679923.ppt
4679923.ppt4679923.ppt
4679923.ppt
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoria
 
Tc2 paso3
Tc2 paso3Tc2 paso3
Tc2 paso3
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
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)
 
Memoria en los SO
Memoria en los SOMemoria en los SO
Memoria en los SO
 
Expo Sistemas Operativos
Expo Sistemas OperativosExpo Sistemas Operativos
Expo Sistemas Operativos
 
Gestiond memoria-pnfi
Gestiond memoria-pnfiGestiond memoria-pnfi
Gestiond memoria-pnfi
 
Cuestionario terminado
Cuestionario terminadoCuestionario terminado
Cuestionario terminado
 
Unidad 3 s.o.
Unidad 3 s.o.Unidad 3 s.o.
Unidad 3 s.o.
 
Unidad 3 s.o.
Unidad 3 s.o.Unidad 3 s.o.
Unidad 3 s.o.
 
Unidad 3 s.o.
Unidad 3 s.o.Unidad 3 s.o.
Unidad 3 s.o.
 
Previo3 - Dispositivos de E/S
Previo3 - Dispositivos de E/SPrevio3 - Dispositivos de E/S
Previo3 - Dispositivos de E/S
 
Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2
 
Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2
 

More from Pablo Macon

More from Pablo Macon (20)

Ejercicios3 - msdos - comandos para archivos
Ejercicios3 - msdos - comandos para archivosEjercicios3 - msdos - comandos para archivos
Ejercicios3 - msdos - comandos para archivos
 
Ejercicios directorios ii msdos
Ejercicios directorios ii msdosEjercicios directorios ii msdos
Ejercicios directorios ii msdos
 
Comandos para archivos msdos
Comandos para archivos msdosComandos para archivos msdos
Comandos para archivos msdos
 
Ejercicios ms dos - i directorios
Ejercicios ms dos - i directoriosEjercicios ms dos - i directorios
Ejercicios ms dos - i directorios
 
Directorios y caminos
Directorios y caminosDirectorios y caminos
Directorios y caminos
 
Prueba try
Prueba tryPrueba try
Prueba try
 
Comandos basicos ii directorios
Comandos basicos ii   directoriosComandos basicos ii   directorios
Comandos basicos ii directorios
 
Comandos Básicos DOS - comandos del Sistema
Comandos Básicos DOS - comandos del SistemaComandos Básicos DOS - comandos del Sistema
Comandos Básicos DOS - comandos del Sistema
 
Instalación de MS-DOS con VM Ware
Instalación de MS-DOS con VM WareInstalación de MS-DOS con VM Ware
Instalación de MS-DOS con VM Ware
 
Cpu
CpuCpu
Cpu
 
Overclock
OverclockOverclock
Overclock
 
Como Trabaja un Procesador
Como Trabaja un ProcesadorComo Trabaja un Procesador
Como Trabaja un Procesador
 
Práctico motherboard
Práctico motherboardPráctico motherboard
Práctico motherboard
 
Placa madre
Placa madrePlaca madre
Placa madre
 
Sistemas de archivo - FAT - NTFS
Sistemas de archivo - FAT - NTFSSistemas de archivo - FAT - NTFS
Sistemas de archivo - FAT - NTFS
 
Metodologías ágiles
Metodologías ágilesMetodologías ágiles
Metodologías ágiles
 
Introducción al proyecto
Introducción al proyectoIntroducción al proyecto
Introducción al proyecto
 
Gabinete PC
Gabinete PCGabinete PC
Gabinete PC
 
Nucleo kernel
Nucleo kernelNucleo kernel
Nucleo kernel
 
Herencia - Java
Herencia - JavaHerencia - Java
Herencia - Java
 

Recently uploaded

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
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 

Recently uploaded (20)

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...
 
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
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
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
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
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
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
 
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
 
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
 

Administración de Memoria - Sistemas Operativos

  • 1. Administración de memoria Prof. Pablo Macón profemacon@gmail.com http://pablomacon.wix.com/home/
  • 3. Jerarquía de Memoria - Registros del CPU La CPU debe obtener las instrucciones de la memoria y las ejecutarlas. Toma la primera instrucción de la memoria, la decodifica para determinar su tipo y operandos, la ejecuta y después el ciclo se repite hasta que el programa termina.
  • 4. Jerarquía de Memoria - Registros del CPU Como el acceso a la memoria RAM principal para obtener una instrucción o palabra de datos requiere mucho más tiempo que ejecutar una instrucción, todas las CPU contienen ciertos registros en su interior para contener las variables clave y los resultados temporales.
  • 5. Jerarquía de Memoria - Registros del CPU Están al tope de la jerarquía de memoria de una PC. Están compuestos del mismo material que la CPU y tienen la misma rapidez. No hay retraso a la hora de utilizarlos. La CPU puede acceder a los datos de los registros en 10 picosegundos (0,000.000.000.010 seg) (1 segundo dividido por 100.000.000.000)
  • 6. Jerarquía de Memoria - Registros del CPU La capacidad de almacenamiento es generalmente de: 32 x 32 bits en una CPU de 32 bits 64 x 64 bits en una CPU de 64 bits. Menos de 1 KB en ambos casos.
  • 7. Jerarquía de Memoria - Caché El siguiente nivel en la jerarquía de memoria es la caché. Hoy por hoy las CPU tienen hasta 3 niveles de esta memoria. Cada nivel de caché es más grande, lenta y barata que la anterior.
  • 8. Jerarquía de Memoria - Caché Cuando el programa necesita leer una palabra de memoria, primero se comprueba si la línea que se requiere se encuentra en la caché. Si está (acierto de caché), la petición se cumple y no se pide a la memoria RAM.
  • 9. Jerarquía de Memoria - Caché Los aciertos de caché por lo general requieren un tiempo aproximado de dos ciclos de reloj. Los fallos de caché obligan a ir a memoria principal, con un castigo considerable de tiempo.
  • 10. Jerarquía de Memoria - Caché Caché de nivel 1 Está en el mismo núcleo del procesador, así que es el más rápido de todos. Se guardan datos e instrucciones de uso muy frecuente Su capacidad es de hasta 128 kb
  • 11. Jerarquía de Memoria - Caché Caché de nivel 2 Es más lenta que la caché L1, pero más rápida que la memoria RAM. Se encuentra en el procesador, pero no en su núcleo. Su capacidad es de hasta 1 Mb.
  • 12. Jerarquía de Memoria - Caché Caché de nivel 3 Se agiliza el acceso a datos e instrucciones que no fueron localizadas en L1 o L2. Es generalmente de un mayor tamaño que la L2 y ayuda a que el sistema guarde gran cantidad de información agilizando las tareas del procesador.
  • 13. Jerarquía de Memoria - Caché Como la idea es poner en las cachés los datos que más se utilizan o se van a utilizar, la creación de algoritmos de reemplazo es uno de los problemas que más se piensan durante la programación de SO. ¿Qué elemento tengo que poner y en qué nivel de caché? ¿Qué elemento saco cuando tengo que poner uno nuevo?
  • 14. Jerarquía de Memoria - Memoria Principal Es la memoria más grande e importante del sistema Tiene que dividirse entre todos los programas que están ejecución por lo que tiene que ser lo más abundante posible Hoy en día tenemos memorias de hasta 16 Gb
  • 15. Jerarquía de Memoria - Memoria Principal Cuando el procesador no encuentra un dato en alguna de las caché, debe ir a buscarlo a la memoria principal Dependiendo del tipo de memoria y de la velocidad de los buses del sistema (placa madre) puede demorarse entre 5 y 250 nano segundos (entre 100 y 10000 veces más lento que el acceso a caché)
  • 16. Jerarquía de Memoria - Memoria Principal Las principales características de esta memoria son: Es de acceso aleatorio (acceder a un dato en cualquier posición requiere el mismo tiempo) Es volátil, cuando se quita la energía se eliminan los datos Cada cierto tiempo los capacitores se descargan, por lo que deben volver a cargarse (refresco)
  • 17. Jerarquía de Memoria - Disco Magnético Cuando la memoria principal no alcanza para guardar los datos de todos los programas que se están ejecutando, debemos utilizar un dispositivo que tenga esa capacidad. Un disco magnético, es muy barato en relación cantidad a almacenar, pero es muy lento (0,010 segundos contra 0,000.000.050 segundos) Intercambio - Memoria Virtual
  • 18. Jerarquía de Memoria - Cinta Magnética Es el elemento más lento del sistema, pero es, por lejos el más económico Para acceder a un elemento guardado en una cinta se debe debe adelantar o atrasar hasta encontrar el lugar correcto.
  • 19. Administrador de Memoria Componente del sistema operativo que administra (parte de) la jerarquía de memoria de una computadora. Su trabajo es administrar la memoria con eficiencia: llevar el registro de cuáles partes de la memoria están en uso asignar memoria a los procesos cuando la necesiten desasignarla cuando terminen.
  • 20. Administrador de Memoria Para poder realizar su trabajo se necesita un cierto grado de abstracción, y tratar a todos los componentes destinados a servir como memoria como si fueran uno solo, aunque en realidad tienen características muy diferentes
  • 21. Cuando no hay abstracción Los programas acceden directamente a toda la memoria. Esto crea el problema de que no hay control de dónde se escriben los datos nuevos Los programas pueden escribir en zonas donde hay datos de otros programas, produciéndose un error en la lectura y la falla de los procesos
  • 22. Cuando no hay abstracción
  • 23. Cuando no hay abstracción No es muy fácil ejecutar varios procesos a la vez. Por más que se encuentre una solución parcial, siempre cabe la posibilidad de que un error del SW provoque que un programa quiera utilizar la memoria reservada a otro proceso (incluso el del Sistema Operativo) lo que provocaría un error fatal y el cierre de los procesos involucrados
  • 24. Primera Abstracción: Espacio de Direcciones Crea un tipo de memoria abstracta para que los programas vivan ahí. Un espacio de direcciones (address space) es el conjunto de direcciones que puede utilizar un proceso para direccionar la memoria y guardar sus datos.
  • 25. Primera Abstracción: Espacio de Direcciones Cada proceso tiene su propio espacio de direcciones, independiente de los que pertenecen a otros procesos (excepto en ciertas circunstancias especiales en donde los procesos desean compartir sus espacios de direcciones). Un programa se carga en el primer espacio de memoria suficientemente grande como para caber entero.
  • 26. Primera Abstracción: Espacio de Direcciones El primer problema al que se enfrenta el SO es que durante diferentes ejecuciones el proceso se va a cargar en diferentes espacios de memoria. ¿cómo hacer para que cuando el programa pida la posición de memoria x (no cambia de ejecución a ejecución), el SO entregue la posición correcta y no trate de leer en la posición física x?
  • 27. Primera Abstracción: Espacio de Direcciones La solución más sencilla es que junto con el estado del programa, se creen dos registros: Base: primer dirección de memoria del proceso Límite: el tamaño total de la memoria usada por el proceso
  • 28. Primera Abstracción: Espacio de Direcciones Cuando el proceso pida la posición 28, el SO va a sumar 28 a la base y verificar que el número obtenido no supere al límite. Esta solución tiene el problema de que cada vez que se va a ejecutar dos operaciones, lo que requiere más tiempo de procesamiento.
  • 29. Segunda Abstracción: Paginación Otro problema al que nos enfrentamos cuando queremos cargar varios programas a la vez, se da cuando el programa no entra completo en un espacio de la memoria.
  • 30. Segunda Abstracción: Paginación En este caso, pueden ocurrir dos cosas: ● Que queden espacios demasiado pequeños entre procesos cuando un proceso se quita de la memoria ● Que un proceso sea demasiado grande para la memoria que queda al final del espacio disponible
  • 31. Segunda Abstracción: Paginación Un proceso se divide en páginas, todas del mismo tamaño, excepto la última La memoria se divide en marcos, con el mismo tamaño que las páginas en que se dividen los procesos. Para evitar la fragmentación de la memoria, un proceso se puede colocar en marcos separados.
  • 32. Segunda Abstracción: Paginación Supongamos que tenemos cuatro procesos para cargar en la memoria en diferentes momentos: Proceso A que se divide en 4 páginas Proceso B en 3 páginas - Proceso C también 4 páginas Proceso D utiliza 5 páginas
  • 33. Segunda Abstracción: Paginación Nuestra memoria dispone de 15 marcos Si sumamos, 4 + 3 + 4 + 5 = 16 páginas En un primer momento tenemos cargados los procesos A, B y C
  • 34. Segunda Abstracción: Paginación Nuestra memoria dispone de 15 marcos Si sumamos, 4 + 3 + 4 + 5 = 16 páginas En un primer momento tenemos cargados los procesos A, B y C
  • 35. Segunda Abstracción: Paginación En un segundo momento el proceso B se envía a disco (se suspende) dejando libres los tres marcos que estaba utilizando
  • 36. Segunda Abstracción: Paginación Luego cuando tenemos que cargar el proceso D Para ello usamos primero los tres marcos dejados por B y luego 2 marcos más de los que están después de C
  • 37. Segunda Abstracción: Paginación Ahora bien, para poder recuperar una posición de memoria, ya no nos alcanza con dos registros (Base y límite) como teníamos, sino que necesitamos algo más complejo. En concreto el Sistema Operativo guarda una tabla con las páginas y los marcos de memoria que se utilizan
  • 38. Segunda Abstracción: Paginación La Gestión de Memoria llevada a cabo por la MMU mediante el espacio de direcciones y la paginación implica: 1. Todas las referencias a la memoria que se hacen dentro de un proceso se refieren a direcciones lógicas que deben ser traducidas a las direcciones físicas durante la ejecución
  • 39. Segunda Abstracción: Paginación La Gestión de Memoria llevada a cabo por la MMU mediante el espacio de direcciones y la paginación implica: 2. Un proceso puede dividirse en varias páginas o segmentos y estos no tienen por qué estar todos juntos, ya que se le puede seguir el rastro mediante una tabla
  • 40. Tercera Abstracción: Memoria Virtual Cuando se inicia un proceso, el sistema operativo carga en memoria únicamente algunas porciones del programa y de los datos necesarios para ejecutarlo. Esta porción se mantiene todo el tiempo en la Memoria Principal y se denomina “conjunto residente del proceso”.
  • 41. Tercera Abstracción: Memoria Virtual Mientras las peticiones a memoria se encuentren dentro de este conjunto residente, el sistema operativo no necesita traer otras partes del proceso a memoria. Ese resto está, por ahora, guardado en el disco duro. El programador y el usuario no tienen por qué saber que esto es así.
  • 42. Tercera Abstracción: Memoria Virtual Cuando el procesador encuentra una dirección lógica la traduce a una dirección física, si resulta que la página donde está esa dirección lógica no está cargada en memoria genera una interrupción indicando el fallo de acceso a memoria.
  • 43. Tercera Abstracción: Memoria Virtual El sistema operativo bloquea al proceso e inicia una petición de E/S trayendo los datos desde el disco hacia l memoria principal. ¿Qué hace el Sistema Operativo luego de bloquear a un proceso?
  • 44. Tercera Abstracción: Memoria Virtual Cuando las páginas requeridas ya fueron cargadas en la memoria principal, se genera una nueva interrupción. El sistema operativo puede retomar el control, quitar del procesador al proceso que se estaba ejecutando y volver a ejecutar al proceso que le faltaban los datos.
  • 45. Tercera Abstracción: Memoria Virtual Debido a que un proceso ejecuta sólo en la memoria principal, esta memoria se denomina memoria real. Pero el programador o el usuario perciben una memoria potencialmente mucho más grande —la cual se encuentra localizada en disco. Esta última se denomina memoria virtual.
  • 46. Tercera Abstracción: Memoria Virtual La memoria virtual permite una multiprogramación muy efectiva que libera al usuario de las restricciones excesivamente fuertes de la memoria principal. Puede haber más procesos ejecutándose Un proceso puede ser más grande que la memoria principal
  • 47. Tercera Abstracción: Memoria Virtual Un posible problema al que hay que estar atentos es que si tengo muchos procesos en memoria (algunos segmentos de cada proceso), voy a tener que ir y venir al disco con demasiada frecuencia y además voy a tener que sacar lo que considere innecesario para hacer lugar. ¿Qué pasa si saco de la memoria algo que voy a utilizar enseguida? Que pierdo mucho tiempo en operaciones E/S
  • 48. Tercera Abstracción: Memoria Virtual Principio de proximidad: Las referencias al programa y a los datos dentro de un proceso tienden a agruparse. Por tanto, se presume que sólo unas pocas porciones del proceso se necesitarán a lo largo de un periodo de tiempo corto.
  • 49. Tercera Abstracción: Memoria Virtual Principio de proximidad: También, es posible hacer suposiciones inteligentes sobre cuáles son las porciones del proceso que se necesitarán en un futuro próximo, para evitar el problema de cargar y descargar porciones de un proceso en memoria.
  • 50. Tercera Abstracción: Memoria Virtual Área de Intercambio: Es el lugar físico que se utiliza para alojar la memoria virtual. Los sistemas operativos tienen diferentes formas de establecer una zona exclusiva del disco para la memoria virtual.
  • 51. Tercera Abstracción: Memoria Virtual Área de Intercambio - Archivo de Paginación: Es un archivo de gran tamaño Forma parte del mismo sistema de archivos Puede cambiar de tamaño o tener un tamaño fijo Es fácil crear, borrar o cambiar un archivo
  • 52. Tercera Abstracción: Memoria Virtual Área de Intercambio - Archivo de Paginación: Desventajas: Puede verse afectado por la fragmentación propia de los archivos comunes En las particiones pequeñas puede ocupar casi todo el espacio
  • 53. Tercera Abstracción: Memoria Virtual Área de Intercambio - Archivo de Paginación: Es utilizado sobre todo por los sistemas Windows archivo oculto pagefile.sys (normalmente en C:) Para configurarlo: Configuración avanzada del sistema -> Rendimiento -> pestaña Opciones Avanzadas -> Memoria Virtual
  • 54. Tercera Abstracción: Memoria Virtual Área de Intercambio - Archivo de Paginación: Se puede configurar tamaño fijo (normalmente 1 ½ el tamaño de la memoria RAM) Se puede configurar un mínimo y un máximo Se puede configurar que el sistema operativo administre automáticamente el tamaño
  • 55. Tercera Abstracción: Memoria Virtual Área de Intercambio - Partición Swap: En lugar de ocupar espacio en el sistema de archivos, se crea una partición específica para la memoria virtual No tiene problema de fragmentación del espacio Tiene un tamaño fijo (normalmente el doble de la RAM) Se puede colocar en la zona más rápida del disco (al principio)
  • 56. Tercera Abstracción: Memoria Virtual Área de Intercambio - Partición Swap: Desventajas: No es tan sencillo particionar un disco Siempre ocupa el mismo espacio del disco, aunque no se utilice el 100%
  • 57. Tercera Abstracción: Memoria Virtual Área de Intercambio - Partición Swap: Utilizado por los sistemas Unix - Linux Al momento de instalar el sistema se puede configurar el tamaño