Ficheros Contenido del Tema

Documentos relacionados
Necesidad de las memorias secundarias.

Fundamentos de Programación. Archivos (Ficheros)

Unidad 3: Gestión de Archivos

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011

MEMORIAS. Arquitectura de Computadoras. (Conceptos Introductorios) M. C. Felipe Santiago Espinosa

Unidad 4. Arreglos y Cadenas

Tema 0. Introducción a los computadores

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 2. Estructura de un Fichero. Operaciones. Básicas.

INDICE 1. Introducción: Archivos y Estructuras de Archivos 2. Operaciones Fundamentales para el Procesamiento de Archivos

TEMA 7: Ficheros. TEMA 7: Ficheros Concepto de fichero

TEMA 2. ORGANIZACIONES DE FICHEROS Y ESTRUCTURAS DE ACCESO

El nivel Interno. Índice Tema 3

Subsistemas de memoria. Departamento de Arquitectura de Computadores

Tema 13: Manejo de archivos en lenguaje C

Memoria. M. en C. Erika Vilches. Parte 1

Unidad V: Sistemas de archivos 5.1 Concepto

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 3. Estructuras de Almacenamiento. Básicas. Definición y Manejo.

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen

Tarea 5 Gestión de Archivos

Introducción. Tema 10a. Introducción. Memoria RAM. Memoria RAM HDD

Esta unidad describe cómo se almacena la información en los dispositivos magnéticos.

Gestión de archivos. Gestión de archivos

Organización física de las bases de datos T

Métodos de ordenamiento y búsqueda en vectores

UNIDAD I. Universidad del Zulia Costa Oriental del Lago. Conceptos Básicos

Estructura de Datos: Archivos

Tabla de Símbolos. Programación II Margarita Álvarez

Definición de Memoria

Tabla de Símbolos. Programación II Margarita Álvarez

1. Partes del ordenador. Nuevas Tecnologías y Sociedad de la Información

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

FICHEROS EN PASCAL. Ficheros

Sistemas Operativos. Curso 2016 Sistema de Archivos

Tema 2.3. Hardware. Unidades de Almacenamiento

EL ORDENADOR HARDWARE SOFTWARE

Modelo Físico. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile andrea

Tema 5: Memorias. Espacio reservado para notas del alumno

Arquitectura del MIPS: Introducción

Sistemas Electrónicos Industriales II EC2112

GESTIÓN DE ARCHIVOS. Presentado por: Alba Arosemena Alma Vargas Hospicia Mendoza Roselvira Fernández Ahías Arosemena

Proceso de información en la computadora

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Estructuras Dinámicas de datos.

GESTION DE ENTRADA Y SALIDA

INFORME MEMORIA CACHE Y MEMORIA VIRTUAL.

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

Unidad 2: Taller de Cómputo. Estructura y Componentes de la Computadora UNIDAD DOS: INTRODUCCIÓN

Partes de una computadora. Conceptos Generales. Elementos de Computación (CU) Computación (TIG) El Hardware de una computadora

Tema 6. Gestión de ficheros en C. Programación en Lenguajes Estructurados

1. Archivos. Fundamentos de Programación II. Luís Rodríguez Baena

Nombre de la asignatura : Administración de Archivos. Carrera : Ingeniería en Sistemas Computacionales. Clave de la asignatura : SCB-9323

Unidad 3: Gestión de Archivos

Estructuras de Datos y Algoritmos Tema 3: Arrays y listas enlazadas

MOMENTO I. BLOQUE 1. Opera las funciones básicas del sistema operativo y garantiza la seguridad de la información

Tema III: Componentes de un Sistema Operativo

Sistemas Operativos. Gestión de E/S Discos. Dr. Wenceslao Palma

MEMORIAS: CONCEPTOS GENERALES.

Sistemas Operativos Tema 10. Sistema de archivos José Miguel Santos Alexis Quesada Francisco Santana Belén Esteban

Sistemas Operativos Tema 4. Sistema de archivos

Bibliografía básica de referencia: Fundamentos de Informática para Ingeniería Industrial, Fernando Díaz del Río et al.

