Está en la página 1de 7

Saúl Ernesto Coy Pop 4090-18-21786 Sistemas Operativos I

Asignación Contigua de Almacenamiento y No Contigua

Para asignarle espacio a los archivos existen tres criterios generales que se
describen enseguida.
· Asignación contigua: Cada directorio contiene la los nombres de archivos y la
dirección del bloque inicial de cada archivo, así como el tamaño total de los mismos.
Por ejemplo, si un archivo comienza en el sector 17 y mide 10 bloques, cuando el
archivo sea accesado, el brazo se moverá inicialmente al bloque 17 y de ahí hasta
el 27. Si el archivo es borrado y luego creado otro más pequeño, quedarán huecos
inútiles entre archivos útiles, lo cual se llama fragmentación externa.
· Asignación encadenada: Con este criterio los directorios contienen los
nombres de archivos y por cada uno de ellos la dirección del bloque inicial que
compone al archivo. Cuando un archivo es leído, el brazo va a esa dirección inicial
y encuentra los datos iniciales junto con la dirección del siguiente bloque y así
sucesivamente. Con este criterio no es necesario que los bloques estén contiguos
y no existe la fragmentación externa, pero en cada "eslabón" de la cadena se
desperdicia espacio con las direcciones mismas. En otras palabras, lo que se crea
en el disco es una lista ligada.
· Asignación con índices ( indexada ): En este esquema se guarda en el
directorio un bloque de índices para cada archivo, con apuntadores hacia todos sus
bloques constituyentes, de mabnera que el acceso directo se agiliza notablemente,
a cambio de sacrificar varios bloques para almacenar dichos apuntadores. Cuando
se quiere leer un archivo o cualquiera de sus partes, se hacen dos accesos: uno al
bloque de índices y otro a la dirección deseada. Este es un esquema excelente para
archivos grandes pero no para pequeños, porque la relación entre bloques
destinados para índices respecto a los asignados para datos es incosteable.

En la “asignación contigua” cada programa ocupa un bloque contiguo y sencillo de


localizaciones de almacenamiento.
En la “asignación 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 más compleja pero más eficiente que la
asignación continua.

Asignación Contigua de Almacenamiento de Un Solo Usuario


Se consideran S. O. que ya poseen desarrollado el “sistema de control de entrada /
salida”: IOCS: input / output control system

El tamaño de los programas está limitado por la cantidad de memoria principal, pero
se puede superar este límite con técnicas de “recubrimientos”, con las siguientes
Saúl Ernesto Coy Pop 4090-18-21786 Sistemas Operativos I

características

Si una sección particular del programa ya no es necesaria, se carga otra sección


desde el almacenamiento secundario ocupando las áreas de memoria liberadas por
la sección que ya no se necesita.
La administración manual por programa del recubrimiento es complicada y dificulta
el desarrollo y el mantenimiento.

Protección en los sistemas de un solo usuario


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 porción sin usar.
 El programa del usuario podría destruir áreas del S. O. que podrían:
 Detener el sistema.
 Producir salidas erróneas.
 El S. O. debe estar protegido contra el proceso usuario:
 La protección se instrumenta mediante un “registro de límites” incorporado a
la cpu:
 Contiene la dirección de la instrucción más alta utilizada por el S. O.
 Si se intenta ingresar al S. O. la instrucción es interceptada y el proceso
finaliza.

Procesamiento por lotes de flujo único

Los sistemas de un solo usuario se dedican a un trabajo durante más tiempo del
que toma su ejecución.

Los trabajos requieren de:


“tiempo de instalación”: el necesario para preparar el entorno operativo requerido.
“tiempo de descarga”: el necesario para desmontar el entorno operativo que fue
requerido.
Durante la instalación y descarga de los trabajos la cpu no está ejecutando dichos
trabajos requeridos, por lo cual:
Automatizar la “transición de trabajo a trabajo” reduce la cantidad de tiempo perdido
entre trabajos.
Surgieron los sistemas de “procesamiento por lotes”.
Saúl Ernesto Coy Pop 4090-18-21786 Sistemas Operativos I

En el “procesamiento por lotes de flujo único” los trabajos se agrupan


en “lotes” encolándose para su ejecución.
El “procesador de flujos de trabajos”:
Lee las instrucciones del “lenguaje de control de trabajos”.
Facilita la preparación del trabajo siguiente.
Emite instrucciones al operador del sistema.
Automatiza funciones anteriormente manuales.
Cuando finaliza un trabajo efectúa las “operaciones de mantenimiento” apropiadas
para facilitar la transición del siguiente trabajo.
Saúl Ernesto Coy Pop 4090-18-21786 Sistemas Operativos I

MÉTODOS DE ASIGNACIÓN DE ESPACIO EN DISCO.


Un método de asignación de espacio en disco determina la manera en que un
Sistema Operativo controla los lugares del disco ocupados por cada archivo de
datos. Se debe controlar básicamente la identificación del archivo, sector de inicio y
sector final.
Para el control del espacio ocupado en disco se puede utilizar como base alguno
de los métodos teóricos: Asignación Contigua, Asignación Ligada, Asignación
Indexada.

ASIGNACIÓN CONTIGUA.

