Sie sind auf Seite 1von 10

Sistemas Operativos

Sistemas Operativos

COMPACTACION DE MEMORIA
Cuando un proceso llega y necesita memoria, el sistema operativo busca en la tabla de huecos alguno lo suficientemente grande para el proceso. Si el hueco es muy grande, lo parte en dos. Una parte es asignada al proceso y la otra se identifica como hueco. Cuando el proceso termina y la memoria es liberada, el espacio es identificado como un hueco ms en la tabla y si el nuevo hueco es adyacente con otro, ambos huecos se unen formando un solo hueco ms grande. En ese momento se debe de checar si no existen procesos a los que este nuevo hueco pueda darles cabida. Esta tcnica 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 solo bloque de gran tamao. La compactacin no siempre no es posible, solo es posible si la relocalizacin es dinmica y se efecta en el momento de la ejecucin.

COMPACTACIN DE MEMORIA

Sistemas Operativos

Para evitar la fragmentacin externa se elaboro el sistema de compactacin de memoria, que consiste en desplazar las particiones asignadas dejndolas contiguas al igual que el espacio libre. Es necesario para este mtodo que los procesos tengan direccionamiento dinmico y que el tiempo de proceso que requerir la compactacin sea asumible.

Intercambio:
El objetivo del intercambio es dar cabida a la ejecucin de ms aplicaciones de las que pueden residir simultneamente en la memoria del sistema: Consiste en trasladar el cdigo y los datos de un proceso completo de memoria al sistema de almacenamiento secundario, para cargar otro previamente almacenado, no permite a un proceso utilizar ms memoria RAM de la que realmente existe en el sistema. Esta tcnica puede ser ineficiente ya que se tiene que hacer el intercambio completo del proceso, aunque ste solo vaya a ejecutar una pequea porcin del cdigo. Durante el intercambio un proceso puede ser sacado temporalmente de memoria y llevado a un lugar especial del disco y posteriormente vuelto a memoria y continuada su ejecucin. El lugar de almacenamiento temporal suele ser un espacio suficientemente grande como para acomodar copias de las imgenes de memoria de todos los usuarios.

y Asignacin contigua:
La memoria principal normalmente se divide en dos particiones: Sistema operativo residente, normalmente en la parte baja de memoria con los vectores de interrupcin. Procesos de usuario en la parte alta.

Sistemas Operativos

y Asignacin de particin simple:


Puede utilizarse un esquema de registro de relocalizacin y lmite para proteger un proceso de usuario de otro y de cambios del cdigo y datos del sistema operativo.

y Asignacin de particiones mltiples:


Bloques de distintos tamaos estn distribuidos en memoria, cuando llega un proceso se le asigna un hueco suficientemente grande para acomodarle. El sistema operativo debe tener informacin sobre: - Particiones asignadas - Particiones libres (huecos) - Asignacin de particin dinmica El proceso de compactacin es una instancia particular del problema de asignacin de memoria dinmica, el cual es el cmo satisfacer una necesidad de tamao n con una lista de huecos libres. Existen muchas soluciones para el problema. El conjunto de huecos es analizado para determinar cul hueco es el ms indicado para asignarse. Las estrategias ms comunes para asignar algn hueco de la tabla son: Primer ajuste: Consiste en asignar el primer hueco con capacidad suficiente. La bsqueda puede iniciar ya sea al inicio o al final del conjunto de huecos o en donde termin la ltima bsqueda. La bsqueda termina al encontrar un hueco lo suficientemente grande. Mejor ajuste: Busca asignar el espacio ms pequeo de los espacios con capacidad suficiente. La bsqueda se debe de realizar en toda la tabla, a menos que la tabla est ordenada por tamao. Esta estrategia produce el menor desperdicio de memoria posible. Peor ajuste: Asigna el hueco ms grande. Una vez ms, se debe de buscar en toda la tabla de huecos a menos que est organizada por tamao.

Sistemas Operativos

Esta estrategia produce los huecos de sobra ms grandes, los cuales pudieran ser de ms uso si llegan procesos de tamao mediano que quepan en ellos.

COMPACTACIN DE MEMORIA

Se ha demostrado mediante simulacros que tanto el primer y el mejor ajuste son mejores que el peor ajuste en cuanto a minimizar el tiempo del almacenamiento. Ni el primer ajuste o el mejor ajuste es claramente el mejor en trminos de uso de espacio, pero por lo general el primer ajuste es ms rpido.

Comparticin:
A travs de esta se tiene acceso controlado a ciertas reas de memoria ya que varios procesos almacenados en diferentes direcciones ayudan a la ejecucin de un mismo programa evitando la redundancia de procesos y el acceso es controlado o restringido para protegerlos. Organizacin lgica mediante esta los programas tienden a ser ordenados en mdulos que pueden ser o no modificables, con las ventajas de que se puedan modificar y compilar de forma independiente, con la direccin del modulo el sistema puede ejecutarlo desde otro modulo, este facilita la graduacin de la

Sistemas Operativos

proteccin a los mdulos, facilitando la especificacin de deseada.

la comparticin

Organizacin fsica, esta es responsabilidad del sistema, dado que si el programador o diseador del sistema define una comparticin de memoria insuficiente para un programa podran presentarse problemas, adems el no conoce cuanto espacio hay disponible ni donde se encuentra este espacio en memoria.

MTODOS PARA LA COMPARTICION RECURSOS DE SOFTWARE.


Bsicamente existen 2 Mtodos:

DE

