SlideShare una empresa de Scribd logo
1 de 64
Arquitectura de
Sistemas Operativos
Presentado por: Jader Antonio Valdivia Taleno.
Grupo: 4TN1-CO.
Docente: Noel Gavarrete.
Memorias
1) Introducción a la
administración de la memoria.
La administración 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.
1) Introducción a la
administración de la memoria.
Jerarquía de memoria:
Al bajar en la jerarquía es más
capacidad, pero más lento es el dispositivo
y más barato.
Registros CPU
del procesador
Caché (memoria
rápida)
Memoria principal
RAM
Almacenamiento
secundario (memoria
virtual)
1) Introducción a la
administración de la memoria.
Parte del S.O. que gestiona la memoria:
• Control de que partes de la memoria
están utilizadas o libres.
• Asignar memoria a procesos y liberarla cuando
terminan.
• Administrar intercambio entre memoria y disco (MemoriaVirtual).
1) Introducción a la
administración de la memoria.
Proceso de Compilación y Carga de un Programa:
• Generando código
absoluto, en el
momento de
compilación se sabe
donde residirá el
programa en memoria.
Compilación
• El compilador genera
código relocalizable.
• Se crean direcciones de
memoria absolutas
cuando se carga el
programa en memoria.
Carga
• Durante la ejecución
puede moverse el
código de un proceso.
• Necesita apoyo del
hardware:
Ejecución
2) Mono-programación sin intercambio
o paginación.
• En sistemas monoprogramados generalmente la memoria
principal está dividida en dos particiones:
– Una para el usuario:
• Un proceso con su código.
• Dirección a partir de la que se
cargan programas de usuario.
– Otra para el sistema operativo residente (memoria baja).
2) Mono-programación sin intercambio
o paginación.
• Es necesario proteger las particiones entre sí.
• El tamaño del S.O puede variarse:
Ej.: Manejadores de dispositivos que no se usan.
oPuede realizar una reubicación dinámica del espacio.
oTambién, cargar los procesos de usuario en
memoria alta
3) Multi-programación y uso de la
memoria.
• Es deseable que haya varios procesos en
memoria para su ejecución concurrente.
• Se debe compartir la memoria entre varios
procesos que esperan asignación de la misma.
• Esquemas de asignación de memoria:
• Contigua: particiones fijas y variables • Paginación
• Intercambio (swapping) • Segmentación
• Segmentación paginada
3) Multi-programación y uso de la
memoria.
Particiones
• La memoria está dividida de antemano en
espacios (Particiones).
• Cuando un proceso necesita ejecutarse se le
asigna uno de dichos espacios (Partición).
• Cada partición puede contener un único proceso.
• Pueden ser:
o Particiones Fijas y ParticionesVariables.
4) Multi-programación con particiones
fijas.
Particiones de igual tamaño:
• Nivel de multiprogramación limitado por número de
particiones.
• Hay una cola con procesos que quieren
utilizar memoria y ejecutarse.
• Hay una tabla para indicar particiones ocupadas
y libres.
4) Multi-programación con particiones
fijas.
Particiones con diferentes tamaños:
Para procesos que quieren utilizar memoria para ejecutarse:
• Podemos tener varias colas:
o Cada proceso se asigna a una cola
en función de su tamaño.
• Podemos tener una única cola:
o Cuando se libera una partición se asigna
al primer proceso que cabe en ella.
4) Multi-programación con particiones
fijas.
Problemas que presenta este tipo de asignación de memoria:
• Debe proporcionarse reubicación:
o ¿En que partición entrará el proceso?.
• Existe Fragmentación Interna y Externa:
o Interna: Una partición asignada y no ocupada
totalmente por el proceso.
o Externa: Un proceso quiere ejecutarse, hay una partición
libre, pero de menor tamaño que el proceso.
4) Multi-programación con particiones
fijas.
• Necesidad de protección: (en sistemas multiprogramados)
o Un proceso no acceda al área de memoria del otro.
o Si la reubicación es dinámica puede usarse registros base-límite.
4) Multi-programación con particiones
fijas.
• Se divide la memoria en n particiones
• El espacio que no se usa se
desperdicia
5) Swapping.
Es mover un proceso o parte de
él temporalmente desde la memoria principal a
un dispositivo secundario de almacenamiento (memoria de
apoyo) para luego devolverlo a la memoria
principal. El propósito de esta técnica es que
el sistema operativo sea capaz de asignar
más memoria de la que tiene físicamente.
5) Swapping.
La memoria de apoyo debiera ser rápida
y de tamaño suficiente para almacenar las
copias de imágenes de memoria de los
procesos, también debe proporcionar acceso directo a
estas imágenes. El disco duro es usualmente
quien funciona como memoria de apoyo.
5) Swapping.
• Todos los sistemas operativos actuales cuentan con
alguna versión de swapping (Windows, Linux y
UNIX). El sistema mantiene una cola de
procesos en estado ready que están listos
para ser ejecutados y cuyas imágenes de
memoria se encuentran en el disco.
6) Multi-programación con particiones
variables
• Cada proceso ocupa tanto espacio como necesite,
pero no puede superar el espacio disponible
de memoria.
• La partición de un trabajo es su
propio tamaño ya que no hay límites
fijos de memoria.
6) Multi-programación con particiones
variables
• Se dan esquemas de asignación contigua dado
que un programa debe ocupar posiciones adyacentes
de almacenamiento.
• Los procesos que terminan dejan espacios disponibles
de memoria principal llamados agujeros.
• Los trabajos pueden ser colocados dentro de
cualquier participación disponible en la que quieran.
7) Administración de la memoria con
mapas bits
• Cuando la memoria se asigna dinámicamente, el
sistema operativo debe administrarla.
• Con un mapa de bits, la memoria
se divide en unidades de asignación, ya
sea sólo de unas cuantas palabras o
quizá de varios kilobytes.
7) Administración de la memoria con
mapas bits
• Se divide la memoria en unidades de asignación
• 1 bit representa el estado de cada unidad
» 1: está asignada
» 0: está libre
• Tamaño de la unidad
o Cuanto menor, mayor el mapa
o Cuanto mayor, más desperdicio de la memoria
8) Administración de la memoria con listas
ligadas
• Una forma de llevar el control de
la memoria es mantener una lista ligada
de segmentos de memoria asignados y libres,
donde un segmento es un proceso, o
bien, un hueco entre dos procesos.
8) Administración de la memoria con listas
ligadas
• Características
Si la lista se ordena por dirección
es más fácil su actualización.
Si hay dos listas, una para memoria
usada y otra para huecos, la asignación
es más rápida, pero la liberaciones más lenta.
Mantiene una lista enlazada de segmentos de
memoria asignados y libres.
8) Administración de la memoria con listas
ligadas
• Lista ordenada por direcciones
Si la lista se mantiene ordenada por
dirección, podemos usar uno de los siguientes
algoritmos para escoger un hoyo donde poner
un nuevo proceso.
Primer ajuste
• Primer ajuste:
Asigna el primer
hoyo que sea
suficientemente
grande como
para contener al
proceso.
• Mejor ajuste:
Asignar el menor
hoyo en el que el
proceso quepa
• Peor ajuste:
Asignar el
mayor hoyo
8) Administración de la memoria con listas
ligadas
• Cada vez que se asigna un hoyo
a un proceso, se convierte en un
segmento asignado y un hoyo más pequeño.
Mejor ajuste deja
hoyos pequeños
Peor ajuste deja hoyos
grandes.
Primer ajuste es más
rápido.
Primer ajuste y Mejor
ajuste son mejores en
términos de utilización
de la memoria.
8) Administración de la memoria con listas
ligadas
• La memoria de la siguiente figura está
mostrada como una lista ligada de segmentos
donde cada entrada de la lista especifica
un hueco(H) o un proceso(P), la dirección
donde comienza, su longitud y un apuntador
a la siguiente entrada.
9) Administración de la memoria con
el sistema de los asociados.
• Permite acelerar la traducción
• Se basa en la observación de que
la mayoría de los programas hacen un
gran número de referencias a un pequeño
número de páginas.
9) Administración de la memoria con
el sistema de los asociados.
• Se equipa a la máquina con un
dispositivo hardware que permite asociar direcciones virtuales
con físicas: la memoria asociativa
o Parte de la MMU
o Número pequeño de entradas
o Búsqueda en todas las entradas en paralelo
9) Administración de la memoria con
el sistema de los asociados.
• Para la traducción:
o Se comprueba si está la información
en la memoria asociativa
o Si está: ya se puede hacer la
traducción
o En c.c.: búsqueda normal
9) Administración de la memoria con
el sistema de los asociados.
• Proporción de encuentros: proporción de referencias a
memoria que pueden ser satisfechas a partir
de la memoria asociativa.
o Cuanto mayor, mayor el rendimiento
10) Memoria Virtual en el Sistema
Operativo.
• Los programas pueden ser más grandes que
la memoria
• Solución adoptada:
• Dividir el programa en partes llamadas overlays
• La ejecución empieza en el primer overlay
• Cuando termina se llama al siguiente y así
• Se pueden tener en memoria varios overlays
10) Memoria Virtual en el Sistema
Operativo.
• El SO se encarga del intercambio
• De la partición del programa el programador
• Permite que un proceso sea mayor que
la cantidad de memoria disponible.
• En memoria están las partes del programa
que se están utilizando, el resto en
disco.
10) Memoria Virtual en el Sistema
Operativo.
• En multiprogramación:
- En memoria sólo una parte del programa
• Se pueden tener más programa
• Memoria de 2M:
- 2 programas de 1M completamente en memoria.
- 8 programas con 1/4 de M cada uno en memoria.
10) Memoria Virtual en el Sistema
Operativo.
• Cuando un programa está a la espera
de que se cargue en memoria una
porción del mismo, está esperando una E/S
y se puede seguir con otro programa.
• Es usual utilizar paginación.
11) Paginación
• Definición
Es una estrategia de organización de la
memoria física que consiste en dividir la
memoria en porciones de igual tamaño. A
dichas porciones se las conoce como páginas
físicas o marcos. La división de la
memoria en páginas facilita la gestión de
la memoria física.
11.1) Pagina
• Dirección virtual: dirección generada por un programa.
• Espacio de direcciones virtuales: direcciones que puede
generar un programa.
• Se divide en unidades llamadas páginas
• Las páginas y los marcos tienen idéntico tamaño.
• La transferencia entre memoria y disco se
realizan siempre en unidades de páginas.
11.1) Pagina
• Si no hay memoria virtual, las direcciones
generadas por un programa son direcciones físicas.
• Con memoria virtual, las direcciones se mandan
a la unidad de gestión de memoria (MMU)
• Dispositivo que se encarga de traducir dinámicamente las
direcciones virtuales en físicas.
11.2) Marco de página
• ¿Cuántos marcos se asignan a cada proceso
en un sistema multiprogramado?
• Estrategias de asignación
– Asignación fija
Los marcos de memoria existentes se dividen:
o Equitativamente: nº marcos/nº procesos
o Proporcionalmente: se asignan más marcos a procesos
más grandes.
11.2) Marco de página
• Asignación dinámica:
oLa cantidad de marcos de cada proceso
varía dinámicamente según la necesidades del mismo
oPuede aplicarse a:
- reemplazo local, cada proceso varia la cantidad
de marcos que utiliza.
- reemplazo global, los procesos compiten por el
uso de memoria.
11.3) MMU
• Funcionamiento de MMU
o 16 procesos
o Páginas de 4K
o 1024 páginas por proceso
o espacio de direcciones
virtuales del proceso de 4M
11.3) MMU
o Espacio de direcciones
virtuales total de 64 M.
o 64 segmentos por proceso.
o 16 páginas por segment.
o 64 K por segmento.
11.4) Tabla de páginas
• Son una parte integral del Sistema de
MemoriaVirtual en sistemas operativos, cuando se
utiliza paginación. Son usadas para realizar las
traducciones de direcciones de memoria virtual (o lógica)
a memoria real (o física) y en general
el sistema operativo mantiene una por cada
proceso corriendo en el sistema.
11.4) Tabla de páginas
• En hardware sólo se necesita un registro
que apunte al inicio de la tabla de páginas.
• El cambio de contexto: modifica un registro
• Desventaja:
o Hay que hacer una o más referencias
a memoria por cada instrucción para acceder
a la tabla de páginas.
11.5) Algoritmos de reemplazo de
páginas
Introducción:
• Son usados para decidir qué páginas pueden
ser sacadas de memoria cuando se necesita
cargar una nueva y ya no hay
marcos de páginas libres.
• Se puede elegir aleatoriamente la página, pero
es más eficiente sacar una que no
se vaya a utilizar pronto.
11.6) Páginas Óptimas
11.6) Óptimo
• Este algoritmo tiene como finalidad retirar la
página que vaya a ser referenciada más
tarde, por ejemplo si hay una página
A que será usada dentro de 10000 instrucciones,
y una página B que será usada
dentro de 2800 instrucciones, se debería eliminar
de la memoria la página A.
11.7) La menor usada
recientemente
• 11.7) Menos usada recientemente (Least Recently Used, LRU)
Este algoritmo de 'Menos usada recientemente' intenta
proveer un comportamiento casi óptimo mediante la
observación de las páginas que menos fueron
usadas recientemente. Este tipo de páginas, estadísticamente
son las que tienen menor probabilidad de
ser usadas nuevamente.
11.8) Primero en entrar, primero en
salir
• 11.8) FIFO (First In, First Out):
En este método, el sistema operativo sólo
tiene que guardar en orden las páginas
que fueron cargadas, de modo que al
necesitar hacer espacio pueda fácilmente elegir la
primera página cargada. Se usa una cola,
al cargar una página nueva se ingresa
en el último lugar.
11.9) Segunda Oportunidad
• 11.9) Segunda oportunidad (Reloj):
Es una pequeña modificación al algoritmo FIFO,
que funciona bastante mejor que el FIFO.
En este caso cuando una página debe
ser sacada se toma la primera en
la cola, y en vez de sacarla, consulta
el valor de un bit de referencia.
11.10) Páginas de reloj
• 11.10) De paginas de reloj (CLOCK) (Reloj mejorado)
Existe una mejora en el algoritmo de
segunda oportunidad que presenta una mejora en
la implementación. Es el algoritmo del CLOCK,
que lo que hace es tener una
lista circular, de forma que al llegar
al último elemento de la lista,
pasa automáticamente al primero.
11.11) No usada recientemente
• 11.11) No usada recientemente (Not Recently Used, NRU)
Este algoritmo favorece a las páginas que
fueron usadas recientemente. Funciona de la siguiente
manera: cuando una página es referenciada, fija
el bit de referencia para esa página.
Similarmente, cuando una página es modificada, fija
su bit de modificación.
Categoría 0: no
referenciada,
no modificada
Categoría 1: no
referenciada,
modificada
Categoría 2:
referenciada,
no modificada
Categoría 3:
referenciada,
modificada
11.12) Envejecimiento
• 11.12) Envejecimiento (Aging)
Desciende del algoritmo "No usada frecuentemente", con
algunas modificaciones necesarias para tener en cuenta
en qué momento fue usada frecuentemente una
página, y no solamente cuántas veces fue.
En vez de sólo incrementar el contador de
la página cuando es referenciada, primero se
desplaza a la derecha (se divide entre 2) y después sí se suma 1.
12) Segmentación
• – El espacio de direcciones lógicas se compone
de un conjunto de segmentos: Cada uno
tiene un nombre y una longitud.
• – Para el usuario las direcciones especifican el
nombre del segmento y el desplazamiento dentro
de él.
12) Segmentación
• El nombre del segmento se numera
o <número segmento, desplazamiento>
• El procesador Intel 8086 usa segmentación, los
programas se separan en:
• Hay una división lógica del proceso en
diferentes segmentos.
Segmento
de Código.
Segmento
de Datos.
Segmento
de Pila.
12) Segmentación
• Hardware de segmentación medianteTabla de segmentos:
• Establece la correspondencia entre direcciones físicas y lógicas.
• Se busca en la tabla de acuerdo
con el número de segmento.
• Cada entrada 2 registros:
– base (dir. Física inicial del segmento en memoria)
– límite de segmento (longitud del segmento)
13) Casos de estudio de Sistemas
Operativos para el componente de
administración de la memoria.
• 13.1)VAX/VMS
El sistema operativoVMS, desarrollado para la
familiaVAX-11 de Digital introducida a finales
de los 70, proporciona un entorno unificado
para hardware con diferentes niveles de rendimiento.
La gestión de memoria se encontraba muchas
veces con un soporte hardware muy limitado.
13) Casos de estudio de Sistemas
Operativos para el componente de
administración de la memoria.
Características VAX/VMS
• Asignación de páginas local: Existe un límite
máximo en el número de páginas residentes por proceso
(su working-set, en terminologíaVAX/VMS).
• Paginación con reemplazo FIFO y buffer de
marcos global: El paginador mantiene un número
adicional de marcos de página que no
están asignados a los conjuntos residentes de cada proceso.
13) Casos de estudio de Sistemas
Operativos para el componente de
administración de la memoria.
• Agrupamiento de páginas: El pequeño tamaño de
la página delVAX causaría un rendimiento
muy pobre si éstas se transfirieran individualmente
entre memoria y disco.
• Swapping: En determinadas circunstancias, la única forma
de recuperar marcos libres es sacando de
memoria el working-set completo de uno o más procesos.
13) Casos de estudio de Sistemas
Operativos para el componente de
administración de la memoria.
• 12.1) UNIX: es un sistema operativo diseñado para
ser instalado sobre una gran variedad de
máquinas.Ya que la gestión de la
memoria es muy dependiente del soporte hardware
disponible, nos encontraremos con que existen diferentes
formas de gestión de memoria en UNIX.
13) Casos de estudio de Sistemas
Operativos para el componente de
administración de la memoria.
Características de Unix:
• Asignación global y working-set: UNIX define el
working-set de un proceso como el
conjunto de páginas asignadas a un proceso.
• Swapping: En situaciones de mucha demanda de
memoria por parte de los procesos, el
paginador puede no ser capaz de conseguir
marcos libres a la velocidad necesaria.
13) Casos de estudio de Sistemas
Operativos para el componente de
administración de la memoria.
• Escritura de páginas en disco por grupos:
Si el paginador decide liberar una página
y la página se ha modificado o
no existe una copia en disco (por
ejemplo, página iniciada a ceros), el paginador
pone la página en una lista de
páginas a escribir.
13) Casos de estudio de Sistemas
Operativos para el componente de
administración de la memoria.
13.2) Windows: como sistema operativo moderno, presupone un
potente soporte hardware para la gestión de
memoria, como es el caso de los
procesadores actuales. Los procesos manejan espacios
de direcciones de 32 bits. El tamaño
de página es de 4 Kbytes, aunque
en algunas máquinas se puede configurar.
13) Casos de estudio de Sistemas
Operativos para el componente de
administración de la memoria.
Características Windows:
• Paginación por demanda con clustering: A partir
de un fallo de página no sólo
se carga la página que ha producido
el fallo sino también un conjunto de
páginas adyacentes.
• Asignación de páginas local: Aplica una política
FIFO entre las páginas cargadas del proceso.
13) Casos de estudio de Sistemas
Operativos para el componente de
administración de la memoria.
• Tamaño de working-set ajustable dinámicamente: El
VM manager ajusta el tamaño de los
working-sets de los procesos en función
de sus comportamientos, sus cuotas de memoria
y de las necesidades globales de memoria.
Gracias por su atención

