Está en la página 1de 44

Módulo IV

Planificación y gestión de E/S y


de Discos y archivos
II

Contenido
Planificación de monoprocesadores ........................................................................................................ 4
Planificación a largo plazo..................................................................................................................... 6
Planificación a medio plazo................................................................................................................... 7
Planificación a corto plazo .................................................................................................................... 7
Algoritmo de planificación ........................................................................................................................ 8
Criterios de la planificación a corto plazo ........................................................................................... 8
Uso de prioridades ................................................................................................................................. 9
Planificación de multiprocesadores ................................................................................................... 10
Granularidad ........................................................................................................................................... 11
Planificación de Hilos ........................................................................................................................... 12
Compartición de carga......................................................................................................................... 13
Planificación en tiempo real .................................................................................................................... 14
Características de los sistemas operativos en tiempo real ............................................................. 14
Características de la sensibilidad ....................................................................................................... 14
Control de usuario ................................................................................................................................ 15
Fiabilidad ............................................................................................................................................... 15
Tolerancias a fallos ............................................................................................................................... 15
Planificación en tiempo real ................................................................................................................ 15
Métodos de planificación ......................................................................................................................... 16
Métodos con tablas estáticas: ............................................................................................................. 16
Planificación con tablas estáticas ........................................................................................................17
Planificación apropiativa con prioridades estáticas......................................................................... 18
Planificación por plazos ....................................................................................................................... 18
Información de cada tarea................................................................................................................... 18
Planificación monótona de frecuencia .............................................................................................. 20
Gestión de E/S y planificación de disco ............................................................................................ 22
Diferencias entre clases de dispositivos ............................................................................................ 23
Acceso directo a Memoria ...................................................................................................................24
Estructura lógica de las funciones de E/S .........................................................................................26

Sistemas Operativos
III

Almacenamiento intermedio de E/S .................................................................................................. 28


Buffer Sencillo .......................................................................................................................................29
Buffer Doble .......................................................................................................................................... 31
Políticas de planificación de discos .................................................................................................... 31
Archivos ..................................................................................................................................................... 33
Sistemas de gestión de archivos ........................................................................................................ 33
Las operaciones más comunes son las siguientes ............................................................................34
Sistemas de gestión de archivos ........................................................................................................ 35
Objetivos para un sistema de gestión de archivos........................................................................... 35
Organización y accesos a archivos ..................................................................................................... 35
En elección de organización de archivos se consideran los siguientes criterios ......................... 35
Las cinco organizaciones fundamentales son: ..................................................................................36
Directorios de archivos ........................................................................................................................ 37
Operaciones que pueden realizarse con un directorio, en cuanto a una estructura de archivos:
................................................................................................................................................................39
Compartimiento de archivos ...............................................................................................................39
Derechos de Accesos .......................................................................................................................... 40
Clase de usuarios y accesos ............................................................................................................... 40
Agrupación de registros ..................................................................................................................... 40
Métodos de agrupación en bloques según tamaño de bloques. ....................................................42
Gestión de almacenamiento secundario............................................................................................42
Asignación previa frente a asignación dinámica ..............................................................................42
Tamaño de sección ...............................................................................................................................42
Secciones continuas .............................................................................................................................43

Sistemas Operativos
IV

Planificación de monoprocesadores

La memoria principal contiene diferentes procesos. Los procesos se turnan en


usar el procesador y esperar que se realice una operación de entrada / salida en un
sistema multiprogramado. El o los procesadores se conservan ocupados ejecutando un
proceso mientras los demás aguardan. Es necesario para la multiprogramación de una
planificación lo que a continuación veremos, y son cuatro clases de planificaciones del
procesador:
 Planificación de entrada / salida: Disposición sobre qué solicitud de E/S
pendiente, será tratada, a la vez considerando un dispositivo de entrada / salida
disponible.
 Planificación a corto plazo: Disposición sobre qué proceso disponible será
ejecutado en el procesador.
 Planificación a medio plazo: Disposición de agregar procesos al conjunto de
procesos que se encuentran parcial o completamente en memoria.
 Planificación a largo plazo: Disposición de agregar procesos al conjunto de
procesos ejecutados.

Figura 1: Planificación y transiciones de estado de los proceso

Figura 1: Planificación y transiciones de estado de los proceso- STALLINGS, W


(2005). Sistemas Operativos, 5ta Edición

La figura 1, el diagrama de transición de estados de un proceso enlaza con las


funciones de planificación. La planificación a largo plazo, se produce cuando se crea un
proceso nuevo, parte de la disposición de agregar un proceso al conjunto de procesos
activos. La planificación a medio plazo tiene como origen la disposición de agregar un
proceso a los que se encuentran a salvo parcialmente en memoria principal y
disponible para ejecutar, también forma parte del proceso de intercambio. La
planificación a corto plazo es la disposición de que el proceso en estado Listo, será
ejecutado a continuación.

Sistemas Operativos
V

Figura 2: Niveles de planificación

Ejecutando

Listo

Bloqueado

CORTO PLAZO

Bloqueado
y
Suspendido

Listo y
suspendido

MEDIO PLAZO

Nuevo LARGO PLAZO Terminad


o

Figura 2: Niveles de planificación - STALLINGS, W (2005). Sistemas Operativos, 5ta


Edición

Sistemas Operativos
VI

En la figura 2, se constituye gráficamente el anidamiento de las funciones de


planificación reorganizando el diagrama de transición de estados.

Figura 3: Diagrama de cola de planificación

Figura 3: Diagrama de cola de planificación- STALLINGS, W (2005). Sistemas


Operativos, 5ta Edición

La planificación afecta al rendimiento del sistema, y establece qué proceso


aguardará y qué proceso va a proseguir. Se presenta en la figura 3, y permite
visualizar las colas implicadas en las transiciones de estado de un proceso, la
planificación es una gestión para que las colas minimicen la espera y optimice el
rendimiento del entorno.

Planificación a largo plazo

Identifica cuales son los programas aceptados en el sistema. Una vez aceptados
un software de usuario se transforma en un proceso y es agregado a la cola de
planificador a corto plazo. En algunos sistemas se añade a la cola de planificación de
medio plazo, en el momento en que un proceso recién creado inicia en situación de
descargo en la memoria principal. En un sistema operativo por lotes o parte de un

Sistemas Operativos
VII

proceso por lotes, tiene como propósito general que los procesos recién incorporados
se encaminen hacia el disco o permanezcan detenidos en una cola de procesamiento
por lotes. Cuando sea aceptable creará procesos a partir de la cola.

En este sistema existen dos decisiones para el planificador:


 Debe establecer si el sistema operativo puede recibir algún proceso más.
 Debe establecer qué trabajos son admitidos y serán transformados en procesos.

Por el grado de multiprogramación se toma la determinación de cuándo crear un


