Administración de la memoria

41
ADMINISTRACIÓN DE LA MEMORIA Sistemas operacionales Ing. Beatriz Pérez Administración de la memoria principal Administración de la memoria auxiliar

Transcript of Administración de la memoria

Page 1: Administración de la memoria

ADMINISTRACIÓN DE LA MEMORIA

Sistemas operacionalesIng. Beatriz Pérez

Administración de la memoria principal

Administración de la memoria auxiliar

Page 2: Administración de la memoria

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.

Page 3: Administración de la memoria

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.

Page 4: Administración de la memoria

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:

Page 5: Administración de la memoria

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

Page 6: Administración de la memoria

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

Page 7: Administración de la memoria

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

Page 8: Administración de la memoria

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é.

Page 9: Administración de la memoria

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).

Page 10: Administración de la memoria

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

Page 11: Administración de la memoria

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

Page 12: Administración de la memoria

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

Page 13: Administración de la memoria

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

Page 14: Administración de la memoria

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

Page 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.

Administración de la memoria

Page 16: 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

Page 17: Administración de la memoria

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.

Page 18: Administración de la memoria

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

Page 19: Administración de la memoria

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.

Page 20: Administración de la memoria

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.

Page 21: Administración de la memoria

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

Page 22: Administración de la memoria

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

Page 23: Administración de la memoria

Administración de la memoria

Ejemplo de Segmentación

Page 24: Administración de la memoria

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

Page 25: Administración de la memoria

Administración de la memoria

Modelo de Paginación de Memoria Lógica y Física

Page 26: Administración de la memoria

ADMINISTRACIÓN DE LA MEMORIA AUXILIAR

Sistemas operacionalesIng. Beatriz Pérez

Page 27: Administración de la memoria

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

Page 28: Administración de la memoria

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.

Page 29: Administración de la memoria

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.

Page 30: Administración de la memoria

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.

Page 31: Administración de la memoria

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.

Page 32: Administración de la memoria

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”.

Page 33: Administración de la memoria

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.

Page 34: Administración de la memoria

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.

Page 35: Administración de la memoria

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.

Page 36: Administración de la memoria

Administración de la memoria auxiliar

Sistema de archivos

Page 37: Administración de la memoria

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

Page 38: Administración de la memoria

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.

Page 39: Administración de la memoria

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

Page 40: Administración de la memoria

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

Page 41: Administración de la memoria

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