Más contenido relacionado

La actualidad más candente

Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPUEduardo Suarez
 
SO Unidad 3: Administración de memoria y sistemas de archivos
SO Unidad 3: Administración de memoria y sistemas de archivosSO Unidad 3: Administración de memoria y sistemas de archivos
SO Unidad 3: Administración de memoria y sistemas de archivosFranklin Parrales Bravo
 
Gestión de entrada salida
Gestión de entrada salida Gestión de entrada salida
Gestión de entrada salida eduardoed5
 
Algoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativosAlgoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativosFernando Morales
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosEmmanuel Fortuna
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoriacaredimaria
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpuIsaí Beto Matz Mijes
 
Sincronización entre procesos
Sincronización entre procesosSincronización entre procesos
Sincronización entre procesosIchinose 11
 
SICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSSICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSlorenapardo
 

La actualidad más candente (20)

Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPU
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
SO Unidad 3: Administración de memoria y sistemas de archivos
SO Unidad 3: Administración de memoria y sistemas de archivosSO Unidad 3: Administración de memoria y sistemas de archivos
SO Unidad 3: Administración de memoria y sistemas de archivos
 
ADMINISTRACIÓN DE MEMORIA.pptx
ADMINISTRACIÓN DE MEMORIA.pptxADMINISTRACIÓN DE MEMORIA.pptx
ADMINISTRACIÓN DE MEMORIA.pptx
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Entrada y Salida
Entrada y SalidaEntrada y Salida
Entrada y Salida
 