proceso. Es mínimo el tiempo en que cada proceso se pueda ejecutar, cuando más
procesos se crean. Para ofrecer un servicio favorable al conjunto de procesos actuales,
el planificador a largo plazo puede limitar el grado de multiprogramación. Al finalizar un
trabajo, el planificador puede establecer agregar uno o varios trabajos nuevos. La
determinación de cuál va a ser el siguiente proceso a acceder puede basarse en el
algoritmo primero en llegar / primero en usar.

Planificación a medio plazo

La función de intercambio forma parte de la planificación a medio plazo; que un


proceso sea cargado en la memoria principal tiene relación directa con el requerimiento
de control del grado de multiprogramación. Es un punto a tratar cuando en un sistema
no utiliza la memoria virtual.

La determinación de carga en memoria será según las necesidades de memoria


del proceso descargado.

Planificación a corto plazo

Con mínima frecuencia relativa, se ejecuta el planificador a largo plazo,


seleccionando la opción de qué proceso tomar, o no tomar. Para seleccionar la
decisión de intercambio, el planificador a medio plazo utiliza más frecuencia en su
ejecución.

Esta se ejecuta cuando un suceso interrumpe al proceso actual o expulsar la ejecución


a favor de otro proceso. Estos sucesos pueden ser:
 Interrupciones de reloj.
 Interrupciones de entrada / salida.
 Llamadas al sistema operativo.
 Señales.

Sistemas Operativos
VIII

Algoritmo de planificación

Criterios de la planificación a corto plazo

Su objetivo principal es que el comportamiento del sistema se optimice en algunos


puntos repartiendo el tiempo del procesador, las estrategias de planificación se evalúan
con un conjunto de criterios.

Las dos clasificaciones que establecen el criterio más utilizado que son:
 orientados al usuario.
 orientados al sistema.

Tabla 1: Criterios de planificación


Criterios orientados al usuario, Criterios de rendimiento
Tiempo de Para un proceso interactivo, es el intervalo de tiempo
Respuesta transcurrido desde que se emite una solicitud hasta
que se comienza a recibir las respuestas. A menudo,
un proceso empieza a generar alguna salida para el
usuario mientras que continúa procesando la
solicitud. Así pues, ésta es una medida mejor que el
tiempo de retorno desde el punto de vista del usuario.
La disciplina del planificación debe intentar alcanzar
un tiempo de respuesta bajo y maximizar el número
de usuarios interactivos que reciben un tiempo de
respuesta aceptable.
Tiempo de Retorno Es el intervalo de tiempo transcurrido entre el
lanzamiento de un proceso y su finalización. Es la
suma del tiempo de ejecución real y el tiempo
consumido en la espera por los recursos, incluido el
procesador. Ésta es una medida apropiada para
trabajos por lotes.
Plazos Cuando se pueden especificar plazos de terminación
de un proceso, la disciplina de planificación debe
subordinar otras metas a la maximización del
porcentaje de plazos cumplidos
Criterios orientados al usuario, Otros criterios
Previsibilidad Un determinado trabajo debe ejecutar
aproximadamente en el mismo tiempo y con el mismo
coste sin importar la carga del sistema. Las
variaciones elevadas del tiempo de respuestas o del
tiempo de retorno resultan molestas para el usuario.
Puede indicar una descompensación importante en la

Sistemas Operativos
IX

carga del sistema o la necesidad de ajustar el


sistema para remediar la inestabilidad.
Criterios orientados al sistema, Criterios relativos al rendimiento
Productividad La política de planificación debe intentar maximizar el
número de procesos terminados por unidad de
tiempo. Esta medida indica la cantidad de trabajo que
se está realizando. Depende de la longitud media de
cada proceso, pero también está influida por la
política de planificación, que puede influir en el uso
del procesador.
Utilización del Es el porcentaje de tiempo en el que el procesador
procesador está ocupado. En un sistema compartido caro, éste
es un criterio importante. En sistemas monousuario y
en otros sistemas, como los de tiempo real, este
criterio tiene menor importancia que otros.
Criterios orientados al sistema, Otros criterios
Equidad En ausencia de directrices de usuario o de otras
directrices ofrecidas por el sistema, los procesos
deben ser tratados de igual forma y ningún proceso
debe sufrir inanición.
Prioridades Cuando se asignan prioridades a los procesos, la
política de planificación debe favorecer a los de
mayor prioridad.
Equilibrio de La política de planificación debe mantener ocupados
recursos los recursos del sistema. Se debe favorecer a los
procesos que no utilicen recursos sobrecargados.
Este criterio también afecta a la planificación a medio
y largo plazo.
Tabla 1: Criterios de planificación- STALLINGS, W (2005). Sistemas Operativos,
5ta Edición

Uso de prioridades

Los procesos tienen una prioridad asignada y siempre un proceso de mayor


prioridad seleccionará el planificador antes que a los de menor prioridad en los
sistemas.

Sistemas Operativos
X

Figura 4: Planificación por prioridades

Figura 4: Planificación por prioridades - STALLINGS, W (2005). Sistemas Operativos,


5ta Edición

Planificación de multiprocesadores

Cuando existe más de un procesador en un sistema informático, se agregan


nuevos y varios elementos en el diseño de la tarea de planificación.
Clasificación de los sistemas de tipo multiprocesador

Multiprocesador Multiprocesador
Procesadores
debilmente fuertemente
especializados
acoplado acoplado

Multiprocesador débilmente acoplado: Se compone de un grupo de sistemas


relativamente autónomos, donde los procesadores de forma individual tienen su propia
memoria principal y sus propios canales de E/S.

Sistemas Operativos
XI

Procesadores especializados: Son muy parecidos a los procesadores de E/S,


contando con un procesador principal, de propósito general; estos procesadores se
encuentran controlados por el procesador principal y le ofrecen varios servicios.
Multiprocesador fuertemente acoplado: Cuenta con un grupo de procesadores
que utilizan de forma compartida una memoria principal y se encuentran bajo el control
integrado de un sistema operativo.

Granularidad

Una manera de caracterizar a los multiprocesadores y considerarlos en el


contexto de diferentes arquitecturas, es considerando la granularidad de la
sincronización o también llamada frecuencia de sincronización entre los procesos de un
sistema. Existen cinco categorías de paralelismo que se diferencian en el grado de
granularidad.
Tabla 2: Procesos y Granularidad de la Sincronización
Intervalo de
Tamaño de Grano Descripción Sincronización
(Instrucciones)
Paralelismo inherente en
Fino un único flujo de <20
instrucciones
Procesamiento paralelo o
multitarea dentro de una
Medio 20-200
aplicación individual

Multiprocesamiento de
procesos concurrentes en
Grueso 200-2000
un entorno
multiprogramado
Proceso distribuido por
los nodos de una red para
Muy Grueso formar un solo entorno de 2000-1M
computación

Varios procesos no
Independiente (N/A)
relacionados

