Administración de Memoria en UNIX

15
SISTEMAS OPERATIVOS ADMINISTRACIÓN DE MEMORIA EN UNIX Natalia Ludeña

description

manejo de memoria en UNIX

Transcript of Administración de Memoria en UNIX

Page 1: Administración de Memoria en UNIX

SISTEMAS OPERATIVOS

ADMINISTRACIÓN DE MEMORIA EN UNIX

Natalia Ludeña

Page 2: Administración de Memoria en UNIX

UNIX

Administración de Memoria

Page 3: Administración de Memoria en UNIX

Administración de Memoria

Utiliza dos técnicas de manejo de memoria: swapping memoria virtual.

Lo estándar en Unix es un sistema de intercambio de segmentos de un proceso entre memoria principal y memoria secundaria, llamado swapping lo que significa que se debe mover la imagen de un proceso al disco si éste excede la capacidad de la memoria principal, y copiar el proceso completo a memoria secundaria. Es decir, durante su ejecución, los procesos son cambiados de y hacia memoria secundaria conforme se requiera.

La paginación por demanda y combinación de segmentos paginados, en ambos casos con páginas de tamaño fijo.

Page 4: Administración de Memoria en UNIX

Administración de Memoria (cont.)

Se usa una partición de disco duro para el área de intercambio En algunos sistemas el tamaño de la página en Unix es de 512

bytes; en otros, de 1024. Para reemplazo se usa un algoritmo que mantiene en memoria las

páginas empleadas más recientemente. Un sistema de paginación por demanda ofrece muchas ventajas en

cuanto a flexibilidad y agilidad en la atención concurrente de múltiples procesos y proporciona, además, memoria virtual, es decir, la capacidad de trabajar con procesos mayores que el de la memoria central. Estos esquemas son bastante complejos y requieren del apoyo de hardware especializado.

Page 5: Administración de Memoria en UNIX

Administración de Memoria (cont.)

UNIX modernos soportan la llamada al sistema mmap, el uso del espacio de direcciones es menos estructurado. Implementación de librerías compartidas pueden ubicar texto o datos arbitrariamente, representar la noción de regiones predefinidas obsoletas.

Page 6: Administración de Memoria en UNIX

Regla importante:

Asignar una partición de disco duro que sea al menos el doble de la cantidad de memoria real de la computadora

Page 7: Administración de Memoria en UNIX

Proceso:

Si un proceso necesita crecer, pide más memoria al sistema operativo y se le da una nueva sección, lo suficientemente grande para acomodarlo. Entonces, se copia el contenido de la sección usada al área nueva, se libera la sección antigua y se actualizan las tablas de descriptores de procesos. Si no hay suficiente memoria en el momento de la expansión, el proceso se bloquea temporalmente y se le asigna espacio en memoria secundaria. Se copia a disco y, posteriormente, cuando se tiene el espacio adecuado - lo cual sucede normalmente en algunos segundos - se devuelve a memoria principal.

Page 8: Administración de Memoria en UNIX

En un mapa tradicional de UNIX, el kernel y sus estructuras de datos asociadas residen en la parte alta del espacio de direcciones.

El texto inicial y las áreas de datos empiezan en o cerca del principio de la memoria. Típicamente, los primeros 4 o 8 Kbyte de memoria son conservados fuera de los límites del proceso. La razón de esta restricción es para una depuración de programa fácil; indirectamente a través de un apuntador nulo causara un fallo de dirección inválida, en lugar de leer o escribir el texto de programa.

La localización de memoria hecha por el proceso en ejecución usando la rutina de librería malloc( ) (o la llamada al sistema sbrk) son hechas de la parte que empieza inmediatamente siguiente al área de datos y crece hasta las direcciones mas altas. El vector de argumento y los vectores de ambiente están en la parte más alta de la porción de usuario del espacio de direcciones. La pila de usuario empieza justo debajo de estos vectores y crece hasta las direcciones mas bajas.

Page 9: Administración de Memoria en UNIX

Además…

Todos los procesos que forman parte del kernel no pueden ser intercambiados a disco.

Tener en cuenta: facilidad de incrementar el espacio de intercambio facilidad de añadir módulos de memoria RAM a la

computadora sin necesidad de reconfigurar el núcleo.

Page 10: Administración de Memoria en UNIX

UNIX

Diferencias entre un DOS y UNIX

Page 11: Administración de Memoria en UNIX

Diferencias entre un DOS y UNIX

Distinción entre mayúsculas y minúsculas Diagonal y diagonal inversa Nombres de archivos Símbolos Comodín

Page 12: Administración de Memoria en UNIX

Distinción entre mayúsculas y minúsculas UNIX es sensible a las Diferencias entre

letras mayúsculas y minúsculas, mientras que DOS no lo es.

Page 13: Administración de Memoria en UNIX

Diagonal y diagonal inversa

DOS usa la diagonal inversa \ para los paths, por ejemplo en \juegos\tetris, mientras que Unix usa la diagonal /, el path anterior se escribiría /juegos/tetris.

Page 14: Administración de Memoria en UNIX

Nombres de archivos:

en DOS los nombres de archivos están limitados a ocho caracteres alfanuméricos, seguidos opcionalmente de un punto y una extensión de tres letras; en Unix los nombres de archivos pueden contener hasta catorce caracteres, pueden incluir uno o más puntos que no se tratan especialmente salvo cuando es el primer carácter del nombre.

Page 15: Administración de Memoria en UNIX

Símbolos Comodín:

ambos sistemas permiten el uso de * o ? para especificar conjuntos de nombres de archivos, aunque DOS es algo más rígido con *, que solo se interpreta al final del nombre o la extensión de una plantilla. Unix dispone además de una notación especial para indicar un rango de caracteres