miércoles, 28 de noviembre de 2012

3.2.4 Asignación contigua v.s. 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.
Asignación Contigua de Almacenamiento Versus No Contigua
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 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”.
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.


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 demasiado en la lectura de un archivo.
- Produce fragmentación externa.

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. 
  • 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. 
  • Eficiente para la implementación de archivos directos.

  • Existe desperdicio cuando hay archivos muy chicos. 
  • Desbordamiento de bloque índice. (Solución: creación de un esquema ligado; el ultimo bloque índice apunta a otro índice)




No hay comentarios:

Publicar un comentario