Este método consiste en asignar el espacio en disco de tal manera que las
direcciones de todos los bloques correspondientes a un archivo definen un orden
lineal.

VENTAJAS DESVENTAJAS

- La cabeza de lectura no se mueve - Produce fragmentación externa.


demasiado en la lectura de un archivo.

ASIGNACIÓN LIGADA

En este método, cada archivo es una lista ligada de bloques de disco. En el


directorio hay un apuntador al bloque de inicio y un apuntador al bloque final para
cada archivo. En cada uno de los bloques donde se encuentra un archivo hay un
apuntador al siguiente bloque de la lista. Por ejemplo:

VENTAJAS DESVENTAJAS

- No produce fragmentación externa. La cabeza de lectura se puede mover


demasiado en la lectura de un archivo.
- Si una liga se pierde, se perderá el
archivo completo.
Saúl Ernesto Coy Pop 4090-18-21786 Sistemas Operativos I

Es ineficiente para la implementación de


archivos directos.
Se necesita un campo extra para el
apuntador.

ASIGNACIÓN INDEXADA

Como ya se vio, la asignación ligada resuelve problemas de fragmentación externa,


sin embargo, la asignación ligada no soporta eficientemente el acceso directo a los
archivos. La asignación indexada resuelve este problema poniendo todos los
apuntadores en una sola localidad: El bloque índice.
Cada archivo tiene su bloque índice, El cual es un arreglo de direcciones de bloques
de disco.
La i-ésima entrada en el bloque índice apunta al i-ésimo bloque que conforma el
archivo. En el directorio se controla la dirección del bloque índice de cada archivo,

VENTAJAS DESVENTAJAS

No produce fragmentación externa. Existe desperdicio cuando hay archivos


muy chicos.
Eficiente para la implementación de
archivos directos. Desbordamiento de bloque índice.
(Solución: creación de un esquema ligado;
el ultimo bloque índice apunta a otro índice)
Saúl Ernesto Coy Pop 4090-18-21786 Sistemas Operativos I

Gráfica comparativa

Basar la Asignación de memoria Asignación de memoria no


comparación contigua contigua

Asigna bloques de
Asigna bloques separados de
BASIC memoria consecutivos a
memoria a un proceso.
un proceso.

La asignación de
memoria contigua no La asignación de memoria no
Gastos tiene la sobrecarga de la contigua tiene una sobrecarga de
generales traducción de direcciones traducción de direcciones
durante la ejecución de mientras se ejecuta un proceso.
un proceso.

Un proceso se ejecuta bastante


Un proceso ejecuta fatser
Tasa de más lento comparativamente en
en la asignación de
ejecución la asignación de memoria no
memoria contigua.
contigua.

Divida el proceso en varios


El espacio de memoria
bloques y colóquelos en
se debe dividir en la
diferentes partes de la memoria
Solución partición de tamaño fijo y
de acuerdo con la disponibilidad
cada partición se asigna
de espacio de memoria
a un solo proceso.
disponible.

El sistema operativo
Se debe mantener una tabla
mantiene una tabla que
para cada proceso que lleva las
mantiene la lista de
Mesa direcciones base de cada bloque
particiones disponibles y
que ha sido adquirido por un
ocupadas en el espacio
proceso en la memoria.
de memoria
Saúl Ernesto Coy Pop 4090-18-21786 Sistemas Operativos I

Diferencias clave entre la asignación de memoria contigua y no contigua

1. La diferencia básica entre la asignación de memoria contigua y no contigua


es que la asignación contigua asigna un solo bloque contiguo de
memoria al proceso, mientras que la asignación no contigua divide
el proceso en varios bloques y los coloca en el espacio de direcciones
diferente de la memoria, es decir, de manera no contigua .
2. En la asignación de memoria contigua, el proceso se almacena en el
espacio de memoria contiguo; por lo que no hay sobrecarga de
traducción de direcciones durante la ejecución. Pero en la asignación de
memoria no contigua, hay una sobrecarga de traducción de
direcciones mientras que la ejecución del proceso, ya que los bloques de
proceso se extienden en el espacio de la memoria.
3. El proceso almacenado en la memoria contigua se ejecuta más rápido en
comparación con el proceso almacenado en un espacio de memoria no
contiguo.
4. La solución para la asignación de memoria contigua es dividir el espacio
de memoria en la partición de tamaño fijo y asignar una partición a un
solo proceso. Por otro lado, en la asignación de memoria no contigua, un
proceso se divide en varios bloques y cada bloque se coloca
en diferentes lugares de la memoria según la disponibilidad de la
memoria.
5. En la asignación de memoria contigua, el sistema operativo debe mantener
una tabla que indique qué partición está disponible para el proceso y cuál
está ocupada por el proceso. En la asignación de memoria no contigua, se
mantiene una tabla para cada proceso que indica la dirección base de
cada bloque del proceso colocado en el espacio de memoria.

Conclusión:

La asignación de memoria contigua no crea gastos generales y acelera la


velocidad de ejecución del proceso, pero aumenta el desperdicio de memoria. A
su vez, la asignación de memoria no contigua crea gastos generales de traducción
de direcciones, reduce la velocidad de ejecución de un proceso, pero aumenta la
utilización de la memoria. Así que hay ventajas y desventajas de ambos
métodos de asignación.

También podría gustarte