SEGMENTOS COMPARTIDOS. Consiste en que cada proceso tiene una tabla de segmentos asociado con su PCB (Bloque de Control de Procesos) el cual es utilizado por el despachador para definir la tabla de segmentos de hardware cuando a ese proceso se le asigne el CPU. Los segmentos son compartidos cuando las entradas en las tablas de segmentos de dos o ms procesos diferentes apuntan a las mismas localidades de memoria fsica. La comparticin ocurre al nivel de Segmentos. Con esto cualquier informacin puede ser compartida si esta definida como un segmento. Varios segmentos pueden ser compartidos, o sea, un programa compuesto por varios segmentos puede ser compartido. Ejemplo: Considrese el uso de un editor de textos de un sistema de tiempo compartido. En lugar de cargar ' n' copias del cdigo del editor, este ser cargado una sola vez. Si hay varios procesos que necesitan usar este cdigo, sus tablas de segmento contendrn apuntadores a la misma direccin de memoria donde est cargado el cdigo.

SE

Ss e

v s

PA

S.

PA I AS
E t i . ti t Ej S t l tili i t





Ss e

l l : tili 3t

 

v s

PA
i t l l i i i

I AS.
i t l i t i t i tili it t t l i i i t fi l l l i t l l 3 : i i . . i i t i i l

Sistemas Operativos

COMPARTICIN DE RECURSOS DE SOFTWARE EN WINDOWS .1


MDULOS. En Windows .1 el trmino mdulo describe una coleccin relacionada de cdigo, datos y otros recursos (por ejemplo, mapas de bits) presentes en memoria. Normalmente, tal coleccin conformar o bien un nico programa ejecutable o una biblioteca de ligado di nmico (DLL). Windows .1 implementa una estructura de datos conocida como Base de Datos del Modulo (MDB), que identifica todos los mdulos que estn activos en el sistema. La MDB describe una coleccin esencialmente esttica de objetos, en lugar de una co leccin dinmica referenciada por la Base de Datos de Tareas (TDB). Es importante tener un registro de los mdulos cargados en cada instante, ya que tal registro es la base para la comparticin de recursos que implementa Windows .1. Por ejemplo, la segun da vez que se ejecuta digamos un editor, Windows .1 detecta que los segmentos de cdigo y el mapa de bits que forman el icono, ya estn en uso. En lugar de cargar una segunda copia y ocupar mas memoria, Windows crea referencias adicionales para los recursos que ya estn en uso. Durante la vida del sistema, Windows mantiene una cuenta de uso para cada recurso. Cuando las aplicaciones hacen uso de un recurso, el sistema incrementa la cuenta de referencia. Cuando finaliza la aplicacin, el sistema decrementa la cuenta de referencia. Una cuenta de referencia con valor 0 indica que el recurso ya no est en uso y el sistema puede ocupar la memoria liberada. COMPARTICION DE RECURSOS DE SOFTWARE EN WINDOWS '95 Se implementa mediante el uso de unas estructuras de datos llamadas objetos de ncleo. Una aplicacin Win 2 crea, abre y maneja objetos de ncleo con regularidad. El sistema crea y maneja varios tipos de objetos de ncleo como por ejemplo, objetos proceso, objetos suceso, objetos semforo, objetos hilo, etc. Estos objetos se forman llamando a varias funciones de Win 2, ejemplo, la funcin CreateFileMapping () provoca que el sistema cree un objeto proyectado en archivo.

Sistemas Operativos

Cada objeto del ncleo es un bloque de memoria asignado por el Kernel y al que solo puede acceder el Kernel. Este bloque de memoria es una estructura de datos cuyos elementos contienen informacin sobre un objeto. La cantidad y el tipo de estos elementos vara dependiendo del tipo de objeto del ncleo implementado. Algunos estarn presentes en todos los tipos, por ejemplo, nombre del objeto, descriptor de seguridad, contador de utilizacin, etc., mientras que otros sern incluidos de acuerdo al tipo de objeto. Por ejemplo, un objeto -proceso contendr una identificacin del proceso, una pr ioridad de base y un cdigo de salida, mientras que un objeto -archivo contendr un desplazamiento de bytes, un modo de comparticin y un modo de apertura.

EL CONTADOR DE UTILIZACIN.
Es el Kernel quien tiene el control sobre los objetos de ncleo, no los procesos. Esto es, si un proceso llama a una funcin que crea un objeto de ncleo y despus el proceso termina, no es forzoso que se destruya el objeto del ncleo, dado que si otro proceso est utilizando el objeto de ncleo, el Kernel sabe que no debe destruir el objeto del ncleo, sino hasta que ya no haya procesos utilizndolo. El Kernel sabe cuntos procesos estn utilizando cierto objeto del ncleo, ya que cada objeto del ncleo contiene un contador de utilizacin. El contador de utilizacin es uno de los elementos comunes en todos los tipos de objetos de ncleo. El Kernel incrementa o decrementa el contador de cada objeto segn sea su utilizacin. Un contador con valor 0 (cero) si gnifica que no hay procesos utilizando ese objeto de ncleo, por lo que el Kernel lo destruye.

CONCLUSIONES:
1. Cuando se trabaja con bloques de tamao fijo se genera la fragmentacin interna. Si los bloques son de tamao variable, se genera la fragmentacin externa. 2. Concluimos que el proceso de compactacin es una instancia particular del problema de asignacin de memoria dinmica, el cual es el cmo satisfacer una necesidad de tamao n con una lista de huecos libres. . Las direcciones de memoria son de tres tipos: fsicas, lgicas y lineales. 4. El objetivo del intercambio es dar cabida a la ejecucin de ms aplicaciones de las que pueden residir simultneamente en la memoria del sistema.

Das könnte Ihnen auch gefallen