Vous êtes sur la page 1sur 29

FUNDAMENTOS DE SISTEMAS OPERATIVOS

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

Asignacin contigua de memoria


En la asignacin contigua cada programa ocupa un bloque contiguo y sencillo de localizaciones de almacenamiento. Es decir cada proceso tiene que ocupar un nico bloque de localidad de memoria. Los primeros sistemas de cmputo permitan que solo una persona a la vez utilizara la mquina. Todos los recursos estaban a disposicin del usuario. El cdigo de E/S requerido para realizar las funciones bsicas se consolid en un sistema de control de E/S.

Asignacin contigua de un solo usuario

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.

Fig. 2 Tcnica de recubrimiento

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.

Sistemas Multiprogramacin Particiones

Multiprogramacin Necesidad de varios procesos en memoria simultneamente.

Dos modos de asignacin: Particiones fijas y Variables

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

Grado de multiprogramacin Limitado al numero de particiones. Fragmentacin Interna


Dentro de cada particin queda una zona de memoria no

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.

Fig. 3 Ejemplo: OS/MFT (Multiprogramacin con n fijo de tareas)

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

Significa desperdicio de memoria (sin usar). Se presenta de dos maneras diferentes:


Fragmentacin interna: Es la memoria que pertenece a una particin pero no

se usa. Fragmentacin externa: Se presenta cuando el espacio de memoria es suficiente para atender una solicitud pero no es contiguo.

Fig. 4 Ejemplo de Particin Variable

Condensacin

Unir o fusionar espacios o huecos adyacentes para formar uno ms grande.


Sistema Operativo Sistema Operativo

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

Libre Libre 8K libre

Estrategias de asignacin

Permiten determinar en qu lugar de la memoria principal se deben colocar los programas y datos entrantes. Tipos:

Mejor Ajuste. Primer Ajuste. Peor Ajuste.

Estrategia del primer ajuste

Estrategia del mejor ajuste

Estrategia del peor ajuste

Asignacin no contigua de memoria


En la asignacin no contigua un programa se divide en varios bloques o segmentos que pueden almacenarse en direcciones que no tienen que ser necesariamente adyacentes, por lo que es ms compleja pero ms eficiente que la asignacin continua. El espacio de direcciones lgico de un proceso se reparte entre diferentes zonas de la memoria principal Mtodos de organizacin : Paginacin Segmentacin Segmentacin + paginacin

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.

Vous aimerez peut-être aussi