Académique Documents
Professionnel Documents
Culture Documents
Esquemas de asignacin
Memoria Real
Asignacin contigua Sistemas de un solo proceso Sistemas multiprogramacin Con particiones fijas Con particiones variables Asignacin no contigua Paginacin Segmentacin Paginacin + Segmentacin
Se considera que el S. O. ya posee desarrollado el sistema de control de entrada / salida IOCS. rea de procesos transitorios Se coloca un nico proceso de usuario Se elimina cuando finaliza o antes de cargar otro
Fig. 1
El tamao de los programas est limitado por la cantidad de memoria principal, pero se puede superar este lmite con tcnicas de recubrimientos, con las siguientes caractersticas: Si una seccin particular del programa ya no es necesaria, se carga otra seccin desde el almacenamiento secundario ocupando las reas de memoria liberadas por la seccin que ya no se necesita.
1.
2.
La administracin manual por programa del recubrimiento es complicada y dificulta el desarrollo y el mantenimiento.
Proteccin
El usuario tiene un completo control sobre la totalidad del almacenamiento principal. El almacenamiento se divide en porciones que contienen el S. O el programa del usuario y una porcin sin usar. El programa del usuario podra destruir reas del S. O. que podran: Detener el sistema. Producir salidas errneas. El S. O. debe estar protegido contra el proceso usuario: La proteccin se instrumenta mediante un registro de lmites incorporado a la CPU: Contiene la direccin de la instruccin ms alta utilizada por el S. O. Si se intenta ingresar al S. O. la instruccin es interceptada y el proceso finaliza.
Particiones Fijas
Divisin de la memoria en varios trozos (particiones) : Tamao diferente de las particiones Tamao fijo de las particiones (inamovible) nico proceso por particin con tamao particin Estructuras de datos para la gestin de particiones fijas o Tabla de descripcin de particiones Estado (libre/asignada) Base de la particin Tamao de la particin Proteccin entre procesos A travs de registro base y lmite Comprobacin en cada acceso a memoria
aprovechable. El proceso es ms pequeo que la particin. No se puede asignar a ningn otro proceso. Es posible que procesos esperando entrar en memoria no tengan particin a pesar de haber espacio libre para ellos.
Particiones Variables
A cada proceso se le asigna la memoria que necesita exactamente. El tamao del trabajo a ubicar no puede ser mayor que el almacenamiento principal disponible. Se disminuye parcial o totalmente el desperdicio de memoria. Aparecen: Fragmentacin, Condensacin y Compactacin. Estrategias de asignacion de particiones: Primer ajuste, Mejor ajuste y Peor ajuste.
Fragmentacin
se usa. Fragmentacin externa: Se presenta cuando el espacio de memoria es suficiente para atender una solicitud pero no es contiguo.
Condensacin
Sistema Operativo
20 K
20 K S. O.
20 K
Libre
15 K
Libre
15 K Libre 37 K
22 K Termina 8K libre
Libre
22 K 8K
8K libre
libre
Compactacin
Tcnica que consiste en trasladar todas las reas ocupadas del almacenamiento hacia algn extremo de la memoria. Es una solucin de la fragmentacin externa. El objetivo consiste en desplazar el contenido de la memoria libre en un slo bloque de gran tamao.
Sistema Operativo
Sistema Operativo
Libre
15 K
15 K
8K
Estrategias de asignacin
Permiten determinar en qu lugar de la memoria principal se deben colocar los programas y datos entrantes. Tipos:
Paginacin
El espacio de direcciones lgico de un proceso puede ser no contiguo. Se divide la memoria fsica en bloques de tamao fijo llamados marcos (frames). Se divide la memoria en bloques de tamao llamados paginas. Se mantiene informacin en los marcos libres. Para correr un programa de n paginas de tamao, se necesitan encontrara n marcos y cargar el programa. Se establece una tabla de paginas para trasladar las direcciones lgicas a fsicas. Se produce fragmentacin interna.
Ventajas
Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en memoria, y el resto se cargara bajo la solicitud. No es necesario que las paginas estn contiguas en memoria, por lo que no se necesitan procesos de compactacin cuando existen marcos de paginas libres dispersos en la memoria. Es fcil controlar todas las pginas, ya que tienen el mismo tamao. Se libera al programador de la restriccin de programar para un tamao fsico de memoria, con lo que se aumenta su productividad. Se puede programar en funcin de una memoria mucho ms grande a la existente. Al no necesitarse cargar un programa completo en memoria para su ejecucin, se puede aumentar el numero de programas multiprogramndose.
Desventajas
El costo de hardware y software se incrementa, por la nueva informacin que debe manejarse. Se consume mucho mas recursos de memoria, tiempo en el CPU para su implantacin. Aparece el problema de fragmentacin interna.
Ej.: si se requieren 5K para un programa, pero las paginas son de 4K, debern asignrseles 2 paginas (8k), con lo que quedan 3K sin utilizar. La suma de los espacios libres dejados de esta forma puede ser mayor que el de varias paginas, pero no podr ser utilizados.
Segmentacin
Es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su divisin lgica. llevndose a cabo una agrupacin lgica de la informacin en bloques de tamao variable denominados segmentos. Cada uno de ellos tienen informacin lgica del programa: subrutina, arreglo, etc. Luego, cada espacio de direcciones de programa consiste de una coleccin de segmentos, que generalmente reflejan la divisin lgica del programa.
Ventajas
El programador puede conocer las unidades lgicas de su programa, dndoles un tratamiento particular. Debido a que es posible separar los mdulos se hace ms fcil la modificacin de los mismos. Cambios dentro de un modulo no afecta al resto de los mdulos. Es fcil el compartir segmentos. Es posible que los segmentos crezcan dinmicamente segn las necesidades del programa en ejecucin. Existe la posibilidad de definir segmentos que aun no existan. As, no se asignara memoria, sino a partir del momento que sea necesario hacer usos del segmento.
Desventajas
Hay un incremento en los costos de hardware y de software para llevar a cabo la implantacin, as como un mayor consumo de recursos: memoria, tiempo de CPU, etc. No se puede garantizar, que al salir un segmento de la memoria, este pueda ser trado fcilmente de nuevo, ya que ser necesario encontrar nuevamente un rea de memoria libre ajustada a su tamao. La comparticin de segmentos permite ahorrar memoria, pero requiere de mecanismos adicionales da hardware y software.
Segmentacin Paginada
Paginacin y segmentacin son tcnicas diferentes, cada una de las cuales busca brindar las ventajas enunciadas anteriormente. Puede hacerse una combinacin de segmentacin paginacin para obtener las ventajas de ambas. y
En lugar de tratar un segmento como una unidad contigua, este puede dividirse en pginas. Cada segmento puede ser descrito por su propia tabla de pginas. Los segmentos son usualmente mltiplos de pginas en tamao, y no es necesario que todas las pginas se encuentren en memoria principal a la vez.
Ventajas
Debido a que los espacios de memoria son segmentados, se garantiza la facilidad de implantar la comparticin y enlace. Como los espacios de memoria son paginados, se simplifican las estrategias de almacenamiento. Se elimina el problema de la fragmentacin externa y la necesidad de compactacin.