Memoria caché (Explicación)
Memoria caché  (Explicación)  Memoria caché  (Explicación)
Memoria caché (Explicación)
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración 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
 
Gestión de entrada salida
Gestión de entrada salida Gestión de entrada salida
Gestión de entrada salida
 
Algoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativosAlgoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativos
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas Operativos
 
Gestion de memoria en windows
Gestion de memoria en windowsGestion de memoria en windows
Gestion de memoria en windows
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoria
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpu
 
MEMORIA VIRTUAL
MEMORIA VIRTUAL MEMORIA VIRTUAL
MEMORIA VIRTUAL
 
Sincronización entre procesos
Sincronización entre procesosSincronización entre procesos
Sincronización entre procesos
 
SICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSSICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOS
 
Arquitectura harvard
Arquitectura harvardArquitectura harvard
Arquitectura harvard
 

Similar a Memorias (Sistemas Operativos)

Similar a Memorias (Sistemas Operativos) (20)

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
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoria
 
J ruiz 05
J ruiz 05J ruiz 05
J ruiz 05
 
Tc2 paso3
Tc2 paso3Tc2 paso3
Tc2 paso3
 
Sistema operativo.ppt
Sistema operativo.pptSistema operativo.ppt
Sistema operativo.ppt
 
