Archivo de la categoría ‘Sistemas Operativos’

Entrada y Salida de datos

Una operación de E/S se define como el conjunto de acciones necesarias para la transferencia de un conjunto de datos (es decir, una transferencia completa de datos).

El subsistema de ENTRADA/SALIDA (E/S) suministra al computador un mecanismo eficiente de comunicación entre el procesador central y el entorno exterior.

La conexión de dispositivos periféricos a un computador no puede llevarse a cabo de forma directa haciendo uso del bus del procesador, esta restricción es debida fundamentalmente a tres razones importantes:

– Existe una gran variedad de dispositivos con distintos modos de operación.

– El ritmo de transferencia de datos es, en casi todos los casos, mucho menor que hay entre la CPU y la memoria principal

.– En ocasiones, el periférico requiere que los datos le sean suministrados en formatos distintos al utilizado por la CPU.

La Interfaz de E/S de las aplicaciones es la que define el modelo de E/S que ven los usuarios, por lo que cuando se diseña el Sistema Operativo se debe tener en cuenta decisiones relativas a la funcionalidad que se va ha ofrecer al exterior: Nombres Independientes de los Dispositivos, E/S No Bloquean o Asíncronas, Control de Acceso a Dispositivos, Indicadores de Error y Uso de Estándares.

Para la realización de una operación de E/S el sistema operativo debe efectuar las siguientes funciones:

- Recuento de las unidades de información transferidas (normalmente bytes) para reconocer el fin de operación.

- Sincronización de velocidad entre la CPU y el periférico.

- Detección de errores (e incluso corrección) mediante la utilización de los códigos necesarios (bits de paridad, códigos de redundancia cíclica, etc.).

- Almacenamiento temporal de la información. Es más eficiente utilizar un buffer temporal específico para las operaciones de E/S que utilizan el área de datos del programa.

- Conversión de códigos, conversión serie/paralelo, etc.Las funciones que debe realizar un computador para ejecutar trabajos de entrada/salida son las siguientes:

- Direccionamiento o selección del dispositivo que debe llevar a cabo la operación de E/S.

- Transferencia de los datos entre el procesador y el dispositivo (en uno u otro sentido).

- Sincronización y coordinación de las operaciones.

Esta última función es necesaria debido a la diferencia de velocidades entre los dispositivos y la CPU y a la independencia que debe existir entre los periféricos y la CPU (por ejemplo, suelen tener relojes diferentes).

Se define una transferencia elemental de información como la transmisión de una sola unidad de información (normalmente un byte) entre el procesador y el periférico o viceversa. Para efectuar una transferencia elemental de información son precisas las siguientes funciones: 

- Establecimiento de una comunicación física entre el procesador y el periférico para la transmisión de la unidad de información. 

- Control de los periféricos, en que se incluyen operaciones como prueba y modificación del estado del periférico. Para realizar estas funciones la CPU gestionará las líneas de control necesarias.

Administración de un Sistema de Archivos

Generalmente un sistema de archivos tiene directorios que asocian nombres de archivos con archivos, usualmente conectando el nombre de archivo a un índice en una tabla de asignación de archivos de algún tipo, como FAT en sistemas de archivos MS-DOS o los inodos de los sistemas Unix. La estructura de directorios puede ser plana o jerárquica (ramificada o “en árbol”).

Una forma de administración de un sistema de archivos dentro de un sistema operativo puede ser la siguiente:

Se utiliza una raíz para indicar en qué parte del disco comienza el directorio raíz. 

El directorio raíz apunta a los directorios de usuarios.

Un directorio usuario contiene una entrada para cada uno de los archivos del usuario. 

 Cada entrada de archivo apunta al lugar del disco donde está almacenado el archivo referenciado.

Cabe destacar que los nombres de archivos solo necesitan ser únicos dentro de un directorio de usuario dado. El nombre del sistema para un archivo dado debe ser único para el sistema de archivos.

En algunos sistemas de archivos los nombres de archivos son estructurados, con sintaxis especiales para extensiones de archivos y números de versión. En otros, los nombres de archivos son simplemente cadenas de texto y los metadatos de cada archivo son alojados separadamente.

En sistemas de archivos jerárquicos, en lo usual, se declara la ubicación precisa de un archivo con una cadena de texto llamada “ruta”. La nomenclatura para rutas varía ligeramente de sistema en sistema, pero mantienen por lo general una misma estructura. Una ruta viene dada por una sucesión de nombres de directorios y subdirectorios, ordenados jerárquicamente de izquierda a derecha y separados por algún carácter especial que suele ser una barra (‘/’) o barra invertida (‘\’) y puede terminar en el nombre de un archivo presente en la última rama de directorios especificada.

Los sistemas de archivos tradicionales proveen métodos para crear, mover y eliminar tanto archivos como directorios, pero carecen de métodos para crear, por ejemplo, enlaces adicionales a un directorio o archivo o renombrar enlaces padres.

¿Que contienen los sistemas de archivos?

Un sistema de archivos suele contener:

Métodos de acceso, relacionados con la manera de acceder a los datos almacenados en archivos.

Administración de archivos, referida a la provisión de mecanismos para que los archivos sean almacenados, referenciados, compartidos y asegurados.

Administración del almacenamiento auxiliar, para la asignación de espacio a los archivos en los dispositivos de almacenamiento secundario.

Integridad del archivo, para garantizar la integridad de la información del archivo.

El sistema de archivos está relacionado especialmente con la administración del secundario, fundamentalmente con el espacio en disco.