0% encontró este documento útil (0 votos)
44 vistas21 páginas

Sis. Operativo Cap. 3

Este documento describe los conceptos fundamentales de la administración de memoria en sistemas operativos. Explica las diferentes abstracciones de memoria como sin abstracción, espacios de direcciones y memoria virtual. También describe algoritmos comunes de reemplazo de páginas como FIFO, LRU y óptimo. Finalmente, introduce los conceptos de paginación, segmentación y algunos problemas de diseño relacionados con la administración de memoria.

Cargado por

Emmanuel Alvarez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
44 vistas21 páginas

Sis. Operativo Cap. 3

Este documento describe los conceptos fundamentales de la administración de memoria en sistemas operativos. Explica las diferentes abstracciones de memoria como sin abstracción, espacios de direcciones y memoria virtual. También describe algoritmos comunes de reemplazo de páginas como FIFO, LRU y óptimo. Finalmente, introduce los conceptos de paginación, segmentación y algunos problemas de diseño relacionados con la administración de memoria.

Cargado por

Emmanuel Alvarez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 21

Sistema Operativo

1
INDICE DEL TEMA
CAPITULO 3 - ADMINISTRACION DE MEMORIA
3.1 Sin abstracción de memoria
3.2 Una abstracción de memoria: espacios de
direcciones
3.3 Memoria virtual
3.4 Algoritmos de reemplazo de página
3.5 Problemas de diseño para sistemas de paginación
3.6 Problemas de implementación
3.7 Segmentación
2
Sistema Operativo 1
3.0 Administración de
memoria.

3
ADMINISTRACIÓN DE MEMORIA.
 Concepto
La parte del sistema operativo que administra la memoria y su labor
consiste en llevar un registro de las partes de memoria que se estén
utilizando y aquellas que no, con el fin de asignar espacio en memoria a
los procesos cuando éstos la necesiten y liberándola cuando terminen.

 Funciones:

 Su trabajo es administrar la memoria con eficiencia.


 Llevar el registro de cuales partes de la memoria están en uso.
 Asignar memoria a los procesos cuando la necesiten.
 Desasignar la memoria cuando los procesos terminen.

 Esquemas:
 Sin abstracción de memoria
 Espacios de direcciones
 Memoria virtual
 Algoritmos de remplazo de páginas

4
Sistema Operativo 1
3.1 ¿Sin abstracción de
memoria?

5
SIN ABSTRACCIÓN DE MEMORIA
La abstracción más simple de memoria es ninguna abstracción, las primeras computadoras mainframe no
tenían abstracción de memoria sino que cada programa veía simplemente la memoria física. Comúnmente
bajo estas condiciones, no era posible tener dos programas ejecutándose en memoria al mismo tiempo, ya
que si el primer programa escribía un valor. Por ejemplo en, la ubicación 5000, esto borraría cualquier
valor que el segundo programa estuviera almacenando ahí. Ambos programas fallarían de inmediato.

Ejemplo : MOV REGISTRO 4 , 1500

En este caso la computadora movía el contenido de


la ubicación de la memoria física 1500 a REGISTRO
4.

6
Sistema Operativo 1
SIN ABSTRACCIÓN DE MEMORIA

7
Sistema Operativo 1
3.2 Una abstracción de memoria:
espacios de direcciones

8
UNA ABSTRACCIÓN DE MEMORIA: ESPACIOS DE DIRECCIONES
Se trata de como separar las direcciones de memoria para trabajar con varios programas abiertos.

La noción de un espacio de direcciones: Un espacio de direcciones(address space) es el conjunto de direcciones


que un proceso puede llegar a utilizar para así direccionar la memoria entonces decimos que cada proceso
tiene su propio espacio de direcciones.

Ejemplos de espacio de direcciones en otros contextos:

•Números de teléfono: Números del 0 000 000 al 9 999 999


•Puertos de E/S en un PC: Puertos del 0 al 16383
•Direcciones IP: Direcciones de 0 a 2^23 -1
•Dominios en internet: Por ejemplo todas las direcciones que
finalicen con “.com”

Registro Base y Limite:

El registro base y el registro límite pueden servir para localizar


direcciones de memoria.
•Registro límite : tamaño máximo del programa y los datos
•Registro base  : posición de inicio del programa en memoria

9
Sistema Operativo 1
3.3 Memoria virtual

10
MEMORIA VIRTUAL
La memoria virtual es una técnica de gestión de la memoria que se encarga de que
el sistema operativo disponga, tanto para el software de usuario como para sí mismo,
de mayor cantidad de memoria que esté disponible físicamente.

Aunque la memoria virtual podría estar implementada por el software del sistema
operativo, en la práctica casi siempre se usa una combinación de hardware y software,
dado el esfuerzo extra que implicaría para el procesador.
La traducción de las direcciones virtuales a reales es implementada por una Unidad
de Manejo de Memoria (MMU).
 Que al hacer la traducción, la dirección se encuentre en la memoria física.
 
 Que al hacer la traducción la dirección se encuentre en la memoria
secundaria lo que provocaría una excepción.

El Swap es el espacio que el disco duro tiene para intercambiar la


memoria física con la memoria virtual. 
Fallo de página cuando un programa intenta acceder a un bloque
de memoria que no está almacenado en la memoria física, o RAM.
11
Sistema Operativo 1
3.3 La paginación

12
PAGINACIÓN
Esta técnica consiste en dividir la memoria en espacios
de igual tamaño llamados páginas, en la memoria
lógica y marcos de página en la memoria física.

Surgió de la necesidad de mantener más de un


programa residente en memoria cuando la capacidad
e ésta es inferior a la suma de los tamaños de los
programas.

 Para ejecutar un programa de tamaño de n páginas, se


necesita encontrar n marcos libres y cargar el programa.

 Se inicializa una tabla de páginas para traducir las


direcciones lógicas a físicas.

 Fragmentación interna.

13
Sistema Operativo 1
14
3.4 Algoritmos de
reemplazo de página

15
ALGORITMOS DE REEMPLAZO DE PÁGINA

Algoritmo Optimo 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. Como se puede deducir, para esto
el sistema operativo debería ver en cuánto tiempo será usada cada página en memoria y elegir la que
está más distante.

Algoritmo Primero Entrar, Primero en Salir o FIFO (First In, First Out)
En este método, el sistema operativo solo 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.
Aunque las colas FIFO son simples e intuitivas, no se comportan de manera aceptable en la aplicación práctica, por lo que es raro su
uso en su forma simple.

16
ALGORITMOS DE REEMPLAZO DE PÁGINA

Reemplazo Menos Recientemente Usado o LRU (Least Recently Used)


Se basa en la observación de las paginas que no se han utilizado con frecuencia en las ultimas
instrucciones, se sustituye la página menos recientemente usada. Se recuerda el instante en que
cada página se usó por última vez, y en caso de reemplazo se escoge la página que tiene más
tiempo sin usarse.

8 1 2 3 1 4 1 5 3 4 1 4

Marcos

17
Sistema Operativo 1
3.5 Problemas de diseño
para sistemas de
paginación.
18
3.7 Segmentación

20
SEGMENTACIÓN
Consiste en dividir la memoria en espacios al igual que la
Paginación pero a diferencia de esta, la divide en
espacios de diferente tamaño. Mostramos en la imagen la
relación entre la memoria lógica y la física a través de la
Tabla de Descriptores de Segmento (TDS).

Modularidad de programas: cada rutina del programa puede ser un


bloque sujeto a cambios y recopilaciones, sin afectar por ello al resto del
programa.

Estructuras de datos de largo variable: cada estructura tiene su propio


tamaño y este puede variar.

Protección: se puede proteger los módulos del segmento contra accesos


no autorizados.

Compartición: los procesos pueden compartir un mismo segmento.

Enlace dinámico entre segmentos: puede evitarse realizar todo el


proceso de enlace antes de comenzar a ejecutar un programa. Los enlaces
se establecerán solo cuando sea necesario.

21
Sistema Operativo 1
“Gracias”
por su atención
y participación.
Gerald Williams Silvania Javiel.
809-837-4480
[email protected]

22

También podría gustarte