Administracion y manejo de memoria
Administracion y manejo de memoriaAdministracion y manejo de memoria
Administracion y manejo de memoria
 
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
 
Unidad3
Unidad3Unidad3
Unidad3
 
Memorias
MemoriasMemorias
Memorias
 
So tarea 5
So tarea 5So tarea 5
So tarea 5
 
Trabajo
TrabajoTrabajo
Trabajo
 
Segunda unidas open suse
Segunda unidas open suseSegunda unidas open suse
Segunda unidas open suse
 
Opensuse2
Opensuse2Opensuse2
Opensuse2
 
Memoria en los SO
Memoria en los SOMemoria en los SO
Memoria en los SO
 
Administracion de memoria
Administracion de memoriaAdministracion de memoria
Administracion de memoria
 
Unidad 3 el administrador de memoria
Unidad 3 el administrador de memoriaUnidad 3 el administrador de memoria
Unidad 3 el administrador de memoria
 
Equipo1
Equipo1Equipo1
Equipo1
 
Equipo1
Equipo1Equipo1
Equipo1
 
Gestiond memoria-pnfi
Gestiond memoria-pnfiGestiond memoria-pnfi
Gestiond memoria-pnfi
 

Último

Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaJuan Carlos Fonseca Mata
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwealekzHuri
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 

