1. ADMINISTRACIÓN
DE LA MEMORIA
Administración de la memoria
Sistemas operacionales
Ing. Beatriz Pérez
principal
Administración de la memoria
auxiliar
2. Administración de la
memoria
La memoria es un array de words y bytes, cada uno con su
dirección propia. Es un repositorio de datos de rápido acceso
compartido por el CPU y los dispositivos de E/S
La memoria principal es un dispositivo de almacenamiento volátil.
Pierde su contenido en caso de interrupción del sistema y falla.
La organización y administración de la memoria principal,
memoria primaria o memoria real de un sistema ha sido y es uno
de los factores más importantes en el diseño de los S. O.
Los términos memoria y almacenamiento se consideran
equivalentes.
Los programas y datos deben estar en el almacenamiento
principal para:
Poderlos ejecutar.
Referenciarlos directamente.
3. La parte del S. O. que administra la memoria se llama administrador
de la memoria:
• Lleva un registro de las partes de memoria que se están
utilizando y de aquellas que no.
• Asigna espacio en memoria a los procesos cuando estos la
necesitan.
• Libera espacio de memoria asignada a procesos que han
terminado.
Administración de la
memoria
Históricamente el almacenamiento principal se
ha considerado como un recurso costoso, por lo
cual su utilización debe optimizarse.
4. Administración de la
memoria
Jerarquía de Almacenamiento
Los programas y datos tienen que estar en la memoria principal
para poder ejecutarse o ser referenciados.
Los programas y datos que no son necesarios de inmediato
pueden mantenerse en el almacenamiento secundario.
El almacenamiento principal es más costoso y menor que el
secundario pero de acceso más rápido.
Los sistemas con varios niveles de almacenamiento requieren
destinar recursos para administrar el movimiento de programas
y datos entre niveles:
5. Administración de la
memoria
Jerarquía del almacenamiento
Memoria caché La CPU puede
Almacenamiento primario
Almacenamiento secundario
acceder
Directamente
Al almacenamiento
primario
y a la memoria
caché
Los programas y
datos se deben
Pasar primero a la
MP para que la
CPU pueda
Referirse a ellos
Aumenta la velocidad de
acceso al
almacenamiento
Aumenta el costo de
almacenamiento por bit
Disminuye la capacidad
de almacenamiento
6. Administración de la
memoria
Procesos y Memoria
Para que un proceso se ejecute se requiere ubicarlo en memoria
principal junto con los datos que direcciona.
Para optimizar el uso del computador se requiere tener varios
procesos en memoria principal, (grado de multiprogramación)
Memoria Principal
la memoria principal y los registros son el
único almacenamiento al que la CPU
puede acceder directamente
7. Administración de la
memoria
Organización Física de la Memoria
Registros de la CPU
Cache
Nivel 1
Nivel 2
RAM
Memoria Física
Memoria Virtual
Hard Disk
Drive
Flash Memory
Dispositivos Externos
Teclado
Mouse
Scaner
Almacenamiento
Temporal o
de acceso aleatorio
Almacenamiento
Permanente
8. Administración de la
memoria
Caché
Un nivel adicional es el caché o memoria de alta velocidad, que
posee las siguientes características:
Es más rápida y costosa que la memoria principal.
Impone al sistema un nivel más de traspaso:
Los programas son traspasados de la memoria principal al
caché antes de su ejecución.
Los programas en la memoria caché ejecutan mucho más
rápido que en la memoria principal.
Al utilizar memoria caché se espera que:
La sobrecarga que supone el traspaso de programas de un
nivel de memoria a otro sea mucho menor que la mejora en
el rendimiento obtenida por la posibilidad de una ejecución
mucho más rápida en la caché.
9. Administración de la
memoria
Administrador de Memoria
El administrador de memoria tiene como objetivos:
Ubicar, reemplazar, cargar y descargar procesos en la memoria
principal.
Proteger la memoria de acceso indeseados (accidentales o
intencionados).
Permitir la compartición de zonas de memoria (indispensable
para lograr la cooperación de procesos).
10. Administración de la
memoria
Requisitos del administrador de memoria
1. Reubicación. Permitir el recálculo de direcciones de memoria
de un proceso reubicado.
2. Protección. Evitar el acceso a posiciones de memoria sin el
permiso expreso. (no direcciones absolutas).
3. Compartición. Permitir a procesos diferentes acceder a la misma
porción de memoria.
4. Organización Lógica. Permitir que los programas se escriban
como módulos compilables y ejecutables por separado.
5. Organización Física. Permitir el intercambio de datos en la
memoria primaria y secundaria
11. Administración de la
memoria
Estrategias de administración de almacenamiento
Están dirigidas a la obtención del mejor uso del recurso memoria
principal, estas pueden ser:
Obtención: Determinan cuándo debe obtenerse
información de MS y transferirla a MP.
Colocación: Dónde se coloca la información que está
entrando en MP.
Reemplazo: Qué información que está en MP sale para
dejar lugar a la nueva información entrante
12. Administración de la
memoria
Administrador de Memoria
Las técnicas usadas son las siguientes:
1. Partición Fija
2. Partición Dinámica
3. Paginación Simple
4. Segmentación Simple
5. Memoria Virtual Paginada
6. Memoria Virtual Segmentada
13. Administración de la
memoria
Técnicas de administración de memoria
PARTICIONAMIENTO
Real Real
Real
Mono Usuario Multiprogramación
Particionamiento
Multiprogramación
Paginación
Simple
Segmentación
Simple
Virtual
Multiprogramación
Paginación
Virtual
Segmentación
Virtual
Fija Dinámica Combinación Combinación
Reubicación, Protección
14. Administración de la
memoria
Administración básica de la Memoria
Monoprogramación sin intercambio
Tres maneras simples de organizar la memoria
un sistema operativo con un solo proceso de usuario
Este es un esquema de monoprogramación que aunque es sin
dudas el más rápido de programar no se utiliza por ningún
sistema operativo moderno por las razones de eficiencia y
metas de diseño mencionadas con anterioridad
15. Administración de la
memoria
Multiprogramación y Uso de la Memoria
Multiprogramación con particiones fijas
El análisis hasta aquí demuestra la utilidad de que múltiples
procesos se encuentren en la memoria.
¿Cómo debe organizarse la memoria para garantizar esto?
La forma más sencilla es dividir le memoria en n partes que
podrían ser de tamaños diferentes y asociar una cola de
trabajos por cada partición o quizás una cola única para
todas las particiones.
La memoria que no utilice un proceso dentro de la partición
que le fue asignada se desperdicia. Esto se conoce como
sobrecarga interna.
16. Administración de la
memoria
Administrador de Memoria
Sistema
Operativo
Sistema
Operativo
Sistema multiprogramado
Múltiples programas comparten diversas particiones
de memoria Particiones de tamaño fijo
Particiones de tamaño variable
17. Administración de la
memoria
Memoria Virtual
La necesidad cada vez más imperiosa de ejecutar programas
grandes y el crecimiento en poder de las unidades centrales
de procesamiento empujaron a los diseñadores de los
sistemas operativos a implantar un mecanismo para ejecutar
automáticamente programas más grandes que la memoria
real disponible, esto es, de ofrecer `memoria virtual‘.
La memoria virtual se llama así porque el programador ve una
cantidad de memoria mucho mayor que la real, y en realidad
se trata de la suma de la memoria de almacenamiento
primario y una cantidad determinada de almacenamiento
secundario.
18. Administración de la
memoria
Memoria Virtual
La memoria principal es pequeña
como para acomodar todos
programas y datos
permanentemente.
Por lo que es necesario implementar
mecanismos de memoria virtual.
La memoria virtual es una técnica
para dar la ilusión de tener más
memoria que la memoria principal.
Memoria
Virtual
Memoria
Física
Memoria
Principal
Disco Duro
19. Administración de la
memoria
Memoria virtual
La idea es proporcionar un espacio de direcciones de memoria
mucho mayor que el que la MP o MR proporciona.
Para ello se usa la MP y también algo de MR.
Hay dos técnicas: paginación y segmentación.
20. Administración de la
memoria
Memoria Virtual
El uso de la memoria virtual involucra un conjunto de prestaciones
del hardware, las direcciones manejadas por el CPU son
procesadas por un elemento de hardware que se llama unidad de
administración de la memoria y que tienen la responsabilidad de
convertir las direcciones virtuales a físicas.
21. Administración de la
memoria
Segmentación
Esquema de administración de memoria que da soporte a la
visión de la memoria del usuario
Un programa es una colección de segmentos. Un segmento
es una unidad lógica como:
programa principal,
procedimiento, función, método, objeto,
variables locales, variables globales,
bloque común,
pila, tabla de símbolos, arreglos
22. Administración de la
memoria
Arquitectura de Segmentación
Una dirección lógica es una tupla:
<número_de_segmento, desplazamiento>,
tabla de segmentos – proyecta las direcciones físicas bi-dimensionales,
cada entrada tiene:
base – la dirección física de inicio del segmento en memoria
límite – especifica la longitud del segmento
registro básico de tabla de segmentos (Segment-table base
register (STBR)) apunta a la ubicación de la tabla de segmentos
en memoria
registro de la longitud de la tabla de segmentos (Segment-table
length register (STLR)) indica el número de segmentos
usados por un programa
el número de segmento s es legal si s < STLR
24. Administración de la
memoria
Modelo de Paginación
de Memoria Lógica y Física
Solución eficiente a la fragmentación externa (no interna):
se divide la memoria física en bloques de tamaño fijo
llamados frames (marcos de página)
tamaño potencia de 2, entre 512 y 8.192 bytes
se divide la memoria lógica en bloques del mismo tamaño
llamados pages (páginas)
una tabla registra la traducción de direcciones lógicas a
físicas
para ejecutar un programa de tamaño n páginas, se
requieren n marcos libres y cargar el programa en ellos
el espacio de direcciones lógicas puede ser no contiguo,
se asigna memoria a un proceso siempre que haya memoria
total suficiente
25. Administración de la
memoria
Modelo de Paginación
de Memoria Lógica y Física
27. Administración de la
memoria auxiliar
Dispositivos Físicos
Medios de almacenamiento
Memoria
Discos
ópticos
CD-Rom
DVD
Computador
Flash
Disco
Externo
Disco
Diskette
Rom
Ram
Sd
cach
e
28. Administración de la
memoria auxiliar
Almacenamiento secundario o auxiliar
Se considera almacenamiento secundario o almacenamiento
auxiliar al generalmente soportado en discos.
Los hechos demuestran que generalmente los programas crecen
en requerimientos de memoria tan rápido como las memorias:
Ley de Parkinson parafraseada: Los programas se desarrollan
para ocupar toda la memoria disponible para ellos.
Administración de almacenamiento secundario
Los programas deben de cargarse a memoria desde
dispositivos de almacenamiento secundario
El sistema operativo es el responsable de
Administrar el espacio libre
Ubicación del almacenamiento
Planificación del disco
29. Administración de la
memoria auxiliar
Todas las aplicaciones computarizadas necesitan almacenar y
recuperar la información, superando las limitaciones del
almacenamiento real.
Trascendiendo a la duración de los procesos que las utilizan o generan.
Independizando a la información de los procesos permitiendo el
acceso a la misma a través de varios procesos.
Las condiciones esenciales para el almacenamiento de la información
a largo plazo son:
•Debe ser posible almacenar una cantidad muy grande de
información.
•La información debe sobrevivir a la conclusión del proceso que la
utiliza.
•Debe ser posible que varios procesos tengan acceso concurrente
a la información.
30. Administración de la
memoria auxiliar
La solución es el almacenamiento de la información en discos y otros
medios externos en unidades llamadas archivos:
•Los archivos deben ser persistentes, es decir que no deben verse
afectados por la creación o terminación de un proceso.
•Los archivos son una colección de datos con nombre.
•Pueden ser manipulados como una unidad por operaciones
como: open, close, create, destroy, copy, rename, list.
•Los elementos de datos individuales dentro del archivo pueden ser
manipulados por operaciones como: read, write, update, insert,
delete.
El “Sistema de Archivos” es la parte del sistema de administración del
almacenamiento responsable, principalmente, de la administración de
los archivos del almacenamiento secundario.
Es la parte del S.O. responsable de permitir “compartir
controladamente” la información de los archivos.
31. Administración de la
memoria auxiliar
Los usuarios deben poder crear, modificar y borrar archivos.
Se deben poder compartir los archivos de una manera
cuidadosamente controlada
El mecanismo encargado de compartir los archivos debe
proporcionar varios tipos de acceso controlado:
Ej.: “Acceso de Lectura”, “Acceso de Escritura”, “Acceso de
Ejecución”, varias combinaciones de estos, etc.
Se debe poder estructurar los archivos de la manera más
apropiada a cada aplicación. Los usuarios deben poder ordenar
la transferencia de información entre archivos.
32. Administración de la
memoria auxiliar
Se deben proporcionar posibilidades de “respaldo” y
“recuperación” para prevenirse contra:
La pérdida accidental de información.
La destrucción maliciosa de información.
Se debe poder referenciar a los archivos mediante “Nombres
Simbólicos”, brindando “Independencia de Dispositivos”. En
ambientes sensibles, el sistema de archivos debe proporcionar
posibilidades de “Cifrado” y “Descifrado”.
El sistema de archivos debe brindar una interfase favorable al
usuario:
Debe suministrar una “visión lógica” de los datos y de las
funciones que serán ejecutadas, en vez de una “visión física”.
33. Administración de la
memoria auxiliar
El usuario no debe tener que preocuparse por:
Los dispositivos particulares.
Dónde serán almacenados los datos.
El formato de los datos en los dispositivos.
Los medios físicos de la transferencia de datos hacia y
desde los dispositivos.
34. Administración de la
memoria auxiliar
Un “Archivo” es un conjunto de registros relacionados
El “Sistema de Archivos” es un componente importante de un S.
O. y suele contener:
•“Métodos de acceso” relacionados con la manera de
acceder a los datos almacenados en archivos.
•“Administración de archivos” referida a la provisión de
mecanismos para que los archivos sean almacenados,
referenciados, compartidos y asegurados.
•“Administración del almacenamiento auxiliar” para la
asignación de espacio a los archivos en los dispositivos de
almacenamiento secundario.
•“Integridad del archivo” para garantizar la integridad de la
información del archivo.
35. Administración de la
memoria auxiliar
El sistema de archivos está relacionado especialmente con la
administración del espacio de almacenamiento secundario,
fundamentalmente con el almacenamiento de disco. Una forma
de organización de un sistema de archivos puede ser la siguiente:
•Se utiliza una “raíz ” para indicar en qué parte del disco
comienza el “directorio raíz ”.
•El “directorio raíz ” apunta a los “directorios de usuarios”.
•Un “directorio de usuario” contiene una entrada para cada
uno de los archivos del usuario.
•Cada entrada de archivo apunta al lugar del disco donde
está almacenado el archivo referenciado.
Los nombres de archivos solo necesitan ser únicos dentro de un
directorio de usuario dado. El nombre del sistema para un archivo
dado debe ser único para el sistema de archivos.
En sistemas de archivo “jerárquicos” el nombre del sistema para un
archivo suele estar formado como el “nombre de la trayectoria”
del directorio raíz al archivo.
37. Administración de la
memoria auxiliar
Almacenamiento Secundario
Administración del disco :: Formateo
•Salida de la fábrica ==> disco en blanco.
•Formateo Físico :
•Disco es dividido en sectores
HEAD
CRC
DATA
Sector
38. Administración de la
memoria auxiliar
Almacenamiento Secundario
Confiabilidad del disco
Se requiere que los datos estén siempre disponibles.
De alguna manera, se debe tener cierta redundancia.
RAID.
39. Administración de la
Discos memoria auxiliar
Dispositivos para para almacenamiento no volátil.
Plataforma para el sistema de intercambio que usa el gestor
de memoria virtual.
Son dispositivos electromecánicos (HARD DISK) u
optomecánicos (CD-ROM y DVD), se acceden a nivel de
bloques por el sistema de archivos
40. Administración de la
memoria auxiliar
Característica de los DD
Un DD es un DES de gran capacidad
compuesto de superficies magnetizadas y
cabezas lectoras.
Las superficies están divididas en cilindros
(pistas) y sectores por pista. El tamaño del
sector es 512 bytes.
Capacidad del disco:
Capacidad = cilindros * pistas * sectores *
tamaño sector
discos Pistas = tracks sectores
41. Administración de la
memoria auxiliar
Planificación de disco
El SO es responsable de usar el hardware de forma eficiente.
El tiempo de acceso tiene dos componentes principales:
búsqueda: tiempo que tarda el brazo del disco para
mover las cabezas hasta el cilindro que contiene el sector
deseado
latencia: tiempo de espera adicional para que el disco
gire hasta ponerse sobre el sector deseado
Objetivo: minimizar el tiempo de búsqueda, que es
directamente proporcional a la distancia de búsqueda
Ancho de banda: bytes transferidos / tiempo de
transferencia