Sistemas Operativos
XII

Planificación de Hilos

Son muy habituales los hilos en los sistemas operativos y lenguajes actuales.
Recordamos que con los hilos el concepto de ejecución se aleja del resto de la
definición de un proceso. Existen aplicaciones que pueden implementarse como un
conjunto de hilos que cooperan y ejecutan concurrentemente el mismo espacio de
direcciones.
Los hilos, en un mono procesador, tienen la posibilidad de utilizarse como una
ayuda a la estructuración de un programa y también para superponer la E/S y el
procesamiento. Considerando que la penalización en el caso de intercambios de hilos
es notablemente mínima, en comparación con el intercambio de procesos, implica
también beneficios que se aplican a bajos costes. En cambio, la potencia de los hilos
es más notoria en un sistema multiprocesador donde se utilizan hilos para lograr un
paralelismo real en las aplicaciones. Si en distintos procesadores, diferentes hilos de
una aplicación se ejecutan, se hace posible un gran aumento del rendimiento. En
cambio, existe la posibilidad de demostrar que, en aplicaciones que procuren
fuertemente una interacción importante entre los hilos (paralelismo de grado medio),
ínfimas diferencias en la planificación y administración de hilos, pueden implicar un
importante significado en el rendimiento.
Métodos Destacados, entre las diferentes propuestas de planificación de hilos de
multiprocesadores.

Compartición de carga

Planificación por grupos

Asignación dedicada de procesadores

Planificación dinámica

Compartición de carga: No son asignados los procesos a un procesador


particular. Se considera una cola global de hilos listos y cada procesador, en su tiempo
de ocio, selecciona un hilo de la cola. “Compartición de carga”, es un término utilizado
para distinguir esta estrategia del esquema de carga equilibrada en el momento en que
el trabajo se distribuye de una forma más permanente.
Planificación por grupos: Se realiza una planificación sobre un grupo de hilos a
fines, que serán ejecutados en un conjunto de procesadores al mismo tiempo,
considerando una relación uno a uno.

Sistemas Operativos
XIII

Asignación dedicada de procesadores: Consiste en lo opuesto a la auto


planificación otorgando una planificación implícita definida por la asignación de hilos en
referencia a los procesadores. Al momento de ejecutar un programa, a cada programa
se le designa un número determinado de procesadores igual al número de hilos que
posee. En el momento en que termina el programa, los procesadores retoman a la
reserva general para la realización de asignaciones tentativas a otros programas.
Planificación dinámica: Durante la ejecución de un programa, se puede cambiar el
curso del mismo, a través del número de hilos del programa.

Compartición de carga

Resulta el método más simple y fácil de traducir desde el entorno de un


monoprocesador. Seguidamente se indica las ventajas:
 De manera uniforme se distribuye la carga entre los procesadores, con la
seguridad de que ningún procesador esté ocioso, mientras exista trabajos
disponibles.
 Un planificador centralizado, no es necesario. En el momento en que un
procesador está libre, la rutina de planificación de sistemas operativos, se
ejecuta en este procesador con el fin de seleccionar un nuevo hilo.
 La cola global tiene la posibilidad de organizarse y es posible acceder a ella a
través de unos esquemas basados en prioridades y los que consideran el
historial de ejecución de las solicitudes del proceso por adelantado.
Versiones diferentes de compartición de carga

Primero el de
Primero el de
Primero en llegar / menor número
menor número
Primero en servise de hilos, con
de hilos
apropiación

Sistemas Operativos
XIV

Planificación en tiempo real

Características de los sistemas operativos en tiempo real

Determinis
mo

Tolerancia a
Sensibilidad
fallos
Características
de los
sistemas
operativos en
tiempo real

Control de
Fiabilidad
usuario

La sensibilidad hace referencia al tiempo que tarda el sistema operativo en dar servicio
a la interrupción, luego de reconocerla.

Características de la sensibilidad

1- La cantidad de tiempo requerido para iniciar la gestión de la interrupción e iniciar


la ejecución de su rutina de tratamiento (ISR, interrupt-service-routine). En caso
que la ejecución requiera un cambio de contexto, la espera será mayor que si la
ISR puede ejecutarse dentro del contexto del proceso actual.
2- La cantidad de tiempo requerido para ejecutar la ISR. Comúnmente, depende de
la plataforma del hardware.

Sistemas Operativos
XV

3- El efecto del anidamiento de interrupciones. El servicio tendrá un retraso si una


ISR puede ser interrumpida por la llegada de otra interrupción.

Control de usuario

En un sistema operativo de tiempo real, es mucho mayor “El control del usuario”,
que en un sistema operativo ordinario. En un sistema de tiempo real, es primordial
permitir al usuario un control específico sobre la prioridad de las tareas. Debe poder
notar, el usuario, la diferencia entre las tareas rígidas y flexibles, también especificar
prioridades relativas dentro de cada clase.

Fiabilidad

Es una característica muy relevante en sistemas de tiempo real que en los que
no son de tiempo real. Cuando ocurre un fallo transitorio en un sistema que no es de
tiempo real, es posible resolver el inconveniente, sencillamente iniciando el sistema.

Tolerancias a fallos

Es una característica que referencia a la capacidad de un sistema de mantener


la máxima cantidad y los máximos datos que sean posibles en caso de fallos.

Planificación en tiempo real

Los algoritmos de planificación en tiempo real, en sus distintos métodos de


planificación, depende de:
a- Si el sistema desarrolla un análisis de planificación.
b- Considerando el cumplimiento de “a”, si se realiza estática o dinámicamente.
c- Si el resultado del análisis genera un plan en relación al cual se expiden las
tareas en el momento de ejecución.

Sistemas Operativos
XVI

Métodos de planificación

Métodos con tablas estáticas:

Procesan un análisis estático de las planificaciones posibles. El análisis


proporciona un resultado y este consiste en un plan que indica, en tiempo de ejecución
en qué momento se debe iniciar la tarea.
Métodos apropiativos con prioridades estáticas: Se realiza un análisis estático,
pero no se indica ningún plan. Este análisis se utiliza para asignar prioridades a
determinadas tareas, de tal manera que sea posible utilizar n planificador convencional
apropiativo con prioridades.
Métodos dinámicos de planificación: En el momento de ejecución, se indica la
viabilidad y no antes de iniciar la ejecución. Es aceptada una nueva tarea para
ejecutarse, únicamente si es posible cumplir sus restricciones de tiempo.
Métodos dinámicos del mejor resultado: El análisis de viabilidad no es realizado.
El sistema intenta cumplir todos los plazos, abandonando cualquier proceso cuyo plazo
no se haya cumplido.
Figura 5: Planificación en tiempo real

(a) Planificador apropiativo Round-robin

Sistemas Operativos
XVII

(b) Planificador no apropiativo controlado por prioridades

(c) Planificador apropiativo controlado por prioridades con instantes de apropiación