Dra. Jessica Andrea Carballido

Sistemas operativos. Tema 10: Sistemas de ficheros

Archivos en lenguaje C

Comandos para manipulación de archivos y directorios Parte II

Práctica 7. Organización del Computador 1 2do. Cuatrimestre de 2005

Unidad de Memoria. Almacenamiento de información Operaciones básicas. Propiedades de la Memoria. Escritura o almacenamiento. Lectura.

06 Introducción al procesamiento de imágenes BMP con ANSI C

La memoria del ordenador

Tema 1: Introducción a los Sistemas Operativos

Módulo 1. Introducción a la Base de Datos

Informática Básica. 2º Diplomatura en Ciencias Empresariales Universidad Pública de Navarra. Informática Básica, DCE-UPNA 1

Memoria y Entrada/Salida Tecnología Organización - Expansión

Gestor de bases de datos MicroSoft Access (2 de 4)

TEMA 9. Agenda. Ficheros

Área Académica: Informática. Tema: Informática I. Profesor(a): Ing. Miriam Cerón Brito. Periodo: Julio Diciembre 2017

Capítulo 3. Clasificación en Memoria Secundaria

Administración de Archivos

LENGUAJE. Tema 8 Ficheros

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I

}Transparencias de clase en

Tema 6. Ordenación, búsqueda e intercalación interna

ALGORITMOS Y PROGRAMACIÓN I Unidad 3

TEMA 1: Concepto de ordenador

Transcripción:

Ficheros Contenido del Tema T E M A 3 3.1. Introducción. 3.2. Conceptos básicos. 3.3. Operaciones sobre ficheros. 3.4. Tipos de ficheros. 3.5. Organización de ficheros. 3.6. Primitivas de acceso. 3.7. Ordenación externa.

Introducción Necesidad de las memorias secundarias. La Memoria Principal es rápida pero cara, de poca capacidad y generalmente volátil. La Memoria Secundaria es lenta pero barata, de alta capacidad y no volátil. Para el procesamiento es necesario transferir la información a memoria principal. Memoria Principal Memoria Secundaria Datos que CPU Programa Libre Datos del programa procesar Fragmento transferido a memoria principal

Introducción - + Pirámide de memorias en un ordenador. Capacidad Registros. Memoria caché. De primer nivel. De segundo nivel. Memoria principal. Memoria RAM. Memoria ROM. Memoria flash. Discos. Magnéticos fijos. Magnéticos removibles. Magneto ópticos. Cintas. Memorias ópticas. CD-ROM. DVD-ROM. Velocidad Coste por bit + -

Conceptos básicos Definición de fichero Conjunto de información relacionada, tratada como una unidad de almacenamiento en memoria organizada de forma estructurada para facilitar la búsqueda de datos individuales. Un fichero está compuesto por registros homogéneos que contienen información organizada en campos. campo la mínima unidad de procesamiento con significado propio. Fichero Registro JUAN MARTINEZ ANCHA, 42 MALAGA 432567 JOSE PEREZ Campos

Conceptos básicos En un lenguaje de alto nivel, el fichero no es manejado directamente por el propio programa, sino por el Sistema Operativo. Esto facilita que los programas transportables. PROGRAMA BUFFER Llama NIVEL DEL PROGRAMADOR Estructura Lógica Controla SISTEMA OPERATIVO DISCO Direcciona NIVEL FISICO Estructura Física

Conceptos básicos Estructura física. Se refiere a la forma en que se almacenan físicamente los datos de los ficheros en los dispositivos de almacenamiento. Bloque o registro físico. Unidad de transferencia entre el dispositivo y la memoria central. Buffer. Area de la memoria principal donde se almacena el bloque transferido o bien donde se construye un bloque antes de escribirlo. Forma de acceso. Forma en la que puede leerse o escribirse la información en un dispositivo de memoria De acceso secuencial (Dispositivos no direccionables). De acceso directo (Dispositivos direccionables).