Último (20)

Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - Botánica
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 

Memorias (Sistemas Operativos)

  • 1. Arquitectura de Sistemas Operativos Presentado por: Jader Antonio Valdivia Taleno. Grupo: 4TN1-CO. Docente: Noel Gavarrete. Memorias
  • 2. 1) Introducción a la administración de la memoria. La administración 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.
  • 3. 1) Introducción a la administración de la memoria. Jerarquía de memoria: Al bajar en la jerarquía es más capacidad, pero más lento es el dispositivo y más barato. Registros CPU del procesador Caché (memoria rápida) Memoria principal RAM Almacenamiento secundario (memoria virtual)
  • 4. 1) Introducción a la administración de la memoria. Parte del S.O. que gestiona la memoria: • Control de que partes de la memoria están utilizadas o libres. • Asignar memoria a procesos y liberarla cuando terminan. • Administrar intercambio entre memoria y disco (MemoriaVirtual).
  • 5. 1) Introducción a la administración de la memoria. Proceso de Compilación y Carga de un Programa: • Generando código absoluto, en el momento de compilación se sabe donde residirá el programa en memoria. Compilación • El compilador genera código relocalizable. • Se crean direcciones de memoria absolutas cuando se carga el programa en memoria. Carga • Durante la ejecución puede moverse el código de un proceso. • Necesita apoyo del hardware: Ejecución
  • 6. 2) Mono-programación sin intercambio o paginación. • En sistemas monoprogramados generalmente la memoria principal está dividida en dos particiones: – Una para el usuario: • Un proceso con su código. • Dirección a partir de la que se cargan programas de usuario. – Otra para el sistema operativo residente (memoria baja).
  • 7. 2) Mono-programación sin intercambio o paginación. • Es necesario proteger las particiones entre sí. • El tamaño del S.O puede variarse: Ej.: Manejadores de dispositivos que no se usan. oPuede realizar una reubicación dinámica del espacio. oTambién, cargar los procesos de usuario en memoria alta
  • 8. 3) Multi-programación y uso de la memoria. • Es deseable que haya varios procesos en memoria para su ejecución concurrente. • Se debe compartir la memoria entre varios procesos que esperan asignación de la misma. • Esquemas de asignación de memoria: • Contigua: particiones fijas y variables • Paginación • Intercambio (swapping) • Segmentación • Segmentación paginada
  • 9. 3) Multi-programación y uso de la memoria. Particiones • La memoria está dividida de antemano en espacios (Particiones). • Cuando un proceso necesita ejecutarse se le asigna uno de dichos espacios (Partición). • Cada partición puede contener un único proceso. • Pueden ser: o Particiones Fijas y ParticionesVariables.
  • 10. 4) Multi-programación con particiones fijas. Particiones de igual tamaño: • Nivel de multiprogramación limitado por número de particiones. • Hay una cola con procesos que quieren utilizar memoria y ejecutarse. • Hay una tabla para indicar particiones ocupadas y libres.
  • 11. 4) Multi-programación con particiones fijas. Particiones con diferentes tamaños: Para procesos que quieren utilizar memoria para ejecutarse: • Podemos tener varias colas: o Cada proceso se asigna a una cola en función de su tamaño. • Podemos tener una única cola: o Cuando se libera una partición se asigna al primer proceso que cabe en ella.
  • 12. 4) Multi-programación con particiones fijas. Problemas que presenta este tipo de asignación de memoria: • Debe proporcionarse reubicación: o ¿En que partición entrará el proceso?. • Existe Fragmentación Interna y Externa: o Interna: Una partición asignada y no ocupada totalmente por el proceso. o Externa: Un proceso quiere ejecutarse, hay una partición libre, pero de menor tamaño que el proceso.
  • 13. 4) Multi-programación con particiones fijas. • Necesidad de protección: (en sistemas multiprogramados) o Un proceso no acceda al área de memoria del otro. o Si la reubicación es dinámica puede usarse registros base-límite.
  • 14. 4) Multi-programación con particiones fijas. • Se divide la memoria en n particiones • El espacio que no se usa se desperdicia
  • 15. 5) Swapping. Es mover un proceso o parte de él temporalmente desde la memoria principal a un dispositivo secundario de almacenamiento (memoria de apoyo) para luego devolverlo a la memoria principal. El propósito de esta técnica es que el sistema operativo sea capaz de asignar más memoria de la que tiene físicamente.
  • 16. 5) Swapping. La memoria de apoyo debiera ser rápida y de tamaño suficiente para almacenar las copias de imágenes de memoria de los procesos, también debe proporcionar acceso directo a estas imágenes. El disco duro es usualmente quien funciona como memoria de apoyo.
  • 17. 5) Swapping. • Todos los sistemas operativos actuales cuentan con alguna versión de swapping (Windows, Linux y UNIX). El sistema mantiene una cola de procesos en estado ready que están listos para ser ejecutados y cuyas imágenes de memoria se encuentran en el disco.
  • 18. 6) Multi-programación con particiones variables • Cada proceso ocupa tanto espacio como necesite, pero no puede superar el espacio disponible de memoria. • La partición de un trabajo es su propio tamaño ya que no hay límites fijos de memoria.
  • 19. 6) Multi-programación con particiones variables • Se dan esquemas de asignación contigua dado que un programa debe ocupar posiciones adyacentes de almacenamiento. • Los procesos que terminan dejan espacios disponibles de memoria principal llamados agujeros. • Los trabajos pueden ser colocados dentro de cualquier participación disponible en la que quieran.
  • 20. 7) Administración de la memoria con mapas bits • Cuando la memoria se asigna dinámicamente, el sistema operativo debe administrarla. • Con un mapa de bits, la memoria se divide en unidades de asignación, ya sea sólo de unas cuantas palabras o quizá de varios kilobytes.
  • 21. 7) Administración de la memoria con mapas bits • Se divide la memoria en unidades de asignación • 1 bit representa el estado de cada unidad » 1: está asignada » 0: está libre • Tamaño de la unidad o Cuanto menor, mayor el mapa o Cuanto mayor, más desperdicio de la memoria
  • 22. 8) Administración de la memoria con listas ligadas • Una forma de llevar el control de la memoria es mantener una lista ligada de segmentos de memoria asignados y libres, donde un segmento es un proceso, o bien, un hueco entre dos procesos.
  • 23. 8) Administración de la memoria con listas ligadas • Características Si la lista se ordena por dirección es más fácil su actualización. Si hay dos listas, una para memoria usada y otra para huecos, la asignación es más rápida, pero la liberaciones más lenta. Mantiene una lista enlazada de segmentos de memoria asignados y libres.
  • 24. 8) Administración de la memoria con listas ligadas • Lista ordenada por direcciones Si la lista se mantiene ordenada por dirección, podemos usar uno de los siguientes algoritmos para escoger un hoyo donde poner un nuevo proceso. Primer ajuste • Primer ajuste: Asigna el primer hoyo que sea suficientemente grande como para contener al proceso. • Mejor ajuste: Asignar el menor hoyo en el que el proceso quepa • Peor ajuste: Asignar el mayor hoyo
  • 25. 8) Administración de la memoria con listas ligadas • Cada vez que se asigna un hoyo a un proceso, se convierte en un segmento asignado y un hoyo más pequeño. Mejor ajuste deja hoyos pequeños Peor ajuste deja hoyos grandes. Primer ajuste es más rápido. Primer ajuste y Mejor ajuste son mejores en términos de utilización de la memoria.
  • 26. 8) Administración de la memoria con listas ligadas • La memoria de la siguiente figura está mostrada como una lista ligada de segmentos donde cada entrada de la lista especifica un hueco(H) o un proceso(P), la dirección donde comienza, su longitud y un apuntador a la siguiente entrada.
  • 27. 9) Administración de la memoria con el sistema de los asociados. • Permite acelerar la traducción • Se basa en la observación de que la mayoría de los programas hacen un gran número de referencias a un pequeño número de páginas.
  • 28. 9) Administración de la memoria con el sistema de los asociados. • Se equipa a la máquina con un dispositivo hardware que permite asociar direcciones virtuales con físicas: la memoria asociativa o Parte de la MMU o Número pequeño de entradas o Búsqueda en todas las entradas en paralelo
  • 29. 9) Administración de la memoria con el sistema de los asociados. • Para la traducción: o Se comprueba si está la información en la memoria asociativa o Si está: ya se puede hacer la traducción o En c.c.: búsqueda normal
  • 30. 9) Administración de la memoria con el sistema de los asociados. • Proporción de encuentros: proporción de referencias a memoria que pueden ser satisfechas a partir de la memoria asociativa. o Cuanto mayor, mayor el rendimiento
  • 31. 10) Memoria Virtual en el Sistema Operativo. • Los programas pueden ser más grandes que la memoria • Solución adoptada: • Dividir el programa en partes llamadas overlays • La ejecución empieza en el primer overlay • Cuando termina se llama al siguiente y así • Se pueden tener en memoria varios overlays
  • 32. 10) Memoria Virtual en el Sistema Operativo. • El SO se encarga del intercambio • De la partición del programa el programador • Permite que un proceso sea mayor que la cantidad de memoria disponible. • En memoria están las partes del programa que se están utilizando, el resto en disco.
  • 33. 10) Memoria Virtual en el Sistema Operativo. • En multiprogramación: - En memoria sólo una parte del programa • Se pueden tener más programa • Memoria de 2M: - 2 programas de 1M completamente en memoria. - 8 programas con 1/4 de M cada uno en memoria.
  • 34. 10) Memoria Virtual en el Sistema Operativo. • Cuando un programa está a la espera de que se cargue en memoria una porción del mismo, está esperando una E/S y se puede seguir con otro programa. • Es usual utilizar paginación.
  • 35. 11) Paginación • Definición Es una estrategia de organización de la memoria física que consiste en dividir la memoria en porciones de igual tamaño. A dichas porciones se las conoce como páginas físicas o marcos. La división de la memoria en páginas facilita la gestión de la memoria física.
  • 36. 11.1) Pagina • Dirección virtual: dirección generada por un programa. • Espacio de direcciones virtuales: direcciones que puede generar un programa. • Se divide en unidades llamadas páginas • Las páginas y los marcos tienen idéntico tamaño. • La transferencia entre memoria y disco se realizan siempre en unidades de páginas.
  • 37. 11.1) Pagina • Si no hay memoria virtual, las direcciones generadas por un programa son direcciones físicas. • Con memoria virtual, las direcciones se mandan a la unidad de gestión de memoria (MMU) • Dispositivo que se encarga de traducir dinámicamente las direcciones virtuales en físicas.
  • 38. 11.2) Marco de página • ¿Cuántos marcos se asignan a cada proceso en un sistema multiprogramado? • Estrategias de asignación – Asignación fija Los marcos de memoria existentes se dividen: o Equitativamente: nº marcos/nº procesos o Proporcionalmente: se asignan más marcos a procesos más grandes.
  • 39. 11.2) Marco de página • Asignación dinámica: oLa cantidad de marcos de cada proceso varía dinámicamente según la necesidades del mismo oPuede aplicarse a: - reemplazo local, cada proceso varia la cantidad de marcos que utiliza. - reemplazo global, los procesos compiten por el uso de memoria.
  • 40. 11.3) MMU • Funcionamiento de MMU o 16 procesos o Páginas de 4K o 1024 páginas por proceso o espacio de direcciones virtuales del proceso de 4M
  • 41. 11.3) MMU o Espacio de direcciones virtuales total de 64 M. o 64 segmentos por proceso. o 16 páginas por segment. o 64 K por segmento.
  • 42. 11.4) Tabla de páginas • Son una parte integral del Sistema de MemoriaVirtual en sistemas operativos, cuando se utiliza paginación. Son usadas para realizar las traducciones de direcciones de memoria virtual (o lógica) a memoria real (o física) y en general el sistema operativo mantiene una por cada proceso corriendo en el sistema.
  • 43. 11.4) Tabla de páginas • En hardware sólo se necesita un registro que apunte al inicio de la tabla de páginas. • El cambio de contexto: modifica un registro • Desventaja: o Hay que hacer una o más referencias a memoria por cada instrucción para acceder a la tabla de páginas.
  • 44. 11.5) Algoritmos de reemplazo de páginas Introducción: • Son usados para decidir qué páginas pueden ser sacadas de memoria cuando se necesita cargar una nueva y ya no hay marcos de páginas libres. • Se puede elegir aleatoriamente la página, pero es más eficiente sacar una que no se vaya a utilizar pronto.
  • 45. 11.6) Páginas Óptimas 11.6) Óptimo • Este algoritmo tiene como finalidad retirar la página que vaya a ser referenciada más tarde, por ejemplo si hay una página A que será usada dentro de 10000 instrucciones, y una página B que será usada dentro de 2800 instrucciones, se debería eliminar de la memoria la página A.
  • 46. 11.7) La menor usada recientemente • 11.7) Menos usada recientemente (Least Recently Used, LRU) Este algoritmo de 'Menos usada recientemente' intenta proveer un comportamiento casi óptimo mediante la observación de las páginas que menos fueron usadas recientemente. Este tipo de páginas, estadísticamente son las que tienen menor probabilidad de ser usadas nuevamente.
  • 47. 11.8) Primero en entrar, primero en salir • 11.8) FIFO (First In, First Out): En este método, el sistema operativo sólo tiene que guardar en orden las páginas que fueron cargadas, de modo que al necesitar hacer espacio pueda fácilmente elegir la primera página cargada. Se usa una cola, al cargar una página nueva se ingresa en el último lugar.
  • 48. 11.9) Segunda Oportunidad • 11.9) Segunda oportunidad (Reloj): Es una pequeña modificación al algoritmo FIFO, que funciona bastante mejor que el FIFO. En este caso cuando una página debe ser sacada se toma la primera en la cola, y en vez de sacarla, consulta el valor de un bit de referencia.
  • 49. 11.10) Páginas de reloj • 11.10) De paginas de reloj (CLOCK) (Reloj mejorado) Existe una mejora en el algoritmo de segunda oportunidad que presenta una mejora en la implementación. Es el algoritmo del CLOCK, que lo que hace es tener una lista circular, de forma que al llegar al último elemento de la lista, pasa automáticamente al primero.
  • 50. 11.11) No usada recientemente • 11.11) No usada recientemente (Not Recently Used, NRU) Este algoritmo favorece a las páginas que fueron usadas recientemente. Funciona de la siguiente manera: cuando una página es referenciada, fija el bit de referencia para esa página. Similarmente, cuando una página es modificada, fija su bit de modificación. Categoría 0: no referenciada, no modificada Categoría 1: no referenciada, modificada Categoría 2: referenciada, no modificada Categoría 3: referenciada, modificada
  • 51. 11.12) Envejecimiento • 11.12) Envejecimiento (Aging) Desciende del algoritmo "No usada frecuentemente", con algunas modificaciones necesarias para tener en cuenta en qué momento fue usada frecuentemente una página, y no solamente cuántas veces fue. En vez de sólo incrementar el contador de la página cuando es referenciada, primero se desplaza a la derecha (se divide entre 2) y después sí se suma 1.
  • 52. 12) Segmentación • – El espacio de direcciones lógicas se compone de un conjunto de segmentos: Cada uno tiene un nombre y una longitud. • – Para el usuario las direcciones especifican el nombre del segmento y el desplazamiento dentro de él.
  • 53. 12) Segmentación • El nombre del segmento se numera o <número segmento, desplazamiento> • El procesador Intel 8086 usa segmentación, los programas se separan en: • Hay una división lógica del proceso en diferentes segmentos. Segmento de Código. Segmento de Datos. Segmento de Pila.
  • 54. 12) Segmentación • Hardware de segmentación medianteTabla de segmentos: • Establece la correspondencia entre direcciones físicas y lógicas. • Se busca en la tabla de acuerdo con el número de segmento. • Cada entrada 2 registros: – base (dir. Física inicial del segmento en memoria) – límite de segmento (longitud del segmento)
  • 55. 13) Casos de estudio de Sistemas Operativos para el componente de administración de la memoria. • 13.1)VAX/VMS El sistema operativoVMS, desarrollado para la familiaVAX-11 de Digital introducida a finales de los 70, proporciona un entorno unificado para hardware con diferentes niveles de rendimiento. La gestión de memoria se encontraba muchas veces con un soporte hardware muy limitado.
  • 56. 13) Casos de estudio de Sistemas Operativos para el componente de administración de la memoria. Características VAX/VMS • Asignación de páginas local: Existe un límite máximo en el número de páginas residentes por proceso (su working-set, en terminologíaVAX/VMS). • Paginación con reemplazo FIFO y buffer de marcos global: El paginador mantiene un número adicional de marcos de página que no están asignados a los conjuntos residentes de cada proceso.
  • 57. 13) Casos de estudio de Sistemas Operativos para el componente de administración de la memoria. • Agrupamiento de páginas: El pequeño tamaño de la página delVAX causaría un rendimiento muy pobre si éstas se transfirieran individualmente entre memoria y disco. • Swapping: En determinadas circunstancias, la única forma de recuperar marcos libres es sacando de memoria el working-set completo de uno o más procesos.
  • 58. 13) Casos de estudio de Sistemas Operativos para el componente de administración de la memoria. • 12.1) UNIX: es un sistema operativo diseñado para ser instalado sobre una gran variedad de máquinas.Ya que la gestión de la memoria es muy dependiente del soporte hardware disponible, nos encontraremos con que existen diferentes formas de gestión de memoria en UNIX.
  • 59. 13) Casos de estudio de Sistemas Operativos para el componente de administración de la memoria. Características de Unix: • Asignación global y working-set: UNIX define el working-set de un proceso como el conjunto de páginas asignadas a un proceso. • Swapping: En situaciones de mucha demanda de memoria por parte de los procesos, el paginador puede no ser capaz de conseguir marcos libres a la velocidad necesaria.
  • 60. 13) Casos de estudio de Sistemas Operativos para el componente de administración de la memoria. • Escritura de páginas en disco por grupos: Si el paginador decide liberar una página y la página se ha modificado o no existe una copia en disco (por ejemplo, página iniciada a ceros), el paginador pone la página en una lista de páginas a escribir.
  • 61. 13) Casos de estudio de Sistemas Operativos para el componente de administración de la memoria. 13.2) Windows: como sistema operativo moderno, presupone un potente soporte hardware para la gestión de memoria, como es el caso de los procesadores actuales. Los procesos manejan espacios de direcciones de 32 bits. El tamaño de página es de 4 Kbytes, aunque en algunas máquinas se puede configurar.
  • 62. 13) Casos de estudio de Sistemas Operativos para el componente de administración de la memoria. Características Windows: • Paginación por demanda con clustering: A partir de un fallo de página no sólo se carga la página que ha producido el fallo sino también un conjunto de páginas adyacentes. • Asignación de páginas local: Aplica una política FIFO entre las páginas cargadas del proceso.
  • 63. 13) Casos de estudio de Sistemas Operativos para el componente de administración de la memoria. • Tamaño de working-set ajustable dinámicamente: El VM manager ajusta el tamaño de los working-sets de los procesos en función de sus comportamientos, sus cuotas de memoria y de las necesidades globales de memoria.
  • 64. Gracias por su atención