1. Gestor de memoria. Proceso encargado de la gestión de la memoria: Acceso a la memoria por varios procesos. Uso compartido de MEM: Protección: Evitar accesos a las zonas de otros procesos. Compartición: Acceso simultáneo de varios procesos a una zona de memoria. Se persigue: Poco uso de la memoria, en su forma y en su ejecución. Rápido: En la asignación de la memoria. Proceso gestor de memoria.
2. Conceptos de Memoria Gestiona el uso compartido de la MEM. Protección: Acceso de un proceso a la zona de otro. Compartición: Acceso compartido a una zona de memoria. Directrices: Ocupar poca memoria (en su tamaño y su gestión). No fragmentar memoria. Rápido: en asignaciones. Los procesos para ejecutarse necesitan estar en memoria. Los procesos se asignan a particiones. Las particiones pueden existir (G. Estática) o crearse para ellos (G. Dinámica). Durante la vida del proceso su posición puede variar.
2. Conceptos de Memoria Sistemas tradicionales: 1 Proceso => memoria principal divida en: Sistema operativo (monitor residente, núcleo). Programa que se ejecuta. Sistemas multiproceso: Sistema operativo (monitor residente, núcleo). Parte de “usuario”: subdividida para varios procesos.
Se necesita: Subdivisión dinámica (sistema operativo) => gestión de memoria. Reparto eficientemente la memoria. Máximo número de procesos. La memoria y la CPU han de compartirse. Máximo número de procesos, CPU al 100%.
3. Requisitos Requisitos: Organización lógica. Organización física. Reubicación. Protección. Compartición.
3. Requisitos La memoria de un sistema informático se organiza como un espacio de direcciones lineal o unidimensional (secuencia de bytes).
La mayoría de los programas se organizan en módulos: no son modificables (lectura, ejecución) y modificables.
Organización Lógica. Módulos: Cada módulo puede escribirse y compilarse independientemente. El sistema resuelve durante la ejecución todas las referencias de un módulo a otro. Distintos grados de protección (sólo lectura, sólo ejecución) a los distintos módulos. Mecanismos para compartir módulos. La ventaja de la compartición a nivel de módulo. Reubicación por módulos.
3. Requisitos La memoria del computador se organiza en dos niveles: memoria principal y memoria secundaria. En otros se añade la cache. La memoria principal: Acceso rápido con un coste relativamente alto. Volátil, no almacenamiento permanente. La memoria secundaria: Lenta y barata. No es volátil. Almacenamiento a largo plazo de programas y datos.
El sistema ha de gestionar el flujo de procesos entre ellas (S.O.). Su gestión puede ser realizada por el programador: Overlaying: Un programa y los datos se organizan con varios módulos asignados a la misma región de memoria. Un módulo principal es el responsable del intercambio de los módulos.
En entornos multiproceso el programador no conoce durante la codificación cuánto espacio habrá disponible o dónde estará este espacio (Reubicación). Organización Física.
3. Requisitos El espacio de cada proceso ha de ser protegido de las acciones de otros procesos. Un proceso no puede hacer referencia a posiciones de memoria de otros procesos sin permiso. La reubicación dificulta la protección: Es imposible comprobar las direcciones absolutas para asegurar la protección. Las referencias a memoria deben comprobarse durante la ejecución. Los mecanismos que respaldan la reubicación permiten la gestión de la protección. Métodos: Registros límite y base: Se almacenan el PCB y marcan las zonas del proceso. Bits de protección: Cada bloque de MEM tiene asignados unos bits que marcan que proceso puede acceder. Segmentación: Derechos específicos en la tabla de páginas o segmentos. Segmentos: Las direcciones virtuales son válidas si están entre la base y el límite (comprobación vía hardware). Descriptores del segmento: distintos derechos de acceso a cada bloque o segmento. Compartición de bloques o segmentos. Páginas: Bits de acceso a cada página.
Protección.
3. Requisitos Se ha de permitir el acceso de varios procesos a una misma zona de memoria. Una serie de procesos ejecutando una misma zona de programa. Acceso compartido a la misma estructura de datos (paso de info.). El sistema de gestión de memoria ha de permitir accesos controlados a las áreas compartidas de la memoria, sin comprometer la protección.
Compartición.
Sistema operativo Sistema operativo Sistema operativo Sistema operativo Proceso 1 Proceso 1 Proceso 1 Proceso 2 Proceso 2 Proceso 3 Efectos de la partición dinámica. 8M 56M 20M 20M 20M 36M 14M 14M 22M 18M 4M (a) (b) (c) (d) Fragmentación 1.
Efectos de la partición dinámica. Sistema operativo Sistema operativo Sistema operativo Sistema operativo Proceso 1 Proceso 1 Proceso 3 Proceso 3 Proceso 3 Proceso 3 Proceso 4 Proceso 4 Proceso 4 Proceso 2 20M 20M 20M 14M 18M 4M 8M 6M 18M 4M 4M 18M 6M 8M 8M 6M 6M 18M 14M 4M (e) (f) (g) (h) Fragmentación 2.
3. Requisitos El Sistema es compartido por varios procesos. Durante la programación no se conoce el número de programas que residirán en memoria en el momento de la ejecución. Se realiza la multiprogramación entre los procesos con sitio en MEM. Se cargan y descargan de la memoria principal los procesos activos para maximizar el uso del procesador. Se mantiene una reserva de procesos listos. El programa puede moverse en memoria por un swap. ? El programa no puede ser escrito en direcciones absolutas. Cambio en el direccionamiento. El Sistema ha de conocer la ubicación de la información: Control del proceso. Pila de ejecución. Punto de partida de la ejecución del programa.
Reubicación 1.
3. Requisitos Reubicación estática: Durante la carga del programa en MEM se calculan todas las direcciones relativas a direcciones absolutas en MEM (según el punto de carga). El programa no puede ser trasladado. Partición fija. Una vez que un programa haya sido descargado al disco, se limitará a declarar que, cuando vuelva a ser cargado, debe situarse en la misma región de memoria principal que antes.
Reubicación dinámica: Las direcciones se convierten dinámicamente para cada acceso. Las direcciones generadas son traducidas a físicas en tiempo real. Los procesos pueden cambiarse de sitio una vez comenzada su ejecución.
Reubicación: Conceptos. Reubicación: Tipos. Dirección lógica: Es una referencia a una posición de memoria independiente de la asignación actual de datos a la memoria. Se debe hacer una traducción a una dirección física. Dirección relativa: La dirección se expresa como una posición relativa a algún punto conocido. Dirección física: La dirección absoluta o la posición real en la memoria principal.
Dirección relativa Dirección absoluta Interrupción al sistema operativo Registro base Registro límite Sumador Comparador Programa Datos Pila Bloque de control de proceso Imagen de un proceso en la memoria principal Soporte de hardware para la reubicación.
Gestión de Memoria. Fragmentación Interna: Generada por la diferencia entre el tamaño de una partición de MEM. y el módulo de programa situado en ella. Provocada al no llenar la partición. Ej: MEM de 10k dividida en regiones de 2k. Un módulo de 1.5 k desperdicia 0.5 k.
Fragmentación Externa: Por la mala gestión del espacio libre entre procesos: Espacios entre procesos. Provocada por el espacio muerto entre particiones. Ej.: Cuatro procesos dejando espacios entre si de 2, 5 y 7 k. La llegada de un proceso requiriendo 14k no atendida aun teniendo ese espacio libre en MEM.
(Gp:) S.O. (Gp:) Proceso (Gp:) Partición vacía
(Gp:) S.O. (Gp:) Proceso (Gp:) Proceso
Fragmentación 3.
4. Particiones de Memoria: Tipos Contigua simple. Particiones estáticas. Particiones estáticas: varios tamaños. Particiones dinámicas. Segmentación. Paginación. Carga de programas: Tipos.
4. Particiones de Memoria Un solo proceso en MEM. No se permite la multiprogramación. División en: S.O., área de programa y área sin uso. Protección: limitado el acceso a la zona del sistema operativo (posición fija). (Gp:) S.O. (Gp:) Proceso (Gp:) Sin uso
4.1 Carga de programas : Contigua simple.
Página siguiente |