Conceptos básicos Dispositivos de acceso secuencial (cintas) Grabación. Se agrupan registros en bloques separados por marcas (IBG). Los ficheros se almacenan en bloques contiguos y se separan también por marcas (EOF). Recuperación. Se leen bloques completos de forma secuencial. Ventajas. Baratos, robustos y compactos. Desventajas. Sólo admiten acceso secuencial. Bloques EOF IBG Fichero

Conceptos básicos Dispositivos de acceso directo (discos) Grabación. Los registros se agrupan en bloques sectores, que a su vez se agrupan en pistas y cilindros. El acceso se efectúa de forma directa. Recuperación. Acceso a un bloque arbitrario. Ventajas. Acceso directo y rápido. Desventajas. Alto coste. pista

Conceptos básicos Dirección. Es la forma de referenciar un bloque o registro de información dentro de un dispositivo. Dirección física. Localización del registro en el dispositivo expresada en número de bytes. Dirección relativa. Posición del registro respecto del principio del fichero expresada en número de bytes. Dirección simbólica. Los registros se identifican por el valor de un campo clave del registro. Comparación entre los tipos de direcciones Tipo Velocidad Independencia Dirección física Muy rápido Ninguna Dirección relativa Menos rápido Alguna Dirección simbólica Lento Total

Conceptos básicos Estructura lógica. Es la forma de manipular los desde los programas. Cursor del fichero. Se trata de una variable interna que contiene la dirección al registro actual del fichero. Registro actual. Es el registro que se va a recuperar del fichero (leer) o almacenar sobre él (escribir). Clave o identificativo. Campo que identifica a un registro o grupo de registros en el fichero. Llave. Cuando la clave se usa como campo de localización (dirección simbólica). Directorio. Indice de los ficheros de un dispositivo.

Operaciones sobre ficheros La vida de todo fichero comienza cuando se crea y acaba cuando se borra. Durante su vida se pueden realizar las siguientes operaciones básicas: Operaciones sobre el fichero completo (realizadas mediante ordenes del sistema operativo): Creación. Borrado o destrucción. Copia. Clasificación u ordenación. Fusión o mezcla. Regeneración. n 1 2 Fusión

Operaciones sobre ficheros Operaciones sobre los registros individuales del fichero (realizadas mediante primitivas por los ): Operación de apertura del fichero. Recuperación y consulta de registros. (lectura) Actualización de registros. (escritura) Modificación de registros. Eliminación de registros. Inserción de nuevos registros. Operación de cierre del fichero.

Tipos de Ficheros Los ficheros se pueden clasificar atendiendo a distintos : Por el tipo de sus registros. Por la forma de almacenar los datos. Por su contenido. Por su duración o tiempo de vida. Por su uso. Por su organización.

Tipos de Ficheros Por el tipo de sus registros: Ficheros con formato. Tienen registros de longitud fija. Ficheros sin formato. Tienen registros de longitud Por la forma de almacenamiento: Ficheros binarios. Almacenan la información en el mismo formato que en memoria central. Ficheros de texto. Almacenan la información en forma de cadenas de caracteres. Por su contenido: De programa. De datos.

Organización de ficheros Hay varios motivos para estructurar la información en los ficheros: Acceso rápido a los registros. Economía de almacenamiento. Facilitar la actualización de los registros. La estructura permite reflejar la organización real de la información. Se debe, pues, optar por una u otra organización, atendiendo a la forma en que se va a usar el

Organización de ficheros Secuenciales. Lineales. Encadenados. Directos. Por posición. Por clave. Indexados. ISAM (Indexed Sequential Access Mode). C-ISAM (Chained ISAM).

Organización de ficheros Organización secuencial lineal Los registros se almacenan físicamente de forma contigua (uno a continuación de otro) siguiendo la secuencia lógica del fichero. Orden físico = Orden lógico Todas las operaciones que se realizan sobre el fichero se hacen según esta secuencia. Es la única que admite un soporte físico de acceso secuencial no direccionable.