(d) Planificador con apropiación inmediata


Figura 5: Planificación en tiempo real - STALLINGS, W (2005). Sistemas
Operativos, 5ta Edición

Planificación con tablas estáticas

Esta es utilizable en tareas periódicas, la entrada del análisis cuenta con * El


tiempo periódico de llegada * El tiempo de ejecución * El plazo periódico de finalización
y la prioridad relativa de cada tarea.

Sistemas Operativos
XVIII

Planificación apropiativa con prioridades estáticas

Esta utiliza el mecanismo de planificación apropiativa por propiedades, muy


común en los sistemas multiprogramados que no son de tiempo real.

Planificación por plazos

Los sistemas operativos de tiempo real, en su mayoría, fueron diseñados con el


objetivo de iniciar las tareas en tiempo real de la forma más ágil posible, por ese motivo
se da mucho énfasis a la rápida gestión de interrupciones y expedición de tareas. En
las aplicaciones de tiempo real comúnmente no es motivo de preocupación la velocidad
absoluta sino más bien lo importante es completar las tareas en el momento justo ni
antes ni después, aunque aparezcan peticiones dinámicas de recursos y otras
situaciones tales como los conflictos, la sobrecarga de procesos, los fallos de hardware
y software.
Citando los métodos para la planificación de tareas en tiempo real, también se
menciona que estos se basan en contar con la información adicional de cada tarea.

Información de cada tarea

Instante en que está cada lista

Plazo de comienzo Exigencias de recursos

Tiempo de Plazo de Estructura de


Prioridad
proceso finalización sub Tareas

Instante en que está cada lista: Es el instante en el cual una tarea pasa a esta
lista para ejecución.

Sistemas Operativos
XIX

Plazo de comienzo: Momento en que la tarea debe comenzar.


Plazo de finalización: Momento en que la tarea debe finalizar.
Tiempo de proceso: Tiempo requerido para ejecutar una tarea hasta que esta
finalice.
Exigencias de recursos: Implica el conjunto de recursos incluyendo el
procesador, que requiere una tarea durante su ejecución.
Prioridad: Mide relativamente la importancia de la tarea.
Estructura de sub Tareas: Es posible que una tarea se descomponga en una
subtarea obligatoria y otra opcional.
Existen diversos factores a considerar en la planificación en tiempo real, cuando
se tendrá en cuenta los plazos, y estos factores son: que tarea se planifica a
continuación y que tipo de apropiación se permite.
Un computador tiene la capacidad de tomar una decisión de planificación cada
10 ms. Considerando estas circunstancias, donde se pretende utilizar un esquema de
planificación con prioridades. Los primeros dos diagramas de tiempo indicado en la
figura 6, se muestra el resultado. En este ejemplo se cumplen todos los requisitos del
sistema a través de la planificación que otorga prioridad, en los instantes de
apropiación, a aquellas tareas con un plazo más cercano, considerando que las tareas
son periódicas y predecibles, se utiliza un método de planificación con tablas estáticas.
En la siguiente figura 6, se visualizan las tareas y los plazos de realización de las
mismas.

Sistemas Operativos
XX

Figura 6: Planificación de tareas periódicas de tiempo real con plazos de


terminación

Figura 6: Planificación de tareas periódicas de tiempo real con plazos de terminación


- STALLINGS, W (2005). Sistemas Operativos, 5ta Edición

Planificación monótona de frecuencia

Es el método más prometedor en cuanto a resolución de conflictos de


planificación multitarea con tareas periódicas. Consiste en asignar prioridad a tareas
considerando sus periodos.

Sistemas Operativos
XXI

Figura 7: Diagrama de tiempos de tareas periódicas

Figura 7: Diagrama de tiempos de tareas periódicas - STALLINGS, W (2005).


Sistemas Operativos, 5ta Edición
En esta figura se indican parámetros importantes de las tareas periódicas. El
periodo T de las tareas consiste en el tiempo que pasa entre una llegada de la tarea y
las siguientes llegadas de la misma tarea. La frecuencia de una tarea consiste en la
inversa de su periodo. A modo de ejemplo se indica, una tarea con periodo con 50 ms
tiene una frecuencia de 20 hz.
Generalmente el momento final del periodo de una tarea es también el plazo
rígido de la tarea, aunque algunas tareas pueden tener plazos anteriores.
La tarea con prioridad más alta es la del periodo más corto en RMS (Rate
Monotic Schedulin), la siguiente tarea de mayor prioridad es la del segundo periodo
más corto y así sucesivamente. En el caso que haya más de una tarea para ejecutar,
se da servicio primeramente a la tarea con periodo más corto. En caso que se dé una
gráfica de prioridades de las tareas en función a sus frecuencias el resultado consiste
en una función monótona creciente, de aquí proviene el nombre de planificación
monótona en frecuencia, esto se puede visualizar en la figura 8.

Sistemas Operativos
XXII

Figura 8: Una tarea con RMS [WARR91]

Figura 8: Una tarea con RMS [WARR91] - STALLINGS, W (2005). Sistemas


Operativos, 5ta Edición

Gestión de E/S y planificación de disco

Dispositivos de Entrada/Salida
Clasificación de los dispositivos externos que realizan procesos de E/S

• Útiles para la comunicación con los usuarios. Entre ellos se pueden citar
Dispositivos
las terminales de videos, que tienen teclado, pantalla y otros como ratón
legibles por los o impresora.
humanos

• Preparados para comunicarse con equipos electrónicos, como discos,


Dispositivos unidades de cinta, sensores, controladores e impulsores.
legibles por las
máquinas

• Preparados para comunicarse con dispositivos lejanos, como adaptadores


Dispositivos de de líneas digitales y modem.
comunicaciones

Sistemas Operativos
XXIII

Diferencias entre clases de dispositivos

 Velocidad de datos: Existe diferencias entre, determinados órdenes de magnitud


y entre las velocidades de transmisión de datos.
 Aplicaciones: Según el uso que se le otorgue a un dispositivo esto influye en el
software, las políticas del sistema operativo y las actividades de apoyo. Las
aplicaciones utilizadas impactan en los algoritmos de planificación del disco.
 Complejidad de control: Las diferencias son filtradas por el sistema operativo
según el tipo de dispositivo de E/S y su complejidad, se referencia a que una
impresora requiere una interfaz de control simple y un disco duro, requiere de
gestiones más complejas.
 Unidad de transferencias: Los datos tienen la posibilidad de transferirse como
flujos de bytes o caracteres o bloques mayores.
 Representación de datos: Según el tipo de dispositivo se utilizan esquemas
determinados de codificación de datos, incluyendo las disparidades en los
códigos de caracteres y convenios de paridad.
 Condiciones de Error: Se diferencian de un dispositivo a otro, los siguientes
aspectos, la naturaleza de los errores, la manera en que se informa sobre los
errores, las consecuencias de los errores y el rango disponible de respuestas.

