2. 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. 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. 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. Archivos.
Sistema de Administración
La manera en la que el usuario puede acceder a los
archivos
El programador no necesita desarrollar el software de
gestión de archivos
6. 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. 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 multiusuario
8. Arquitectura del Sistema de Archivos
User Program
Indexed
Pile Sequential Indexed Hashed
Sequential
Logical I/O
Basic I/O Supervisor
Basic File System
Disk Device Driver Tape Device Driver
9. Arquitectura del Sistema de Archivos
User Program
Indexed
Pile Nivel de abstracción más bajo
Sequential
Sequential
Indexed Hashed
Se comunica directamente con los dispositivos periféricos
Logical I/O
Responsable de comenzar las operaciones de I/O en un dispositivo
Responsable de procesar la terminación de una petición de I/O
Basic I/O Supervisor
Son considerados generalmente como parte del SO
Basic File System
Disk Device Driver Tape Device Driver
10. Arquitectura del Sistema de Archivos
User Program
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
Indexed
Pile almacenamiento secundario
Sequential
Sequential
Indexed Hashed
Tiene que ver con el al almacenamiento intermedio en memoria
principal de los bloques referenciados con anterioridad
Logical I/O
A menudo se considera parte del OS
Basic I/O Supervisor
Basic File System
Disk Device Driver Tape Device Driver
11. Arquitectura del Sistema de Archivos
User Program
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
Indexed
Pile Sequential Indexed Hashed
Sequential
Concierne a la planificación del acceso para optimizar el performance
Es parte del sistema operativo
Logical I/O
Basic I/O Supervisor
Basic File System
Disk Device Driver Tape Device Driver
12. Arquitectura del Sistema de Archivos
User Program
Indexed
Permite a usuarios y aplicaciones acceder a los registros
Pile Sequential Indexed Hashed
Sequential
Mantiene datos básicos sobre los archivos
Logical I/O
Basic I/O Supervisor
Basic File System
Disk Device Driver Tape Device Driver
13. Arquitectura del Sistema de Archivos
Método de Acceso
User Program
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
Indexed
Pile Sequential Indexed Hashed
Sequential
Logical I/O
Basic I/O Supervisor
Basic File System
Disk Device Driver Tape Device Driver
14. 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
Manejar el bloqueo para el acceso a los archivos
Asignar archivos para liberar bloques
Gestionar almacenamiento libre para los bloques
disponibles
15. 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. 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. 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. 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. 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
21. 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. 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
24. 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. Comparación de sec. y sec. Indexado
Ejemplo
Un archivo contiene 1 millón de registros
En promedio se exigen 500.000 accesos para
encontrar un registro en un archivo secuencial
Si un índice contiene 1.000 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 500.000 a 1000
26. 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
28. 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 facilidad de la búsqueda
Un índice parcial el cual contendrá entradas a los
registros donde esté el campo de interés
30. 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. Archivos directos o de dispersión
Hash
Function
Key f
Primary
File
Overflow
File
32. Directorios de archivos.
Contiene información sobre los archivos
Atributos
Estado
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. 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. Directorios de archivos.
Elementos de información
Información de direccionamiento
1. Volumen: Dispositivo donde se almacena el
archivo
2. Dirección de comienzo: Dirección física de inicio
en memoria secundaria (cilindro, pista y número
del bloque en disco)
3. Tamaño usado: Tamaño actual del archivo en
bytes, palabras o bloques
4. Tamaño asignado:Tamaño máximo del archivo
35. 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. Directorios de archivos.
Elementos de información
Información de Uso
1. Fecha de creación: Cuando se añadió al directorio el
archivo
2. Identidad del creador: Normalmente pero no siempre el
propietario
3. Fecha última lectura: Fecha de la última vez que se leyó
un registro
4. Identidad del último lector: Usuario que hizo la última
lectura
5. Fecha última modificación: Fecha de la última
actualización
37. Directorios de archivos.
Elementos de información
Información de Uso
6. Identidad del último modificador: Usuario que hizo la
modificación
7. Fecha de la última copia de seguridad: Fecha de la última
vez que el archivo fue copiado en otro medio de
almacenamiento
8. 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. 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. Estructura simple para un Directorio
Un directorio sencillo para todos los usuarios
Problemas de Nombres
Problemas de Agrupación
40. 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. Esquema dos-niveles para un
Directorio
Directorio separado para cada usuario
Nombre del Camino
Diferentes usuarios pueden tener el mismo nombre de archivo
Busquedas eficientes
Sin facilidades de Agrupamiento
42. 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
44. 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
47. Montaje de Sistemas de Archivos
Un sistema de Archivo debe ser montado antes de
que pueda ser accedido
Un sistema de archivo no montado (unmounted) es
montado (mounted) en un punto de montaje (mount
point)
50. 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. 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. 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. 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. 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. 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. Listas de Acceso y Grupos
Modos de Acceso: lectura (read), escritura (write), ejecución (execute)
Tres clases de usuarios
RWX
a) acceso de propietario (owner) 7
111
RWX
b) acceso de grupo (group) 6 110
RWX
c) acceso publico (public) 1 001
Por ejemplo, cree un grupo con un nombre único, digamos G y agregue
algunos usuarios al grupo.
Para un archivo particular, digamos game o un subdirectorio, defina el acceso
apropiado.
owner group public
chmod 761 game
Agregue un grupo al archivo
chgrp G game