Gestion de Memoria

Page 1

Sistemas Operativos

M.Sc. Luis Eduardo Sepúlveda Rodríguez


¡  Identificar diversas formar utilizadas para la

organización de la memoria física.

¡  Analizar técnicas para la gestión de memoria

Gestión de Memoria

2


¡  En las computadoras reales, la memoria está

compuesta de semiconductores

¡  La memoria es accesible directamente por la

unidad central de procesamiento (CPU).

Gestión de Memoria

3


¡

La memoria puede considerarse como un arreglo unidimensional, como si fuera una serie de casillas contiguas donde se almacena información.

¡

Cada casilla tiene asignado un número único o subíndice considerado como la dirección física de memoria), el cual sirve para identificarla Gestión de Memoria

4


¡  Tanto la capacidad de almacenamiento de

una casilla, como la cantidad de ellas en la memoria, son definidas directamente por el fabricante del hardware.

¡  La cantidad de casillas en memoria, está

estrechamente relacionada con la capacidad de direccionamiento del hardware. Gestión de Memoria

5


¡  La CPU lee constantemente instrucciones y

datos de la memoria para poder ejecutar los programas e interactuar con los procesos

¡  Por lo anterior, la velocidad de la memoria

influye directamente en el desempeño general del sistema operativo.

Gestión de Memoria

6


¡

Al referirse a la velocidad de la memoria, es importante tener en cuenta dos factores: §  Tiempo de Acceso: Es el tiempo que transcurre entre

el inicio y el fin de una operación de lectura o escritura sobre la memoria.

§  Tiempo de Ciclo de Memoria: Es el tiempo mínimo

entre el inicio de dos accesos consecutivos a memoria. A veces coincide con el tiempo de acceso, pero otras veces es mayor. Gestión de Memoria

7


La memoria principal es un recurso muy costoso e importante; por esta razón, y con el fin de optimizar su uso, ha sido objeto de muchos estudios relacionados con las siguientes preguntas: §  ¿Se localizará a un sólo usuario, o a varios usuarios en la memoria principal al

mismo tiempo?

§  Si hay varios usuarios al mismo tiempo, ¿le asignaremos la misma cantidad de

memoria a cada uno, o le asignaremos particiones de tamaño diferente a cada uno?

§  ¿Se realizarán particiones de la memoria en forma dinámica o en forma estática? §  ¿Requerimos que los procesos de usuario sean diseñados para ejecutarse en una

partición específica, o pueden correr en cualquier partición en al que quepan?

§  ¿Se requiere que un proceso sea localizado en un sólo bloque contiguo en

memoria principal, o puede ser dividido en varios bloques no contiguos? Gestión de Memoria

8


¡

Es importante considerar que, todo programa debe encontrarse en memoria, de manera contigua antes de ser ejecutado.

¡

Luego que un programa termina su ejecución, la memoria que éste ocupa se libera.

¡

Existen básicamente dos tipos de programas desde el punto de vista de la memoria: §  Programas re-­‐localizables. §  Programas no re-­‐localizables.

Esta clasificación se refiere a si los programas una vez cargados en la memoria, se pueden cambiar o mover a otra posición de memoria, sin ver afectada su ejecución. En adelante, nos centraremos en los programas re-­‐localizables.

Gestión de Memoria

9


¡

Por su naturaleza móvil, los programas re-­‐localizables no pueden utilizar direccionamiento directo en la memoria para referirse a sus componentes.

¡

Los programas re-­‐localizables deben utilizar direccionamiento relativo.

¡

Direccionamiento relativo

§  Consiste en referenciar todos los componentes de la aplicación a

partir de un desplazamiento sobre una variable llamada cero relativo.

§  El cero relativo será una dirección física de la memoria, en la cual

se encuentra actualmente la aplicación. Gestión de Memoria

10


¡

En los años 50 y 60, la memoria principal estaba constituida por costosos núcleos magnéticos, lo cual hizo indispensable diseñar un sistema computacional con el mínimo tamaño requerido.

¡

Debían conservarse en memoria principal sólo el código y los datos estrictamente necesarios y lo demás en memoria secundaria (medios de almacenamiento persistente usados como extensión de la memoria principal – swap).

¡

La memoria secundaria tiene un menor costo por bit, pero con tiempos de acceso mayores que la memoria principal.

