550 likes | 807 Views
Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear: Computer Science – An overview. Estructuras de Archivos y Bases de datos. Sistema de Gestión de archivos. Se considera parte del sistema operativo. La entrada a la aplicación se realiza por medio de archivos.
E N D
Tanenbaum: Sistemas Operativos Modernos, 2002 J. Glenn Brookshear: Computer Science – An overview Estructuras de Archivos y Bases de datos
Sistema de Gestión de archivos • Se considera parte del sistema operativo. • La entrada a la aplicación se realiza por medio de archivos. • La salida se guarda en archivos para su almacenamiento a largo plazo.
Términos relacionados con los archivos - 1 • Campo: • Elemento de datos básico. • Contiene un valor único. • Se caracteriza por su longitud y por el tipo de datos. • Registro: • Conjunto de campos relacionados. • Pueden tratarse como una unidad: • Ejemplo: un registro “empleado”.
Términos relacionados con los archivos - 2 • Archivo: • Conjunto de registros similares. • Tratado como una entidad única. • Tienen nombres únicos. • Se suelen aplicar restricciones al control de accesos. • Base de datos: • Conjunto de datos relacionados. • Existen relaciones entre los elementos.
Operaciones típicas • Sobre archivos • Copiar o duplicar • Borrar • Escanear (antivirus) • Nombrar • Renombrar • Modificar características • Sobre registros • Recuperar _Uno • Recuperar _Siguiente • Recuperar _Previo • Insertar_Uno • Borrar_Uno • Recuperar_Todo • Actualizar_Uno • Recuperar _Varios
Sistemas de gestión de archivos • Es el mecanismo por medio del cual un usuario o aplicación puede acceder a los archivos. • El programador no necesita desarrollar software de gestión de archivos.
Objetivos para un sistema de gestión de archivos • Cumplir con las necesidades de gestión de datos y con los requerimientos del usuario. • Optimizar el rendimiento. • Minimizar la posibilidad de pérdida o destrucción de datos. • Ofrecer un conjunto estándar de rutinas de interfaz de E/S. • Proporcionar soporte de E/S para múltiples usuarios. • Ofrecer soporte de E/S para la variedad de tipos de dispositivos de almacenamiento.
Requisitos mínimos de un usuario • crear, borrar y cambiar los archivos. • tener acceso a los archivos de otros usuarios. • controlar qué tipos de accesos estarán permitidos a sus archivos. • reestructurar sus archivos de manera adecuada al problema. • mover datos entre los archivos. • guardar una copia de reserva y recuperar sus archivos en el caso de que hayan sufrido algún daño. • acceder a sus archivos mediante un nombre simbólico.
Programa de usuario Secuencial indexado Pila Secuencial Indexado Dispersión E/S lógica Supervisor básico de E/S Sistema de archivos básico Controlador del dispositivo Disco Controlador del dispositivo Cinta Figura 12.1. Arquitectura del software del sistema de archivos [GROS86].
Funciones del sistema de gestión de archivos • Identifica y ubica el archivo en cuestión. • Utiliza un directorio que describe la ubicación de todos los archivos y sus atributos. • Los sistemas compartidos aplican algún control de acceso a los usuarios. • La E/S se lleva a cabo por bloques. • Asigna los archivos a los bloques disponibles. • Gestiona el espacio libre, de manera que se conozca qué bloques están disponibles.
Criterios en la elección de una organización de archivos • Acceso rápido • Facilidad de actualización • Economía de almacenamiento • Facilidad de actualización • Mantenimiento sencillo • Fiabilidad
Organización de archivos • Pilas: • Los datos se recogen en el orden en que llegan. • La finalidad es acumular una masa de datos y guardarla. • Los registros pueden tener campos diferentes. • No hay una estructura. • El acceso a los registros se hace por búsqueda exhaustiva.
Pilas Registros de longitud variable Conjunto variable de campos Orden cronológico (a) Archivo de pila Figura 12.3. Organizaciones comunes de archivo.
Organización de archivos • Archivos secuenciales: • Se emplea un formato fijo para los registros. • Los registros son de la misma longitud. • Todos los campos son iguales (longitud y posición). • El nombre del campo y su longitud son atributos de la estructura del archivo. • Un campo particular es conocido como el campo clave: • Identifica unívocamente al registro. • Los registros se almacenan en secuencia por la clave.
Organización de archivos • Archivos secuenciales: • Se realiza una actualización por lotes que mezcla el archivo de registro con el archivo maestro. • Los nuevos registros se ubican en un archivo de registro o archivo de transacciones.
Archivo secuencial Registros de longitud fija Conjunto fijo de campos en orden constante Orden secuencial por el campo clave (b) Archivo secuencial Figura 12.3. Organizaciones comunes de archivo.
Organización de archivos • Archivos secuenciales indexados • El índice proporciona una capacidad de búsqueda para llegar rápidamente a las proximidades de un registro deseado: • Contiene un campo clave y un puntero al archivo principal. • Se busca el índice hasta encontrar el valor mayor de la clave que es igual o precede al valor deseado de la clave. • La búsqueda continúa en el archivo principal a partir de la posición indicada por el puntero.
Organización de archivos • Comparación de archivos secuenciales y archivos secuenciales indexados: • Ejemplo: un archivo contiene 1 millón de registros. • Por término medio, se necesitan 500.000 accesos para hallar un registro en un archivo secuencial. • Si un índice contiene 1.000 entradas, se necesitan 500 accesos para hallar la clave, seguidos de 500 accesos al archivo principal. Entonces, ahora se necesitan 1.000 accesos por término medio.
Organización de archivos • Archivos secuenciales indexados: • Se añaden nuevos registros al archivo de desbordamiento. • El registro del archivo principal que precede se actualiza con un puntero al registro nuevo. • El archivo secuencial indexado se combina con el archivo de desbordamiento en un tratamiento por lotes. • Para ofrecer una eficacia mayor, se pueden usar múltiples niveles de indexación.
Archivo secuencial indexado Archivo principal Niveles de indexación Índice Archivo de overflow o desbordamiento (c) Archivo secuencial indexado Figura 12.3. Organizaciones comunes de archivo.
Organización de archivos • Archivos indexados: • Utilizan múltiples índices para cada campo clave. • Puede contener un índice exhaustivo que contenga una entrada para cada registro del archivo principal. • Puede contener un índice parcial.
Organización de archivos • Archivos directos o de dispersión: • Acceden directamente a cualquier bloque de dirección conocida. • Se requiere un campo clave en cada registro.
Directorio de archivos • Contiene información sobre los archivos: • Atributos. • Ubicación. • Propietario. • El directorio es propiamente un archivo, poseído por el sistema operativo. • Ofrece una traducción entre los nombres de archivo y los archivos propiamente dichos.
Directorio jerárquico o estructurado en árbol • Existe un directorio raíz que incluye otros directorios y archivos. • Cada uno de estos directorios puede tener a su vez subdirectorios y archivos como entradas. • Cualquier archivo puede ser localizado siguiendo un camino desde el directorio raíz o maestro, descendiento por varias ramas: • Este es el nombre de camino del archivo. • Se pueden tener varios archivos con el mismo nombre de archivo mientras tengan nombres de camino únicos. • El “directorio actual” es el directorio de trabajo. • Las referencias a los archivos son relativas al directorio de trabajo.
Directorio maestro (raíz) Subdirectorio Subdirectorio Subdirectorio Subdirectorio Subdirectorio Archivo Archivo Archivo Archivo Figura 12.4. Directorio estructurado en árbol.
Directorio maestro Sistema Usuario A Usuario B Usuario C Directorio “Usuario A” Directorio “Usuario C” Directorio “Usuario B” Dibujos Textos Directorio “Textos” Directorio “Dibujos” Tema 1 ABC Directorio “Tema 1” ABC Archivo “ABC” Archivo “ABC” Nombre de camino: /UsuarioB/Textos/Tema 1/ABC Figura 12.5. Ejemplo de directorio estructurado en Árbol.
Compartimiento de archivos • En un sistema multiusuario, existe la necesidad de permitir a los usuarios compartir archivos. • Dos cuestiones: • Los derechos de acceso. • La gestión de los accesos simultáneos.
Derechos de acceso • Ejecución: • El usuario puede cargar y ejecutar un programa. • Lectura: • El usuario puede leer el archivo para cualquier propósito, incluyendo copia y ejecución. • Adición: • El usuario puede añadir datos al archivo. • Actualización: • El usuario puede modificar, borrar y añadir datos al archivo. • Cambio de protección: • El usuario puede cambiar los derechos de acceso otorgados a otros usuarios. • Borrado: • El usuario puede borrar el archivo del sistema de archivos.
Derechos de acceso • Propietario: • Dispone de todos los derechos de acceso enumerados antes. • Puede otorgar derechos a los otros usando las siguientes clases de usuarios: • Usuario específico. • Grupos de usuarios. • Todos (archivos públicos).
Acceso simultáneo • El usuario puede bloquear el archivo entero cuando lo vaya a actualizar. • Un mejor control es bloquear los registros individuales durante la actualización. • Al diseñar la posibilidad de accesos compartidos, deben abordarse aspectos de exclusión mutua e interbloqueo.
Sistema de gestión del almacenamiento secundario • Debe asignarse espacio a los archivos. • Es necesario guardar constancia del espacio disponible para asignar.
Métodos de asignación de archivos • Asignación contigua: • Cuando se crea un archivo se le asigna un único conjunto contiguo de bloques. • La tabla de asignación necesita sólo una entrada por cada archivo: • Bloque de comienzo y longitud del archivo. • Se producirá fragmentación externa.
Tabla de asignación de archivos Archivo A Longitud Nombre de archivo Bloque de inicio Archivo A Archivo B Archivo C Archivo D Archivo B Archivo E Archivo C Archivo E Archivo D Figura 12.7. Asignación contigua de archivos.
Tabla de asignación de archivos Longitud Nombre de archivo Bloque de inicio Archivo A Archivo A Archivo B Archivo B Archivo C Archivo D Archivo C Archivo E Archivo D Archivo E Figura 12.8. Asignación contigua de archivos (tras compactación).
Métodos de asignación de archivos • Asignación indexada: • La tabla de asignación de archivos contiene un índice separado de un nivel para cada archivo. • El índice posee una entrada para cada sección asignada al archivo. • La tabla de asignación contiene números de bloque para el índice.
Tabla de asignación de archivos Nombre de archivo Bloque índice Archivo B Archivo B Figura 12.11. Asignación indexada por bloques.
El rol del sistema operativo cuando se accesa un archivo Memoria principal Almacenamiento masivo El sistema operativo recupera datos desde el almacenamiento masivo en unidades de registros físicos (bloques, sectores) Los programas de aplicación accesan datos en el buffer en unidades de registros lógicos o campos
Mantención del orden en un archivo por medio de una tabla de ubicaciones Lista de sectores conteniendo el archivo Sectores del disco que contienen el archivo
Estructura de un archivo simple de empleados implementado como un archivo de texto. El archivo consiste de una secuencia de registros de 31 caracteres cada uno. Archivo Cada registro consiste de un campo de 25 caracteres conteniendo el nombre del empleado seguido de un campo de 6 caracteres conteniendo el número de identificación Registro lógico Nombre del empleado Número de identificación del empleado
Bases de Datos J. Glenn Brookshear: Computer Science - An overview C. J. Date - Introducción a los sistemas de base de datos
Una organización de archivos vs base de datos - 1 A: sistema de información basado en archivos Registros de clientes Registros de sueldos Registros de empleados Registros del inventario Registros de ventas Depto. Servicios al cliente Depto. Sueldos Depto. Personal Depto Adquisiciones Depto Marketing
Una organización de archivos vs base de datos - 2 B: sistema de información basado en bases de datos Depto. Servicios al cliente Depto Marketing Base de datos integrada Depto. Sueldos Depto Adquisiciones Depto. Personal
Sección posterior y secciones frontales. La sección posterior es el DBMS en sí. Permite llevar a cabo todas las funciones básicas de un DBMS: definición de datos, manipulación de los mismos, seguridad, integridad, etc. En particular, permite establecer todos los aspectos de los niveles externo, conceptual e interno. Así, "sección posterior" en este contexto es tan solo otro nombre para el DBMS.
Relación que contiene la información de empleados Cada fila se llama tupla Las columnas se llaman atributos
Base de datos que consiste en tres relaciones Encontrar los departamentos en los cuales el empleado 23Y34 ha trabajado