Diferencia entre revisiones de «Introducción a Sistemas Operativos y al Kernel 2.6 de Linux/Capítulo 12 - Manejo de Archivos»

Contenido eliminado Contenido añadido
Sin resumen de edición
 
Línea 41:
La unión de varios campos que se relacionan entre si se lo conoce como un '''registro'''. Un registro puede ser tratado como una unidad por alguna aplicación. Por ejemplo el registro de un empleado puede contener ciertos campos que contienen información como el nombre del empleado, apellido, dirección domiciliaria, posicion, etc. Un registro al igual que un campo puede ser de tamaño fijo o variable
 
La unión de varios registros de una clase similar conforman un '''archivo'''. Un archivo es considerado por programasusuarios y programas como una entidad. Un archivo puede ser asociado con un nombre de archivo y a este nivel se pueden aplicar varias propiedades como permisos de acceso, modificacion, etc. En algunos sistemas, los permisos de acceso están al nivel de los campos y registros.
 
Una base de datos es una collección de datos que se relacionan entre si. Esta puede contener toda la información relacionada con una entidad o un poryecto. La relación que que existe entre los elementos que componen la base de datos es explícita. La base de datos en si consiste de uno o mas tipos de archivos.
 
Existen varias operaciones para que los usuarios y las aplicaciones puedan hacer uso de los archivos. Entre estas operaciones tenemos:
 
* '''Obtener todo :''' Obtener todos los registros de un archivo. Esta operación puede ser utilizada para procesar toda la información de un archivo a la vez. Como por ejemplo cuando se desea hacer un resumen del contenido del archivo. esta operacion es usualmente asociada con el termino '''proceso secuencial''' ya que todos los registros son accedidos en forma secuencial.
* '''Obtener uno :''' Esta operación, como su nombre lo indica, obtiene un registro a la vez. Esta operación es utilizada por aplicaciones que están orientadas al manejo de registros.
* '''Obtener siguiente :''' Esta operación obtiene el registro siguiente que se encuentra en una secuencia lógica.
* '''Obtener anterior: ''' Esta operación obtiene el registro anterior que se encuentra en una secuencia lógica.
* '''Insertar uno: ''' Inserta un registro en un archivo, se puede especificar la posición que se desea.
* '''Borrar uno: ''' Borra un registro en un archivo.
* '''Actualizar uno: ''' Actualiza de alguna manera un registro en un archivo
* '''Obtener algunos: ''' Obtiene algunos registros que cumplan con ciertos requisitos. Por ejemplo en un archivo con los nombres de todos los alumnos de un curso deseamos obtener los solo los alumnos cuyo apellido empiece con la letra "A".
 
La organización de un archivo dependerá de las operaciones que se utilicen.
 
===Los archivos en Linux===
Para nuestro estudio del kernel de Linux, debemos tener presente que un archivo en Linux o Unix carece de una estructura definida. Un archivo no posee campos ni registros, más bien es una simple secuencia de bytes.
 
===Sistemas de Manejo de Archivos===
 
Para hacer el acceso y manipulación de archivos algo abstracto y consistente, se ha creado lo que se conoce como el Sistema de Manejo de Archivos (SMA). De esta forma el usuario no debe preocuparse de la estructura interna que un Sistema de Archivos posea simplemente tiene que hacer uso de ciertas funciones u operaciones que el SMA proporcione y el SMA se encargará de proporcionar la funcionalidad con el Sistema de Archivos.
 
Los objetivos de un Sistema de Manejo de Archivos son los siguientes:
* Cubrir con los requisitos que un usuario tenga para el manejo de datos.
* Garantizar la validez de los datos
* Optimizar el rendimiento
* Dar soporte a una amplia variedad de dispositivos
* Minimizar al máximo la perdida de datos
* Proporcionar una interfáz estándar para rutinas de I/O
* Proporcionar soporte para varios usuarios
 
Los requisitos que un usuario tiene para el manejo de datos varía de acuerdo con el sistema operativo, pero existe algunos requerimientos básicos como son:
 
* Crear, leer, borrar y cambiar archivos
* Controlar el acceso a la información
* Estructurar el archivo como más sea apropiado
* Tener la capacidad de mover información entre archivos
* Proporcionar un tipo de almacenamiento de seguridad y recuperación de archivos
* Tener una referencia a travez de un nombre simbólico
 
=== Sistemas de Manejo de Archivos en Linux ===
El sistema de manejo de archivos en Linux por otra parte es moderno y nos permite acceder a la información de una forma abstracta con una interfaz virtual. Es por ello que toma el nombre de Sistema de Archivos Virtual (VFS). En Linux como se sabrá existen varios tipos de sistemas de archvios como Ext2, Ext3, reiserfs, xfs, etc. los cuales tienen la capacidad de ser accedidos por el sistema operativo siempre haciendo uso de las mismas funciones a pesar de que tengan diferentes funciones internamente. Este sistema de abstracción hace que Linux pueda acceder a muchos tipos de sistemas de archivos de una forma simple sin que el usuario o los procesos se den cuenta del tipo de Sistema de Archivos que se está usando.
 
Más adelante continuaremos con nuestro estudio del sistema de Archivos Virtual de Linux.