Organización de ficheros Operaciones : Añadir. Sólo es posible escribir al final del fichero. Consulta. Se realiza en orden secuencial. Actualización. (Inserción, eliminación, modificación) FICHERO SECUENCIAL A ACTUALIZAR PROGRAMA DE ACTUALIZACION NUEVO FICHERO SECUENCIAL FICHERO DE MOVIMIENTOS FICHEROS DE ENTRADA FICHERO DE SALIDA

Organización de ficheros Si el fichero está almacenado en un dispositivo físico direccionable, es posible realizar actualizaciones directas, y también: Consulta. Si el fichero contiene registros de longitud fija, es posible determinar la posición de comienzo de cada uno a partir de su posición relativa en el fichero. Modificación. Una vez localizado un registro, se puede reescribir este en el propio fichero, siempre que al modificar el registro no aumente su longitud. Borrado. No es posible eliminar un registro del fichero. borrado lógico.

Organización de ficheros Una caso especial: Fichero de texto Utilizado para almacenar textos. Registros de tamaño variables denominados líneas. Cada línea almacena una cadena de Delimitador de registros: EOL (End Of Line) Los lenguajes de programación ofrecen primitivas para reconocer e insertar el delimitador.

Organización de ficheros Organización directa o aleatoria Existe una transformación conocida que genera la dirección de cada registro dentro del fichero a partir de una clave. El problema fundamental es la elección de dicha transformación o método de direccionamiento. Pueden aparecer dos situaciones no deseadas: Direcciones que no corresponden a ninguna llave.

Organización de ficheros Tres métodos usuales de direccionamiento: Direccionamiento directo. La dirección relativa es la propia llave (debe ser numérica y de rango igual al tamaño del fichero). Direccionamiento asociado (por clave). Cada llave tiene asociada una dirección en una tabla. Al añadir nuevos registros las llaves se colocan al final de la tabla La tabla está desordenada, lo cual puede hacer. Para hacerlo más rápido se puede tener la tabla ordenada o almacenada en memoria principal Direccionamiento calculado (Hashing). Se utilizan técnicas de Hashing. Llave ABC ZHA ALP MAX etc Dir. 1028 4532 3456 7231 etc

Organización de ficheros Dos formas de resolver los sinónimos: 1. Búsqueda de una posición libre. Secuencialmente. Aplicando otro método de direccionamiento. Ambos métodos son lentos 2. Mediante zona de desbordamientos. Esta se puede gestionar: Secuencialmente. Encadenada con la zona principal.

Organización de ficheros Operaciones: Creación. Se debe reservar espacio en disco. Consulta. Se realiza por llave. Si procede hay que tratar sinónimos Borrado. Borrado lógico. Se puede reutilizar el espacio del registro Modificación e Inserción Siempre se pueden hacer, realizando la transformación de llave correspondiente.

Primitivas de acceso Definición de tipos de ficheros y registros. En pseudolenguaje sólo vamos a definir primitivas binarios secuenciales sin formato. Cuando el formato de almacenamiento de los registros del fichero coincide con el utilizado en memoria principal se dice que el fichero es binario. No todos los lenguajes permiten definir estructuras de registros para manipular los ficheros (Ficheros sin formato). El formato de las componentes del fichero se establecerá en las correspondientes primitivas de acceso. Sintaxis: TipoFichero = FICHERO

Primitivas de acceso Descriptor de fichero. El descriptor es una variable de un tipo especial (Tipo FICHERO) definida en el programa, y desde la que se puede acceder a un fichero. Contiene un área de memoria para almacenar el registro actual (buffer) y el cursor del fichero. Tipos Complejo = REGISTRO real, imag : REAL FINREGISTRO FicheroComplejos = FICHERO Variables Descriptores Mifichero : FicheroComplejos de ficheros FicheroEnteros : FICHERO

Primitivas de acceso Apertura: Asocia un fichero físico existente con un descriptor y sitúa el cursor al principio del mismo. ABRIR ( c: TCadena): FICHERO Apertura para añadir: Asocia un fichero existente con un descriptor y sitúa el cursor al final del mismo. AÑADIR ( c: TCadena): FICHERO Creación: Crea y abre un fichero. Si el fichero existe se destruye su contenido CREAR ( c: TCadena): FICHERO Cierre: Libera los recursos asociados al descriptor. CERRAR ( f: FICHERO)

