administración de la memoria
TRANSCRIPT
ADMINISTRACIÓN DE LA MEMORIA
Sistemas operacionalesIng. Beatriz Pérez
Administración de la memoria principal
Administración de la memoria auxiliar
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.
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.
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:
Administración de la memoria
Almacenamiento secundario
Almacenamiento primario
Memoria caché La CPU puedeacceder DirectamenteAl almacenamiento primario y a la memoriacaché
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
Jerarquía del almacenamiento
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
Administración de la memoria
Organización Física de la Memoria
Dispositivos ExternosTecladoMouseScaner
Hard DiskDrive
Flash Memory
RAMMemoria FísicaMemoria Virtual
CacheNivel 1Nivel 2
Registros de la CPU
Almacenamiento Temporal o de acceso aleatorio
Almacenamiento Permanente
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é.
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).
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
Administración de la memoriaEstrategias 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
Administración de la memoria
Administrador de Memoria
Las técnicas usadas son las siguientes:1. Partición Fija2. Partición Dinámica3. Paginación Simple4. Segmentación Simple5. Memoria Virtual Paginada6. Memoria Virtual Segmentada
Administración de la memoria
Técnicas de administración de memoria
PARTICIONAMIENTO
Real Real
Mono Usuario Multiprogramación
ParticionamientoPaginación
SimpleSegmentación
SimplePaginación
VirtualSegmentación
Virtual
Fija Dinámica Combinación Combinación
Virtual
Multiprogramación
Real
Multiprogramación
Reubicación, Protección
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
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.
Administración de la memoria
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
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.
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.
MemoriaVirtual
MemoriaFísica
MemoriaPrincipal
Disco Duro
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.
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.
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
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
Administración de la memoria
Ejemplo de Segmentación
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
Administración de la memoria
Modelo de Paginación de Memoria Lógica y Física
ADMINISTRACIÓN DE LA MEMORIA AUXILIAR
Sistemas operacionalesIng. Beatriz Pérez
Administración de la memoria auxiliar
Dispositivos FísicosMedios de almacenamiento
Memoria
Discos ópticos
CD-Rom DVD
Computador
Flash
Disco Externo
Disco
Rom
Diskette
Ram
Sd
cache
Administración de la memoria auxiliar
Almacenamiento secundario o auxiliar
Administración de almacenamiento secundario
Los programas deben de cargarse a memoria desde dispositivos de almacenamiento secundario
El sistema operativo es el responsable deAdministrar el espacio libreUbicación del almacenamientoPlanificación del disco
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 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.
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.
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.
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”.
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.
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.
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.
Administración de la memoria auxiliar
Sistema de archivos
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
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.
Administración de la memoria auxiliarDiscos
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
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
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