Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Administración de Memoria
2
Administración de Memoria
Subdividir la memoria para poder acomodra múltiples procesos La memoria requiere ser provista eficientemente para que puedan ser cargada en ellos, la mayor cantidad de proceos posibles
3
Administración de Memoria Requerimientos
Reubicación El programador no sabe a priori, donde sera ubicado su programa en la memoria cuando llegue su ejecución Durante la ejeción de un programa, puede ser desaojado de memoria (swapping) al disco y retornado, posteriormente a una ubicacion distinta a la original, en la memoria (reubicación) Las referencias en memoria deben ser traducidas, a partir del codigo original a direcciones fisicas de memoria.
5
Administración de Memoria Requerimientos
Protección Los Procesos no deberían poder hacer referencia A direcciones pertenecientes a otros procesos sin permiso. Imposibilidad de checkear direcciones absolutas en programas mientras el programa deba ser reubicado. Debe checkearse durante la ejecución El S.O.no puede anticiparse a todas las referencias de memoria que se van a solicitar
6
Administración de Memoria Requerimientos
Sharing Permiten a diversos procesos acceder am la misma porcion de memoria Es mucho mas optimizado la posibilidad de que distintos usuarios utilicen el mismo programa smultaneamente, sin requerir a copias individuales para cada uno de ellos.
7
Administración de Memoria Requerimientos
Organización Lógica Los programas son escritos por modulos Los modulos pueden ser esc ritos y compilados individualmente Diferentes grados de protección dadosa a modulos (solo lectura, solo para ejecutar) Permite compartir modulos
8
Administración de Memoria Requerimientos
Organización física La memoria disponible para un programa y sus datos, puede ser insuficiente Con Overlay se permite que varios modulos sean asignados a la misma region de memoria El programador desconoce la cantidad de memoria que tendra disponible
9
Particionado Fijo Particiones de igual tamaño
Cualquier proceso cuyo tamaño es menor o igual al tamaño de la particion puede ser cargado en cualquier particion disponible Si todas las particiones estan ocupadas, el S.O. Puede swappear un proceso fuera de memoria Un programa puede no entrar en la memoria disponible. El programador debe diseñar sus programas con overlay
10
Particionado Fijo La Memoria en uso es insuficiente. Cualquier programa, no importa cuan pequeño sea, ocupa la totalidad de la particion. La memoria asignada al programa pero no utilizada por el, se llama fragmentacion interna.
12
Algoritmos de asignación con particiones
Particiones de igual tamaño Dado que todas las particiones son de igual tamaño, no importa cual se elige para cargar un programa Particiones de diferente tamaño Cada proceso puede asignarse a una particion en la cual puede cargarse completo Cola para cada particion Los procesos son asignados de forma de minimizar la cantidfad de memoria no utilizada dentro de una particion
14
Particionado Dinámico
Las particiones son de longitud y cantidad variable Los procesos reciben la cantidad de memoria que requieren Se generan, eventualmente, “agujeros” formados con bloques de memoria no utilizados por ningun proceso. Esto se llama fragmentación externa. Debe procederse a compactar, juntando los procesos vigentes, y acumulando los espacios vacios en un bloque unico
17
Particionado Dinámico Algoritmos de asignación
El S.O. Debe decidir cual bloque libre debe ser asignado a un proceso Algoritmo Best-fit Elige el bloque de tamaño mas exacto al tamaño del proceso requirente Es el de peor perfomance
18
Particionado Dinámico Algoritmos de asignación
Algoritmo First-fit Es el mas lento Recorre siempre desde el principio de la memoria, que con mayor probabilidad, siempre va a estar ocupada
19
Particionado Dinámico Algoritmos de asignación
Algoritmo Next-fit La busqueda parte desde el lugar donde finalizo la ultima busaqueda. Es mas probable que encuentre un bloque grande El bloque de mayor tamaño acumulado, es dividido en bloques menores La Compactación es necesaria para obtener un bloque grande de memoria en su extremo final
21
Sistema Buddy El espacio total disponible es tratado como un bloque simple de 2U Si el requerimiento de espacio es tal que 2U-1 < esp <= 2U, se asigna un bloque entero De no ser asi, el bloque es dividido en dos buddies iguales El proceso continua hasta que el bloque minimo pero mayor o igual a esp es generado
24
Reubicación En el momento de cargarse un programa en memoria, se determinan sus direcciones absolutas de memoria Un proc eso puede ocupar diferentes particiones de memoria, lo que significa diferentes direcciones absolutas de memoria durante su ejecucucion (por el swapping) La compactacion causara que un programa ocupe diferentes posiciones de memoria, que implica diferentes posiciones absolutas
25
Direccionamiento Logico Relativo Físico
Referencia a direcciones de memoria independientemente de la actual asignacion de datos a memoria Debe traducirse a direcciones fisicas Relativo Cada direccion es expresada como una posicion relativa a un conocido punto inicial Físico Direcciones absolutas en memoria
27
Registros utilizados durante la ejecución de un proceso
El contenido del registro base, es sumado a una direccion relativa para producir una direccion absoluta La direccion resultante es comparada con el registro limite Si la direccion obtenida se va de los limites, se produce una interrupción al S.O.
28
Paginación Tanto la memoria como cada uno de los programas es dividido en bloque de un unico tamaño para ambos Los bloques asi calculados de los programas son llamados “paginas” mientras que los de memoria son llamados “frames” El S.O. Mantiene una lista de paginas por cada proceso Contiene la ubicacion de los frames para todas las paginas de un proceso Las direcciones de memoria consisten en un numero de pagina y un desplazamiento dentro de la pagina
29
Ejemplo En los dos graficos que vienen se define el sigueinte orden de ingreso de programas a memoria: La memoria cuenta con 14 frames Entra el programa A de cuatro paginas Entra el programa B de 3 paginas Entra el programa C de 4 paginas. El proceso B es suspendido, con lo cual libera los frames 4-5-6 Entra el programa D de 5 frames
32
Ejemplo Tablas de paginacion.
Hay una tabla por cada proceso y el ultimo apunta a la lista de frames libres
33
Ejemplos de Tablas de paginación
34
Segmentación Todos los segmentos de todos los programas no deben tener la misma longitud Hay una longitud de segmentos maxima El direccionamiento consta de dos partes: un numero de segmento y un desplazamiento Dado que los segmentos son de diferente tamaño, la segmentacion se parece (en un extremo), al particionamiento dinámico
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.