Primitivas de acceso (Acceso secuencial) Primitivas de acceso secuencial Lectura. Recoge del fichero tantos bytes como sea el tamaño Transfiere esos bytes a la variable que se le pasa como parámetro interpretándolos como un valor del Mueve el cursor al siguiente registro (si existe). Si se ha alcanzado el final del fichero la función EOF devolverá CIERTO. LEERBIN ( f: FICHERO; v: T) Donde T es cualquier tipo y se lee directamente del fichero en la

Primitivas de acceso (Acceso secuencial) Escritura. Transfiere al fichero la información de la variable que se pasa como parámetro, en el formato de la misma. Escribe en el fichero tantos bytes como sea el tamaño Mueve el cursor al siguiente hueco libre a escribir. ESCRIBIRBIN ( f: FICHERO; v: T) Donde T es cualquier tipo y se escribe la representación interna de v. Fin de fichero (EOF: End Of File). Función que indica si la última operación realizada sobre un fichero ha alcanzado el final del mismo. EOF ( f: FICHERO): LÓGICO

Primitivas de acceso (Acceso secuencial) Ejemplo de acceso secuencial. Copiar un fichero de números enteros. Algoritmo Copiar Variables fich1, fich2 : FICHERO dato : ENTERO Inicio fich1 ABRIR ("FICHERO1.DAT") fich2 CREAR ("FICHERO2.DAT") MIENTRAS ( EOF (fich1)) HACER LEERBIN (fich1, dato) ESCRIBIRBIN (fich2, dato) FINMIENTRAS CERRAR (fich1) CERRAR (fich2) Fin

Primitivas de acceso (Acceso directo) Primitivas de acceso directo. Buscar. Sitúa el cursor del fichero en el registro que se indique mediante su dirección relativa (número del byte donde comienza el registro a localizar). La próxima operación de lectura o escritura se realizará sobre la posición de dicho registro actual. Si la posición a localizar no existe, la función EOF devolverá CIERTO. BUSCAR ( f: FICHERO; pos: NATURAL) Lectura, Escritura y Fin de Fichero. Igual que para el acceso secuencial.

Primitivas de acceso (Acceso directo) Posición. Devuelve la posición en bytes (dirección relativa) donde está el cursor del fichero. POSICION ( f: FICHERO): NATURAL Eliminar. Borra del registro actual el número de bytes indicado. Mueve el cursor del fichero al registro siguiente al borrado, si no existe, EOF devolverá CIERTO. ELIMINAR ( f:fichero; bytes:natural) Longitud. Devuelve el número de bytes del fichero (NATURAL). LONGITUD ( f: FICHERO): NATURAL

Primitivas de acceso (Acceso directo) Ejemplo de acceso directo. Búsqueda binaria en un fichero directo ordenado Algoritmo Busqueda Variables fich1 : FICHERO buscado, dato : ENTERO izqda, dcha, medio : NATURAL Encontrado : LÓGICO Inicio Escribir ("Introducir el valor a buscar: ") ABRIR ("FICHERO1.DAT") izqda 0 dcha LONGITUD (fich1) / Tamaño (ENTERO) Encontrado FALSO

Primitivas de acceso (Acceso directo) Fin MIENTRAS ( Encontrado) (izqda dcha) HACER medio (izqda + dcha) / 2 BUSCAR (fich1, medio * Tamaño (ENTERO)) LEERBIN (fich1, dato) SI (dato = buscado) ENTONCES Encontrado CIERTO EN OTRO CASO SI (dato > buscado) ENTONCES dcha medio - 1 EN OTRO CASO izqda medio + 1 FINSI FINSI FINMIENTRAS CERRAR (fich1) SI Encontrado ENTONCES Escribir ("Se encuentra en la posición", medio) EN OTRO CASO Escribir ("El valor no se encuentra") FINSI