Gestión de Memoria

11


Mayor costo por bit y velocidad de acceso. Menor capacidad Memoria Secundaria Registros del CPU

Memoria Principal

R1 R2

RAM

Disco Duro

Menor costo por bit y velocidad de acceso. Mayor capacidad Gestión de Memoria

12


¡  Durante la década de los 60 fue muy clara la

necesidad de que la jerarquía de almacenamiento incluyera un nivel adicional, lo cual traería cambios sustanciales en el desempeño de los sistemas computacionales.

¡  Este nuevo nivel fue la memoria caché, que

estaría entre la CPU y la memoria principal. La memoria caché es más costosa y de menos capacidad que la memoria principal. Gestión de Memoria

13


Mayor costo por bit y velocidad de acceso. Menor capacidad Memoria Secundaria Registros del CPU

Memoria Caché

Memoria Principal

R1 Caché R2

RAM

Disco Duro

Menor costo por bit y velocidad de acceso. Mayor capacidad Gestión de Memoria

14


¡  En sistemas con monoprogramación, la

memoria principal se divide en dos partes: §  una parte para el sistema operativo

§  otra parte para el programa que se ejecuta en ese

instante.

Gestión de Memoria

15


¡

En un sistema con multiprogramación, la parte de "usuario" de la memoria debe subdividirse aún más para incluir a varios procesos.

¡

La tarea de subdivisión la lleva a cabo dinámicamente el sistema operativo y se conoce como gestión de memoria.

¡

En un sistema con multiprogramación resulta vital una gestión efectiva de la memoria. Gestión de Memoria

16


Monoprogramación

Multiprogramación

Sistema Operativo

Sistema Operativo

Programa en ejecución Proceso único (sección para el usuario)

Programas en ejecución Proceso 1 -­‐ Proceso 2 Proceso 3 … Proceso n (sección para el usuario)

Gestión de Memoria

17


Existen muchos mecanismos o alternativas para la administración de la memoria. ¡

La primera alternativa que se tiene, es no tener ningún mecanismo propio del sistema para la asignación de memoria §  Ante la existencia de un entorno de trabajo, es el

programador el dueño y señor de ella. §  Utilizado en los sistema que tienen propósitos específicos en la industria, la investigación científica, etc. Gestión de Memoria

18


¡  En los sistemas multitarea, las aplicaciones

del usuario se encuentran en ejecución, al mismo tiempo que el sistema operativo

¡  Es necesario la existencia de algún

mecanismo para que las aplicaciones del usuario no dañen al sistema operativo ya sea accidentalmente o no. Gestión de Memoria

19


¡  Un mecanismo consiste en comparar si cada

dirección de memoria se encuentra o no dentro de la zona asignada al usuario.

¡  En este mecanismo de protección, existen dos

posibilidades, que el sistema operativo esté ubicado al inicio de la memoria, o al final de ella. Gestión de Memoria

20


Gesti贸n de Memoria

21


Gesti贸n de Memoria

22


¡  Protección con registro base:

§  Es otro mecanismo de protección, con el sistema

operativo al inicio de la memoria.

§  Consiste en sumar a la dirección solicitada el

contenido de un registro base, el cual contiene el límite superior del sistema operativo.

Gestión de Memoria

23


Gesti贸n de Memoria

24


¡

Para lograr atender a varios usuarios y varias tareas “simultáneas”, hay que garantizar entornos de trabajo protegidos de otros tareas que accidentalmente o no utilicen memoria ya asignada a una tarea determinada.

¡

Para poder garantizar esto, es necesario dividir la memoria en múltiples particiones, una para el sistema operativo y una para cada uno de los programas que se estén ejecutando en el sistema. Gestión de Memoria

25


¡  Para garantizar la “privacidad” de todos los

entornos de trabajo, se pueden utilizar los mismos mecanismos ya vistos, pero con unas ligeras modificaciones.

Gestión de Memoria

26


Gesti贸n de Memoria

27


¡  SILBERSCHATZ A, GALVIN P, GAGNE G.

Operating System Concepts. 8th Edition. 2009.

¡  STANLLINGS W. Sistemas Operativos, 2ed.

PRENTICE HALL, Madrid, 2000.

Gestión de Memoria

28


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.