Sistemas Operativos
XXIV

Organización de las funciones de E/S

E/S Programada: E/S Dirigida por interrupciones Acceso directo a memoria


• El procesador indica una orden de E/S • El procesador indica una orden de E/S (DMA)
de parte de un proceso hacia un módulo de parte de un proceso, sigue la • El módulo DMA controla el intercambio
de E/S, antes de seguir el proceso ejecución de las instrucciones de datos entre la memoria principal y
aguarda que termine la operación. posteriores y es interrumpido por el un módulo de E/S. El procesador envía
módulo de E/S cuando este ha una solicitud de transferencia de un
terminado su trabajo . bloque de datos al módulo de DMA y se
ve interrumpido únicamente cuando el
bloque entero se haya transferido.

Acceso directo a Memoria

En la siguiente imagen denominada “Diagrama de bloques de un DMA típico”, se indica


la lógica del DMA. La unidad de DMA tiene la capacidad de imitar a la CPU y tiene la
capacidad de revelar a la CPU en el control del sistema para luego trasportar los datos
con la memoria por el bus del sistema. Generalmente el módulo de DMA utiliza el bus
únicamente cuando la CPU no lo requiera, en otra situación debe obligar a la CPU que
suspenda una operación de forma temporal. Esta técnica recientemente mencionada
se llama “Robos de Ciclos” ya que la unidad de DMA roba un ciclo del bus.
Posteriormente DMA devuelve el control a la CPU. Se aclara que esto no es una
interrupción ya que la CPU no debe guardar el contexto ni hacer otra cosa, la CPU
espera un ciclo de bus.

Sistemas Operativos
XXV

Figura 9: Diagrama de Bloques de un DMA típico

Figura 9: Diagrama de Bloques de un DMA típico - STALLINGS, W (2005). Sistemas


Operativos, 5ta Edición

El mecanismo de DMA tiene la posibilidad de configurarse de varias maneras.


Estas maneras se muestran en la figura 10 (A), en esta imagen se visualiza
primeramente que todos los módulos comparten el mismo bus del sistema, y es una
configuración barata pero ineficiente. En la figura 10 (B) se visualiza un camino entre el
módulo DMA y uno de los módulos de E/S que no pasan por el bus del sistema. En la
figura 10 (C), se conectan los módulos de E/S al módulo de DMA mediante un bus de
E/S, esto reduce a una, el número de interface de E/S en el módulo de DMA y ofrece
una configuración fácilmente ampliable. Como en el caso (B) y (C) el bus del sistema
que el módulo de DMA comparte con la CPU y la memoria principal, se utiliza por el
módulo DMA únicamente para realizar un intercambio de datos con la memoria y a la
vez para realizar un intercambio de señales de control con la CPU.

Sistemas Operativos
XXVI

Figura10: Configuraciones posibles de DMA

(a) DMA Independiente de bus sencillo

(b) Integración DMA-E/S de bus sencillo

(c) Bus de E/S


Figura 10: Configuraciones posibles de DMA - STALLINGS, W (2005). Sistemas
Operativos, 5ta Edición

Estructura lógica de las funciones de E/S

Según la filosofía jerárquica se indica que las funciones del sistema operativo
deben ser separadas en base a su complejidad, los subrangos de tiempos y el nivel de
abstracción. Continuar este enfoque lleva a una organización del sistema operativo en
un conjunto de niveles. Determinados niveles gestionan una parte de las funciones
necesarias del sistema operativo. Los niveles tienen niveles inferiores que realizan
funciones más básicas y ocultan los detalles. Cada nivel ofrece servicios a nivel
superior. En una buena gestión de niveles, los niveles deben definirse de una manera
en que los cambios de un nivel no ocasionen más cambios en otros niveles.
Comúnmente los niveles inferiores se enfrentan a un rango de tiempo mucho
menor y en determinadas partes del sistema operativo se ven obligadas a interactuar
de forma directa con el hardware, y cada suceso aquí, ocurre en tiempo del orden de
nano segundos. Por otra parte el sistema operativo se comunica con el usuario, quien

Sistemas Operativos
XXVII

indica órdenes de forma más pausada. La utilización de un conjunto de niveles tiene la


posibilidad de adaptarse bien a este entorno. La aplicación específica de esta filosofía a
la E/S indica la clase de organización y visualizada en la figura 11.
Figura 11: Un modelo de organización de E/S

Figura 11 Un modelo de organización de E/S- STALLINGS, W (2005). Sistemas


Operativos, 5ta Edición
Considerando esta figura 11 en la sección (a) se aplican los siguientes niveles.
 E/S Lógica: Este módulo considera al dispositivo como un recurso lógico, el
módulo de E/S lógica gestiona las funciones generales de E/S solicitadas por los
procesos de usuarios, otorgando la posibilidad de gestionar el dispositivo a
través de un identificador y órdenes básicas como abrir, cerrar, leer y escribir.
 E/S con Dispositivos: Las operaciones solicitadas y los datos pasan a ser
secuencias de instrucciones de E/S, que con técnicas de almacenamiento
intermedio mejoran su uso.
 Planificación y Control: En este nivel se realiza la planificación y encolado de las
operaciones de E/S, esto implica gestión de interrupciones y verificación de
estado de E/S.

Sistemas Operativos
XXVIII

En la sección (b) de la misma figura 11 las operaciones son similares pero existe
una diferencia que consiste en que el módulo de E/S lógica es reemplazado por una
arquitectura de comunicaciones como por ejemplo la arquitectura (OSI) que cuenta con
7 niveles.
En la sección (c) de la misma figura 11se indica una estructura de gestión de E/S
en un dispositivo de almacenamiento secundario que gestiona un sistema de archivos,
y se agregan 3 niveles indicados seguidamente.
 Gestión de directorios: Nivel que traduce los nombres simbólicos de archivos a
identificadores que hacen referencia al archivo de forma directa o indirecta por
medio de un descriptor de archivo o también llamado índices de tablas. Las
operaciones posibles son añadir, borrar y reorganizar el directorio de archivo.
 Sistemas de archivos: Aquí se gestiona la estructura lógica de los archivos y las
especificaciones de los usuarios tales como abrir, cerrar, leer y escribir, a través
de los derechos de accesos se gestiona este nivel.
 Organización Física: Al igual que las direcciones virtuales de memoria, deben
convertirse en direcciones físicas de la memoria principal considerando la
estructura segmentada y paginada. En este nivel se realiza la asignación de
espacio de almacenamiento secundario y de buffer de almacenamiento principal.

Almacenamiento intermedio de E/S

Tendremos en cuenta la siguiente situación planteada para comprender este