Primitivas de acceso Manipulación de ficheros. Renombrar. Cambia el nombre de un fichero. RENOMBRAR ( nombre_antiguo: Tcadena; nombre_nuevo: TCadena) Borrar. Elimina físicamente el fichero que se indica. BORRAR ( nombre_fichero: TCadena) Existe. Determina si existe un fichero. EXISTE ( nomb_fich: TCadena): LÓGICO Operaciones sobre directorios: Crear, Borrar. CREARDIR ( nombre_dir: TCadena) BORRARDIR ( nombre_dir: TCadena)

Ficheros de texto. Primitivas de acceso (Ficheros de Texto) Definición. Fichero secuencial compuesto por una secuencia de caracteres subdivida en registros de longitud variable llamados líneas. Cada línea almacena una cadena de caracteres que representa un dato concreto. Los registros o líneas se separan mediante un EOL (End Of Line). Sintaxis: TipoFicheroTexto = FICHERO

Primitivas de acceso (Ficheros de Texto) Operaciones. En un fichero de texto, los datos siempre se almacenan como secuencias de caracteres. Abrir un fichero de texto para leer o escribir. ABRIR ( c: TCadena): FICHERO Abrir un fichero de texto para añadir al final. AÑADIR ( c: TCadena): FICHERO Cerrar un fichero de texto. CERRAR ( f: FICHERO) Detectar fin de fichero. EOF ( f: FICHERO): LÓGICO

Primitivas de acceso (Ficheros de Texto) Leer un dato. LEER ( F: FICHERO; v: T) Donde T es un tipo simple predefinido o un array de caracteres. Detectar delimitador de fin de línea. EOL ( f: FICHERO): LÓGICO Escribir un dato. ESCRIBIR ( F: FICHERO; v: T) Donde T es un tipo simple predefinido o un array de caracteres. Los datos se almacenan como secuencias de caracteres. Almacenar delimitador de fin de línea. ESCRIBIR ( f: FICHERO, EOL)

Primitivas de acceso (Ficheros de Texto) Ejemplo. Procedimiento para leer cadenas. PROC LeeCadena ( fich: FICHERO; cad: TCadena) Variables i : NATURAL car : CARÁCTER Inicio i 1 LEER (fich, car) MIENTRAS ( EOL (fich)) ( EOF (fich)) HACER SI (i MAXCAD) ENTONCES cad [i] car i i + 1 FINSI LEER (fich, car) FINMIENTRAS /* Pone el carácter de fin de cadena */ SI (i MAXCAD) ENTONCES cad [i] FINCAD FINSI Fin

Ordenación externa Tarea fundamental en procesamiento de datos. No se puede acceder a todos los datos, es necesario realizar la clasificación por partes. Se generan secuencias ordenadas de registros al mezclar repetidamente secuencias más pequeñas. Cada mezcla produce una secuencia ordenada más larga que su entrada. El proceso se realiza siempre sobre secuencias (ficheros secuenciales).

Ordenación externa Algoritmo MezclaDosFicheros Variables ent1,ent2: FICHERO dato1, dato2 : TReg Inicio ent1 ABRIR ("FENT1.DAT") ent2 ABRIR ("FENT2.DAT") sal CREAR ("FSAL.DAT") LEERBIN (ent1, dato1) LEERBIN (ent2, dato2) MIENTRAS EOF (ent1) EOF (ent2) HACER SI dato1 < dato2 ENTONCES ESCRIBIRBIN (sal, dato1) LEERBIN (ent1, dato1) EN OTRO CASO ESCRIBIRBIN (sal, dato2) LEERBIN (ent2, dato2) FINSI FINMIENTRAS Proceso de mezcla de ficheros: Es una tarea básica a realizar en todos los algoritmos de ordenación externa. Fin MIENTRAS EOF (ent1) HACER ESCRIBIRBIN (sal, dato1) LEERBIN (ent1, dato1) FINMIENTRAS MIENTRAS EOF (ent2) HACER ESCRIBIRBIN (sal, dato2) LEERBIN (ent2, dato2) FINMIENTRAS

Bibliografía Estructuras de datos. Lewis & Smith. Paraninfo. Algoritmos y estructura de datos.. Curso de programación. Castro, Introducción moderna a la ciencia de la &..