Gestión de Almacenamiento
2/58 Semestre Archivos. Consideraciones Utilizados para la entrada a un programa La salida de una aplicación es salvada en un archivo para su almacenamiento a largo plazo y, para accesos posteriores por parte del usuario y de otros programas Un sistema de administración de archivos necesita como mínimo algunos servicios especiales del SO Como máximo el sistema de administración de archivos por completo se considerará parte SO
3/58 Semestre Archivos. Términos Usados Campo (Field) Elemento básico de datos Contiene un solo valor Caracterizado por su longitud y tipo de dato Registro (Record) Colección de campos relacionados Tratado como una unidad Ejemplo: registro de empleado
4/58 Semestre Archivos. Términos Usados Archivo (File) Colección de registros similares Tratado como una sola entidad Tienen nombres únicos Pueden restringir el acceso de ciertos usuarios Base de Datos (Database) Colección de datos relacionados Existen relaciones entre los elementos Generalmente se dispone de un sistema de gestión de base de datos separado, aunque dichos sistemas puedan hacer uso de algunos programas de gestión de archivos
5/58 Semestre Archivos. Sistema de Administración La manera en la que el usuario de una aplicación puede acceder a los archivos El programador no necesita desarrollar el software de gestión de archivos
6/58 Semestre Archivos. Sistema de Administración Objetivos Cumplir las necesidades de gestión de datos y con los requisitos del usuario Garantizar, en lo posible, que los datos en los archivos son válidos Optimizar el rendimiento (productividad global, tiempo de respuesta) Ofrecer soporte de I/O para la variedad de tipos de dispositivos de almacenamiento
7/58 Semestre Archivos. Sistema de Administración Objetivos Minimizar o eliminar la posibilidad de pérdida o destrucción de datos Ofrecer un conjunto estándar de rutinas de I/O Proporcionar soporte de I/O para múltiples usuarios, en el caso de sistema multiusuarios
8/58 Semestre Pile Sequential Indexed Sequential Indexed Hashed Logical I/O Basic I/O Supervisor Basic File System Disk Device Driver Tape Device Driver User Program Arquitectura del Sistema de Archivos
9/58 Semestre Manejadores de dispositivo (Device Drivers) Nivel de abstracción más bajo Se comunica directamente con los dispositivos periféricos Responsable de comenzar las operaciones de I/O en un dispositivo Responsable de procesar la terminación de una petición de I/O Son considerados generalmente como parte del SO
10/58 Semestre Sistema de Archivos Básico I/O físico Trata con bloques de datos que son intercambiados con sistemas de disco o cinta Se preocupa de ubicar dichos bloques en el dispositivo de almacenamiento secundario Tiene que ver con el al almacenamiento intermedio en memoria principal de los bloques referenciados con anterioridad A menudo se considera parte del OS
11/58 Semestre Supervisor básico de I/O Responsable de la iniciación y terminación de todo el I/O con archivos Mantiene estructuras de control para encargarse del I/O con los dispositivos, la planificación y el estado de los archivos Concierne a la planificación del acceso para optimizar el performance Es parte del sistema operativo
12/58 Semestre I/O lógico Permite a usuarios y aplicaciones acceder a los registros Mantiene datos básicos sobre los archivos
13/58 Semestre Método de Acceso Proporciona una interfaz estándar entre las aplicaciones y los sistemas de archivo y dispositivos que guarden datos Refleja las distintas estructuras de archivo Refleja las diferentes formas de almacenar y procesar los datos
14/58 Semestre Funciones de la Gestión de Archivos Identificar y localizar un archivo seleccionado Usar un directorio para describir la localización de todos los archivos más sus atributos En un sistema compartido, describir el control de acceso de usuario Bloquear para accesar a los archivos Asignar archivos para liberar bloques Gestionar almacenamiento libre para los bloques disponibles
15/58 Semestre Criterios para la Organización de Archivos Acceso rápido para la recuperación eficaz de información Necesitado cuando se accede a un registro No necesitado para el modo batch Facilidad de actualización para ayudar a mantener la información al día Un archivo en CD-ROM nunca será actualizado y la facilidad de actualización no se considera
16/58 Semestre Criterios para la Organización de Archivos Economía de almacenamiento para reducir costos Redundancia mínima en los datos Redundancia puede ser usada para acelerar el acceso tal como un índice Mantenimiento simple para reducir costos y la posibilidad de errores Fiabilidad para asegurar la confianza en los datos
17/58 Semestre Organización de archivos La mayor parte de las estructuras empleadas en los sistemas reales, se encuentran en una de 5 categorías o puede implantarse como una combinación de estas organizaciones Las cinco organizaciones son: Pila Archivos secuenciales Archivos secuenciales indexados Archivos indexados Archivos directos o de dispersión (hash)
18/58 Semestre Organización de archivos. Pila Los datos son recolectados en el orden en el cual ellos llegan El propósito es acumular una masa de datos y guardarla Los registros pueden tener campos diferentes o campos similares en un orden distinto Ninguna estructura Acceso al registro es por búsqueda exhaustiva (es necesario examinar cada registro hasta encontrar el registro deseado o, se haya recorrido el archivo completo)
19/58 Semestre Organización de archivos. Pila No se adapta a la mayoría de las aplicaciones Registros de longitud variable Conjunto variable de campos Orden cronológico
20/58 Semestre Organización de archivos. Pila
21/58 Semestre Organización de archivos. Archivos secuenciales Forma más común de estructura de archivo Formato fijo usado para los registros Los registros son de la misma longitud Todos los campos tienen el mismo orden y la misma longitud Nombre de campos y las longitudes son atributos del archivo La organización secuencial de archivos es la única que se puede guardar tanto en cinta como en disco
22/58 Semestre Organización de archivos. Archivos secuenciales Un campo es el campo clave Unívocamente identifica el registro Los registros son almacenados en secuencia de la clave Nuevos registros son almacenados en un archivo de log o archivo de transacción Actualización batch es realizada para mezclar (merge) el archivo de log con el archivo maestro Para aplicaciones interactivas, archivos secuenciales ofrecen un rendimiento pobre
23/58 Semestre Campo clave (Key Field) Organización de archivos. Archivos secuenciales
24/58 Semestre 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 apuntador al archivo principal Para encontrar un campo específico, se busca en el índice hasta encontrar el valor mayor de la clave que es igual o menor que el valor de clave deseada La búsqueda continúa en el archivo principal, a partir de la posición indicada por el apuntador
25/58 Semestre Comparación de sec. y sec. Indexado Ejemplo: un archivo contiene 1 millón de registros En promedio se exigen accesos para encontrar un registro en un archivo secuencial Si un índice contiene entradas, este tomará un promedio de 500 accesos para encontrar la clave, seguido por 500 accesos en el archivo principal. Ahora el tamaño medio de la búsqueda se reduce de a 1000
26/58 Semestre Archivos Secuenciales Indexados Los nuevos registros son añadidos a un archivo de overflow El registro en el archivo principal que precede a éste (el nuevo añadido), es actualizado para contener un apuntador al nuevo registro El archivo de overflow se combina con el archivo principal durante una actualización batch Para aumentar la eficacia en el acceso, se pueden usar múltiples niveles de indexación
27/58 Semestre Index Levels 1 2 n Main File Overflow File Archivos Secuenciales Indexados
28/58 Semestre Organización de archivos. Archivos Indexados Usa múltiples índices, uno por cada tipo de campo que pueda ser objeto de la búsqueda Se suelen utilizar dos tipos de índice Un índice exhaustivo que contiene una entrada para cada registro en el archivo principal. El índice se organiza en sí mismo como un archivo secuencial para para facilidad de la búsqueda Un índice parcial el cual contendrá entradas a los registros donde esté el campo de interés
29/58 Semestre Exhaustive Index Exhaustive Index Partial Index Organización de archivos. Archivos Indexados
30/58 Semestre Archivos directos o de dispersión Capacidad para acceder directamente a cualquier bloque de dirección conocida Campo clave requerido para cada registro No existe el concepto de ordenación secuencial El archivo hace uso de las técnicas de dispersión sobre el valor de la clave
31/58 Semestre f Key Hash Function Primary File Overflow File Archivos directos o de dispersión
32/58 Semestre Directorios de archivos. Contiene información sobre los archivos Atributos Situación Propietario El directorio es propiamente un archivo, poseído por el sistema operativo y accesible a través de diversas rutinas de gestión de archivos Provee mapping entre nombres de archivo y los archivos propiamente
33/58 Semestre Directorios de archivos. Elementos de información Información Básica Nombre del archivo Nombre elegido por el creador Debe ser único Tipo de archivo (texto, binario, etc.) Organización del archivo (para sistemas que soportan varias organizaciones)
34/58 Semestre Directorios de archivos. Elementos de información Información de direccionamiento Volumen: Dispositivo donde se almacena el archivo Dirección de comienzo: Dirección física de inicio en memoria secundaria (cilindro, pista y número del 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
35/58 Semestre Directorios de archivos. Elementos de información 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
36/58 Semestre Directorios de archivos. Elementos de información Información de Uso Fecha de creación: Cuando se añadió al directorio el archivo Identidad del creador: Normalmente pero no siempre el propietario Fecha última lectura: Fecha de la última vez que se leyó un registro Identidad del último lector: Usuario que hizo la última lectura Fecha última modificación: Fecha de la última actualización
37/58 Semestre Directorios de archivos. Elementos de información Información de Uso Identidad del último modificador: Usuario que hizo la modificación Fecha de la última copia de seguridad: Fecha de la última vez que el archivo fue copiado en otro medio de almacenamiento Utilización actual: Información sobre la actividad actual sobre el archivo (procesos que tienen abierto el archivo, si está bloqueado por un proceso, si se actualizó en memoria pero no en disco)
38/58 Semestre Estructura simple para un Directorio Lista de entradas, una para cada archivo Archivo secuencial con el nombre del archivo que sirve como clave No proporciona ayuda en la organización de los archivos Obliga al usuario a tener cuidado de no usar el mismo nombre para dos archivos diferentes (archivo de texto, hoja de cálculo etc.)
39/58 Semestre Estructura simple para un Directorio A single directory for all users Naming problem Grouping problem
40/58 Semestre Esquema dos-niveles para un Directorio Un directorio para cada usuario y un directorio maestro El directorio maestro contiene una entrada para cada directorio de usuario Cada directorio de usuario es una lista simple de archivos para ese usuario Aún no proporciona ayuda a los usuarios para estructurar sus colecciones de archivos (los nombres deben ser únicos sólo dentro de la colección de archivos de cada usuario)
41/58 Semestre Esquema dos-niveles para un Directorio Separate directory for each user Path name Can have the same file name for different user Efficient searching No grouping capability
42/58 Semestre Directorio jerárquico o estructurado en árbol Directorio maestro con directorios de usuario debajo de éste Cada directorio de usuario puede tener subdirectorios y archivos como entradas Los archivos pueden ser localizados siguiendo un camino desde la raíz (maestro), descendiendo por varias ramas hasta que se alcance el archivo Este es el nombre del camino (pathname) para el archivo
43/58 Semestre Directorio jerárquico o estructurado en árbol
44/58 Semestre Directorio jerárquico o estructurado en árbol Puede tener varios archivos con el mismo nombre de archivo, con tal de que ellos tengan únicos nombres del camino El directorio actual es el directorio de trabajo (working directory) Los archivos son referenciados relativos al directorio de trabajo
45/58 Semestre Acyclic-Graph Directories Have shared subdirectories and files
46/58 Semestre General Graph Directory
47/58 Semestre File System Mounting A file system must be mounted before it can be accessed A unmounted file system is mounted at a mount point
48/58 Semestre (a) Existing. (b) Unmounted Partition
49/58 Semestre Mount Point
50/58 Semestre Compartición de archivos Manera de controlar el acceso a un archivo particular Se conceden a usuarios o grupos de usuarios, ciertos derechos de acceso a un archivo Dos cuestiones surgen Derechos de acceso Gestión de los accesos simultáneos
51/58 Semestre Derechos de acceso Ninguno El usuario no puede conocer la existencia del archivo, ni mucho menos acceder al mismo Al usuario no se le permite leer el directorio del usuario que incluye el archivo Conocimiento El usuario sólo puede determinar que el archivo existe y quién es su dueño. El usuario es capaz de solicitar derechos adicionales al propietario
52/58 Semestre Derechos de acceso Ejecución El usuario puede cargar y ejecutar un programa pero no puede copiarlo Lectura El usuario puede leer el archivo para cualquier propósito incluyendo copia y ejecución. Algunos sistemas son capaces de hacer valer la distinción entre visualizar y copiar Adición El usuario puede agregar datos al archivo (generalmente al final), pero no puede modificar o borrar el contenido del mismo
53/58 Semestre Derechos de acceso Actualización El usuario puede modificar, borrar y agregar datos al archivo. Esto incluye creación del archivo, reescritura y eliminación de todos o parte de los datos Cambio de protección El usuario puede cambiar el derecho de acceso concedidos a otros usuarios. Borrado El usuario puede borrar el archivo
54/58 Semestre Derechos de acceso Propietarios Tiene todos los derechos previamente listados Puede conceder derechos a otros usando las clases siguientes de usuarios Usuario específico (usuarios individuales designados por su ID de usuario) Grupos de usuarios (conjunto de usuarios no definidos individualmente) Todos (todos los usuarios que tengan acceso al sistema. Estos serán archivos públicos)
55/58 Semestre Acceso simultáneo El usuario puede bloquear (lock) el archivo entero cuando lo vaya a actualizar El usuario puede bloquear (lock) los registros individuales durante la actualización La exclusión mutua e interbloqueo son problemas de acceso compartido
56/58 Semestre Access Lists and Groups Mode of access: read, write, execute Three classes of users RWX a) owner access 7 RWX b) group access 6 RWX c) public access1 Ask manager to create a group (unique name), say G, and add some users to the group. For a particular file (say game) or subdirectory, define an appropriate access. ownergrouppublic chmod761game Attach a group to a file chgrp G game
57/58 Semestre Windows XP Access-control List Management
58/58 Semestre A Sample UNIX Directory Listing