procedimiento.
Teniendo en cuenta un proceso de usuario intenta leer bloques de datos de una
cinta, uno por vez, y cada bloque es de 100 Bytes, los datos serán leídos en una zona
de datos del proceso de usuario, ubicado en las siguientes direcciones virtuales de
1.000 a 1.009. El método más fácil de realizar este proceso consistiría en indicar una
orden de E/S a la unidad de cinta y aguardar que los datos queden disponibles. La
espera podría resultar activa o de una forma más práctica podría suspender al proceso
en espera de una interrupción.
Dos inconvenientes se visualizan en este enfoque. Primeramente el programa
queda colgado aguardando a que la operación lenta de E/S finalice. En segundo lugar
es que el método de E/S haga más compleja las decisiones de intercambio del sistema
operativo. Estas ubicaciones virtuales de 1.000 a 1.009 quedan en memoria principal
durante el curso de la transferencia del bloque. En caso contrario los datos se
perderían en partes. Si se utiliza la técnica de paginación, la página que contenga las
direcciones virtuales debe quedar en la memoria principal, entonces si algunas partes
del proceso son expulsadas a disco, no sería posible el proceso completo, aún si el
sistema operativo así lo desea. En este caso hay riesgo de interbloqueo.

Sistemas Operativos
XXIX

Con la intención de evitar cagar e incapacidad, es preferible realizar


transferencia de entrada de forma adelantada a las peticiones y procesar las
transferencias de salidas un tiempo posterior a la petición. A esto se denomina técnica
de almacenamiento intermedio (Buffering).
Métodos de almacenamiento intermedio ofrecidos por el sistema operativo con el
fin de optimizar el rendimiento del sistema.
Al momento de debatir sobre los métodos de almacenamiento intermedio es de
relevancia mencionar los dos tipos de dispositivos:
A) Dispositivos de Bloques
B) Dispositivos de Flujos
Los dispositivos de bloques, guardan la información en bloques, generalmente
de tamaño fijo, realizando las transferencias de un bloque a la vez. Normalmente, es
posible referirse a los bloques por un número de bloque. Como ejemplo de dispositivos
de bloques podemos citar a los discos y las cintas. Los dispositivos de flujos transfieren
los datos como flujos de bytes, no tienen estructura de bloques. Son considerados
dispositivos de flujos, las terminales, impresoras y dispositivos apuntadores.

Buffer Sencillo

El sistema operativo tiene la posibilidad de ofrecer una clase de apoyo simple


denominado buffer sencillo, el mismo se visualiza en la figura 12.

Sistemas Operativos
XXX

Figura 12: Esquema de almacenamiento intermedio de E/S (entrada)

Figura 12: Esquema de almacenamiento intermedio de E/S (entrada) - STALLINGS, W


(2005). Sistemas Operativos, 5ta Edición
En el momento que un proceso de usuario hace una petición de E/S, el sistema
operativo le otorga a la operación un buffer en la parte del sistema en la memoria
principal.
En el caso del dispositivo de bloques, el esquema de buffer sencillo, tiene la
posibilidad de describirse como se indica a continuación. Las transferencias de
entradas se procesan al buffer del sistema. En el momento que la transferencia se ha
completado, el proceso traslada el bloque al espacio del usuario y solicita otro bloque
inmediatamente. A esto se lo denomina “Técnica de lectura por adelantado o entrada
anticipada” y la misma se procesa aguardando que el bloque se vuelva a necesitar más
adelante. Esto es razonable la mayoría de las ocasiones, para diversos tipos de

Sistemas Operativos
XXXI

operaciones. La lectura del bloque será innecesaria únicamente al final de una


secuencia de procesamiento.
Este método ofrece una mayor velocidad en relación con la ausencia de
almacenamiento intermedio en el sistema. El proceso de usuario tiene la posibilidad de
procesar un bloque de datos en el mismo momento que está leyendo el siguiente. El
sistema operativo tiene la capacidad de sacar al proceso porque la operación de
entrada tiene lugar en el interior de la memoria del sistema en vez de en la memoria de
usuario de proceso. Esta técnica dificulta la lógica del sistema operativo. El sistema
operativo debe constatar y almacenar las asignaciones del buffer del sistema a los
procesos de usuarios. En caso de que la operación E/S implique al mismo disco
utilizado para intercambio, muy poco importa colar la escritura del disco para sacar al
proceso. Esta intención de sacar o expulsar al proceso y liberar la memoria principal no
iniciará hasta que la operación de E/S finalice, instante en que la expulsión del proceso
al disco puede no ser conveniente.

Buffer Doble

Es posible procesar una mejora del buffer sencillo asignando dos buffer del
sistema a cada operación, esto se visualiza en la figura “Esquema de almacenamiento
intermedio de E/S (Entrada) sección (c)”. Entonces un proceso tiene la posibilidad de
transferir datos hacia o desde un buffer mientras que el sistema operativo libera o
rellena el otro. A este proceso se lo conoce como buffer doble o intercambio de buffer.

Políticas de planificación de discos

Existen varios métodos de planificación. La planificación aleatoria es útil como


medida comparativa con el fin de evaluar otras técnicas, la planificación de tipo FIFO
“Primero en entrar, primero en salir” es una de las más sencillas. Esta técnica es
considerada como justa ya que las peticiones son servidas por orden de llegada.
En la siguiente tabla 3, se podrá visualizar las especificaciones.

Sistemas Operativos
XXXII

Tabla 3: Comparación de Algoritmos de Planificación del Disco


(a) FIFO (b) SSTF (c) SCAN (d) C-SCAN
(comenzando en la (comenzando en la
pista 100 en pista 100 en
(comenzando en la (comenzando en la
direcciones direcciones
pista 100) pista 100)
crecientes de crecientes de
número de pista) número de pista)
Siguient Número de Siguient Número Siguient Número Siguient Número
e pista pista e pista de pista e pista de e pista de
accedid recorridas accedid recorrid accedid pistas accedid pistas
a a as a recorrid a recorrid
as as
55 45 909 10 150 50 150 50
58 3 58 32 160 10 160 10
39 19 55 3 184 24 184 24
18 21 39 16 90 94 18 166
90 72 38 1 58 32 38 20
160 70 18 20 55 3 39 1
150 10 150 132 39 16 55 16
38 112 160 10 38 1 58 3
184 146 184 24 18 20 90 32
Tiempo Tiempo Tiempo Tiempo
medio medio de medio de medio de
de 55,3 búsqued 27,5 búsqued 27,8 búsqued 35,8
búsqued a a a
a

Tabla 3: Comparación de Algoritmos de Planificación del Disco - STALLINGS, W


(2005). Sistemas Operativos, 5ta Edición
Tabla 4: Algoritmos de planificación de Discos.

Sistemas Operativos
XXXIII

Nombre Descripción Comentarios


Selección en función del demandante:
RSS Planificación Aleatoria Para análisis y simulación

FIFO Primero en entrar, primero en salir El más justo de todos

PRI Prioridad del proceso El control se lleva aparte de la


gestión de la cola del disco

LIFO Ultimo en entrar, primero en salir Maximiza la utilización de


recursos y aprovecha la
cercanía
Selección en función del elemento solicitado
SSTF Primero el más corto Gran aprovechamiento y colas
pequeñas
SCAN Recorrer el disco de un lado a otro Mejor distribución del servicio

C-SCAN Recorrer el disco en un solo sentido Menor variabilidad en el servicio

SCAN de N SCAN de N registros a la vez Garantía de servicio

FSCAN SCAN de N pasos, con N = longitud Sensible a la carga


de la cola al comienzo del ciclo del
SCAN

Tabla 4: Algoritmos de planificación de Discos. - STALLINGS, W (2005). Sistemas


Operativos, 5ta Edición

Archivos

Sistemas de gestión de archivos

El archivo es un elemento central en la mayoría de las aplicaciones. Con la


excepción de las aplicaciones de tiempo real y otras más especializadas, el ingreso a la
aplicación se realiza a través de archivos, es así para la mayoría de las aplicaciones, la
salida se guarda en archivos para su almacenamiento a largo plazo y para que puedan
accederse posteriormente por parte de usuario o programas.
Un sistema de administración de archivos, requiere mínimamente determinados
servicios especiales del sistema operativo.

Sistemas Operativos
XXXIV

Campo

Archivos Registro

Base de
datos

El elemento más básico, es el campo, el mismo contiene un único valor, se caracteriza


por su longitud y por el tipo de datos. El registro es el conjunto de datos relacionados,
dependiendo del diseño puede ser de longitud fija o variable. Un archivo es una
colección de registros similares, poseen nombres únicos y tienen la posibilidad de
crearse y borrarse. La base de datos es una colección de datos relacionados, la misma
puede tener toda la información de una organización de un proyecto.

Las operaciones más comunes son las siguientes

Recuperar_todos: Consiste en recuperar todos los registros de un archivo. Se


considera esta operación como similar al término proceso secuencial ya que acceden a
todos los registros secuencialmente.
Recuperar_u110: Consiste en una operación que implica la recuperación de un
registro único. Requieren de esta operación, las aplicaciones interactivas de
transacciones.
Recuperar_siguiente: Indica la recuperación del “Siguiente” registro.
Recuperar_previo: Es muy parecida a la recuperación del siguiente pero aquí el
registro anterior al que se está accediendo en ese mismo instante, es recuperado.
Insertar_uno: Inserta un registro nuevo en el archivo.
Borrar_uno: Elimina un registro existente.

Sistemas Operativos
XXXV

Actualizar_uno: Consiste en recuperar un registro, actualizar sus campos, volver a


escribir el registro actualizado en el archivo.
Recuperar_varios: Consiste en recuperar una cantidad determinadas de registros.

Sistemas de gestión de archivos

Es aquel software que proporciona a los usuarios y aplicaciones, servicios en


cuanto al empleo de archivos. Generalmente es la única forma de acceso a los
archivos de parte de los usuarios y a través del sistema de gestión de archivos.

Objetivos para un sistema de gestión de archivos

 Cumplir con los requerimientos de gestión de datos y de usuarios en cuanto al


almacenamiento de datos y realización de operaciones.
 Garantizar que los datos de los archivos son válidos.
 Optimizar el rendimiento en cuanto al sistema, usuario y tiempo de respuesta.
 Ofrecer soporte de E/S para diferentes tipos de dispositivos de almacenamiento.
 Minimizar o eliminar la posibilidad de eliminación definitiva de datos.
 Ofrecer un conjunto de rutina de interfaz de E/S de modo estándar.
 Otorgar soporte de E/S para múltiples usuarios al utilizar sistemas multiusuarios.

Organización y accesos a archivos

La organización física de un archivo en memoria secundaria está relacionada con la


estrategia de agrupación y la estrategia de asignación de archivos indicados
seguidamente.

En elección de organización de archivos se consideran los siguientes criterios

 Acceso rápido para el proceso de recuperación eficaz de información.


 Facilidad de actualización.
 Economía de almacenamiento.
 Mantenimiento sencillo a fin de disminuir los costos y errores.
 Fiabilidad en cuanto a los datos.

Sistemas Operativos
XXXVI

Las cinco organizaciones fundamentales son:

 Pilas.
 Archivos secuenciales.
 Archivos secuenciales indexados.
 Archivos indexados.
 Archivos directos o de dispersión (HASH).
Seguidamente se visualiza la figura 12.
Figura 13 Organizaciones comunes de archivos

Sistemas Operativos
XXXVII

Figura 13: Organizaciones comunes de archivos - STALLINGS, W (2005). Sistemas


Operativos, 5ta Edición

Directorios de archivos

En relación a un sistema de gestión de archivos o colección de archivos, existe


un directorio de archivos. Este posee información sobre los archivos, tanto como
atributos, ubicación y propietario.
El directorio es propiamente un archivo que tiene el sistema operativo y es
accesible por medio de rutinas de gestión de archivos.
Seguidamente se visualizan la tabla 5.

Sistemas Operativos
XXXVIII

Tabla 5: Elementos de Información de un directorio de archivos


Información Básica
Nombre del archivo Nombre elegido por el creador (usuario o
programa).
Debe ser único en un directorio específico.
Tipo de archivo Por ejemplo: texto, binario, módulo de carga, etc.
Organización del archivo Para sistema que soportan varias
organizaciones
Información de Direccionamiento
Volumen Indica el dispositivo donde se almacena el
archivo
Dirección de comienzo Dirección física de inicio en memoria secundaria
(cilindro, pista y número de bloque en disco)
Tamaño usado Tamaño actual del archivo en bytes, palabras o
bloques
Tamaño asignado Tamaño máximo del archivo
Información de Control de Acceso
Propietario Usuario con control sobre el archivo. El
propietario puede otorgar o denegar acceso a
otros usuarios y cambiar estos privilegios
Información de acceso Una versión simple de este elemento incluye el
nombre del usuario y la contraseña para cada
usuario autorizado.
Acciones permitidas Controla la lectura, escritura, ejecución y
transmisión por una red.
Información de Uso
Fecha de Creación Cuándo se añadió el archivo al directorio
Identidad del creador Normalmente, pero no siempre el propietario
Fecha de última lectura Fecha de la última vez que se leyó un registro
Identidad del último lector Usuario que hizo la lectura
Fecha de última Fecha de la última actualización, inserción o
modificación borrado
Identidad del último Usuario que hizo la modificación
modificador
Fecha de la última copia Fecha de la última vez que el archivo fue
de seguridad copiado en otro medio
Utilización actual Información sobre la actividad actual sobre el
archivo, tal como el (los) proceso(s) que tienen
abierto el archivo, si está bloqueado por un
proceso y si el archivo ha sido actualizado en
memoria principal, pero aún no en disco

Sistemas Operativos
XXXIX

Operaciones que pueden realizarse con un directorio, en cuanto a una

estructura de archivos:

 Buscar: sucede cuando un usuario o aplicación hace referencia a un archivo, la


búsqueda se realiza en el directorio y en la entrada correspondiente al archivo.
 Crear Archivos: Al crear un archivo este debe agregar una entrada del directorio.
 Borrar Archivos: Se debe eliminar una entrada del directorio cuando se borra el
archivo
 Listar Directorio: Esta solicitud la realiza un usuario y obtiene como resultante
una lista con todos los archivos que posee ese usuario.
Seguidamente se visualiza la figura 14 siendo este el método más potente y flexible.
Figura 14: Directorio estructurado en árbol

Figura 14: Directorio estructurado en árbol - STALLINGS, W (2005). Sistemas


Operativos, 5ta Edición

Compartimiento de archivos

Generalmente en los sistemas de multiusuarios existe el requerimiento de


otorgar a los usuarios la posibilidad de compartir archivos, en base a eso considerar los
derechos de accesos y la gestión de los accesos simultáneos.

Sistemas Operativos
XL

Derechos de Accesos

Los sistemas de archivos otorgan una herramienta flexible para lograr el


compartimiento general de archivos entre usuarios y también opciones de control de la
forma de acceso a cada archivo.
Generalmente se concede permisos específicos a determinados grupos de
usuarios.
Derecho de accesos que pueden asignarse a un usuario en cuanto a un archivo
 Ninguno: No se conoce la existencia del archivo.
 Conocimiento: Es posible conocer la existencia y el propietario del archivo.
 Ejecución: Es posible cargar y ejecutar pero no copiar un programa.
 Lectura: es posible leer el archivo así también copiar y ejecutar.
 Adición: Es posible añadir datos al archivo pero no borrar ni modificar.
 Actualización: Es posible modifica, borrar y añadir datos al archivo.
 Cambio de protección: Es posible cambiar los derechos de acceso a otros
usuarios.
 Borrado: Es posible borrar el archivo del sistema de archivos.

Clase de usuarios y accesos

 Usuario específico: Designado por ID usuario.


 Grupos de usuarios según criterios grupales.
 Todos: Acceso general a archivos públicos.

Agrupación de registros

Seguidamente en la Figura 14, se visualiza algunos “Métodos de agrupación de


registros”.

Sistemas Operativos
XLI

Figura 14: Métodos de Agrupación de Registros - STALLINGS, W (2005). Sistemas


Operativos, 5ta Edición

Sistemas Operativos
XLII

Generalmente en los sistemas, los bloques tienen longitud fija esto hace más
fácil la asignación de memoria intermedia en memoria principal y la organización de
bloques de memorias secundarias. Cuando mayor sea el bloque, mayor cantidades de
registros pasarán en una operación de E/S.

Métodos de agrupación en bloques según tamaño de bloques.

 Bloques Fijos: Son utilizados registros de longitud fija, almacenándose en cada


bloque un número entero de registros.
 Bloques de longitud variables por tramos: Son utilizados registros de longitud
variable agrupados por bloques, no dejando espacio sin utilizar.
 Bloque de longitud variable sin tramos: Son utilizados registros de longitud
variable y no se dividen en tramos, esto indica que en los bloques habrá un
espacio desperdiciado.

Gestión de almacenamiento secundario

El archivo tiene un conjunto de bloques, en una memoria secundaria. El


responsable de la asignación de los bloques a archivos es el sistema operativo o bien
el sistema de gestión de archivos.

Asignación previa frente a asignación dinámica

Al momento de crear archivos de datos de resumen o al transferir archivos


desde otros sistemas por medio de red de comunicaciones, se genera un valor que es
estimable. En cambio para varias aplicaciones es difícil estimar de forma fiable el
posible tamaño máximo del archivo.

Tamaño de sección

Es posible asignar una sección relativamente grande para almacenar un archivo


entero, en otra situación es posible asignar el espacio en disco de bloque en bloque. Al
seleccionar el tamaño de sección, debe existir un compromiso relativo a la eficiencia
desde el punto de vista de un solo archivo frente al sistema global.
Opciones principales ante la gestión y el tamaño de secciones.

Sistemas Operativos
XLIII

Secciones continuas

Variables Grandes: Ofrece un mejor rendimiento, el tamaño variable bloqueará


la perdida y serán pequeñas las tablas de asignación de archivos.
Bloques: Ofrecen mayor flexibilidad, las secciones fijas y pequeñas. Es
abandonada la contigüidad y los bloques son asignados según requerimientos.
Es importante tener en cuenta la fragmentación del espacio libre cuando se
gestionan secciones de tamaño variables. Para ello se presentan las siguientes
estrategias alternativas.
 Primer Hueco: Consiste en seleccionar el primer grupo de bloques contiguos sin
utilizar, que tenga tamaño suficiente.
 Mejor Hueco: Consiste en seleccionar el grupo más pequeño sin utilizar, que
tenga tamaño suficiente.
 Hueco más cercano: Consiste en seleccionar el grupo sin utilizar tamaño
suficiente y que se encuentre más cerca al asignado previamente.
En las siguientes figura 14 se visualiza “La asignación contigua de archivos”
Figura 14: Asignación contigua de archivos

Sistemas Operativos
XLIV

Tabla de Asignación de Archivos


Nombre de Archivo Bloque de Inicio Longitud
Archivo A 2 3
Archivo B 9 5
Archivo C 18 8
Archivo D 30 2
Archivo E 26 3

Figura 14: Asignación contigua de archivos - STALLINGS, W (2005). Sistemas


Operativos, 5ta Edición

Considerando la asignación contigua se indica que en el momento de crear un


archivo se le asigna un conjunto único y contiguo de bloques. Esta es una estrategia de
asignación previa que utiliza secciones de tamaños variables.
Seguidamente se visualiza, la tabla 6: “Los métodos de asignación de archivos
Característica Contigua Encadenada Indexada Indexada
¿Secciones de tamaño fijo o Bloques Bloques
Variable Variable
variable? Fijos Fijos
¿Asignación previa? Necesaria Posible Posible Posible
Tamaño de sección Grande Pequeño Pequeño Medio
Frecuencia de asignación Una Vez Medio-Bajo Alto Bajo
Tiempo para asignar Medio Grande Corto Medio
Tamaño de la tabla de Una
Una Entrada Grande Medio
asignación de archivos Entrada

Tabla 6: “Los métodos de asignación de archivos - STALLINGS, W (2005). Sistemas


Operativos, 5ta Edición

Bibliografía

 STALLINGS, W (2005). Sistemas Operativos, 5ta Edition: Nueva York.


Macmillan

 TANENBAUM, A. (2009) Sistemas Operativos Modernos. Mexico:Prentice Hall.

Sistemas Operativos

También podría gustarte