21 de febrero de 2011

Comandos en C para manejo de archivos

FILE: 
      Declara la variable donde se almacena la ruta del archivo a utilizar, generalmente se coloca como global.Su sintaxis es la siguiente:
          FILE *nombre_variable;


fopen();
     Permite abrir un archivo, devolviendo un valor NULL sino se abrió correctamente y TRUE si ocurre lo contrario. Su sintaxis es la siguiente:
          nombre_FILE = fopen(<"nombre de archivo">,<"modo">);
     Modo:

  • r  = Sólo lectura.
  •  = Abre o sobrescribe.
  • a  = Añade al fichero.
  • r+ = Lectura y escritura.
  • w+ = Lectura, escritura y sobrescribe.
  • a+ = Añadir, lectura y escritura.
     NOTA: Después del modo se incluye el tipo (b = binario, t = texto).

fclose();
     Permite cerrar un archivo, al final de un programa es necesario cerrar un archivo para no perder información. Su sintaxis es la siguiente:
          fclose(<nombre_FILE>);

fputs();
     Escribe una cadena en un fichero. Su sintaxis es la siguiente:
          fputs(<variable_char>, *nombre, <variable_FILE>);

fwrite();
     Escribe en un fichero uno o varios registros de la misma longitud, almacenados a partir de una dirección; trabajo en conjunto con fread(). Su sintaxis es la siguiente:
     fwrite(<&registro>,sizeof(<estructura>),1,<variable_FILE>);

fprintf();
     Permite escribir o imprimir en un archivo. Su sintaxis es la siguiente:
          fprintf(<variable_FILE>,<"información">);

fread();
     Permite leer registros de un archivo y permite almacenar la información en una variable.Su sintaxis es igual a la de fwrite.
          fread(<&registro>,sizeof(<estructura>),1,<variable_FILE>);

feof();
     Comprueba el final de un archivo y retorna un valor boleano. Usualmente se combina con algún ciclo (for, if, while). Su sintaxis es la siguiente.
           feof(<variable_FILE>);

fscanf();
     Permite leer en un archivo utilizando una máscara para el tipo de dato que se lee. Su sintaxis es la siguiente:
       fscanf(<variable_FILE>,<máscara>,<variable_registro.campo>);

fseek();
     Permite posicionar el cursor dentro del archivo para después realizar una búsqueda. Su sintaxis es la siguiente:
          fseek(<variable_FILE>, <longitud>, <origen>);
     Origen: Es la posición a mandar el cursor: 
  • SEEK_SET: Principio.
  • SEEK_CUR: Posición actual.
  • SEEK_END: Final.
     Longitud: Permite indicar como ir posicionando el cursor, es decir, de uno en uno o algún otro valor.

20 de febrero de 2011

Tipos de Registros y Operaciones

Tipo de Transacción
  Inserción, eliminación y modificación

Campos adicionales
  
Todo, ninguno y campo a modificar.

Creacion de Archivos:   Es la asignacion de un espacio en el medio de almacenamiento mediante la colocación del nombre del archivo en el directorio.

Apertura:   Establecimiento de un canal de comunicación con un archivo determinado. En C se utiliza el comando fopen.

Cierre:  Cancelación de un canal de comunicación previamente establecido con un archivo.  En C se utiliza el comando fclose();

Asignación:  Se le asocia un nombre de achivo con la extensión correspondiente.

Actualización:  Es un proceso que modifica el contenido de la base de datos (altas, bajas, cambios).

Factor:
  1. Velocidad de cambios de los datos.
  2. Necesidad de tener los datos al día.
  3. Tamaño del archivo maestro.
En proporción:
  1. Directa (disponibilidad).
  2. Directa (riesgos).
  3. Inversa (costos).

Organización de la Información en un Disco Duro

     La información se almacena en el disco duro en sectores y pistas. Las pistas son círculos concéntricos divididos en sectores, cada sector contiene un número fijo de bytes, y se agrupan en clusters.
   
     Los sectores no son físicos sino lógicos y no son iguales en todos los discos, varía en función del tamaño del disco y Sistema Operativo instalado, que es quien divide los sectores.
   
     El principal sector del disco duro es el denominado sector de arranque, suele ser el primer sector del primer disco. Aquí el sistema Operativo guarda la información que debe cargarse al arrancar el equipo.
  
     La preparación del disco se puede hacer de dos formas, Formateo a bajo nivel, que establece las pistas y los sectores en el disco, la otra forma es el formateo a alto nivel, graba las estructuras de almacenamiento de ficheros y la FAT.

Algunos Conceptos

Proceso:  
Son programas en ejecucion, archivos ejecutables. Existen con procesadores con multiproceso y otros con sólo uno.

Controlador de Procesos:  Dice cuantos programas se van a ejecutar.

Hilos:  Es una subdivición de un programa. También podrían ser funciones.

Controlador de Archivos:  Maneja toso los archivos ya sea paginación, segmentaci´pon, virtual RAM O Disco Duro.

Memoria Virtual:  Simulador de memoria RAM utilizando dispositivos de almacenamiento Secundario.

Paginación:  Archivo dividido en páginas y se crea un índice que die donde esta guardado.

Segmentación:  Tamaño variable, divide los archivos.

Sector: Es una parte en forma de cuña del mismo, cada sector está numerado. el sector más pequeño empleado fue de 512 bytes.  No son físicos sino lógicos.

Clusters:  Agrupación de sectores continuos y su capacidad depende del tamaño del disco. Es la capacidad más pequeña para asignar archivos.

FAT(Tabla de Localización  de Ficheros):  Índice de los archivos, e indica donde se encuetran.

Buffer: Memoria de paso, permite guardar la información para ser procesada, almacena lo último que se ha leído o guarado en el disco duro.

FORMA DE ORGANIZACIÓN POR BLOQUES EN EL DISCO DURO:

    
Los bloques son de longitud fija o variable, son definidos por usuario o Sistema Operativo. Se designan como registros físicos.

     La ventaja de organización por bloque es que los archivos los deja todo unido y por concecuencia no existe fragmentación a diferencia de organizacióon por pistas o sectores.

Clasificación y Caracteristicas de la Estuctura de Archivos

Estructura de Archivos:
   Es el nivel más básico de organización.
   Es una organización impuesta a un archivo para facilitar su procesamiento. Es la combinación de representaciones de datos en archivos y al poseer una estructura de arvhivos asegura que los usuarios y programas pueden acceder y escribir a los archivos.

    Un buen diseño de estuctura de archivos brindará una gran capacidad de información, sin gastar tiempo de espera.


Características de los Archivos:
  • Independencia de las informaciones respecto de los programas.
  • La información almacenada es permantente.
  • Un archivo puede ser accedido por distintos programas en distintos momentos.
  • Gran capacidad de almacenamiento.
Clasificación Según su Acceso :
  • Secuenciales:   El usuario los utiliza uno tras otro.
  • Directo: El usuario va a donde quiere drectamente.
  • Por índice:  Dice el contendio y donde se encuentra específicamente el archivo.
  • Dinámico: De manera aleatoria accede a los archivos.

Dependiendo Tipo de Valores  Permitidos a Cada Byte:
  • Texto: Toma lo creado por medio de código Ascci y  lo convierte en hexadeciimal.
  • Binario: Todos los que no tengan formato o de texto. Ej. Música, Imágenes, etc.

Dependiendo Dirección de Flujo de Datos:
  •   De Entrada:  Los datos se leen por el programa desde los archivos.
  •   De Salida: Los datos se escriben desde el programa.
  •   De Entrada y Salida: Las dos cosas.

Según la Longitud de Registro:
  • Longitud Variable:  Cada byte es como un registro,. Son poco utilizados.
  • Longitud constante:  Los datos se almacenan en forma de registro de tamaño constante. En C se utilizan las estructruras para definir registros.

Clasificación por Función:
  • Maestros:  En el que principalmente sus datos se almacenan permanentemente. Contiene los datos principales de una base de datos.
  • De Transacciones:  Es el archivo que recolecta toso los datos para modificar.
  • De Reporte:  Resultados de consultas a partir de las transacciones.
  • De Programa:  Archivos que tienen instrucciones necesarias para que funcionen los programas.
  • De Texto:  Tipo de formato para almacenar registro de datos en forma de achivo. Continen datos alfanuméricos.

19 de febrero de 2011

Dispositivos de Almacenamiento Secundario


     Un dispositivo de almacenamiento es todo aparato que se utilice para grabar los datos de la computadora ya sea de forma permanente o temporal.
    
     El dispositivo de almacenamiento primario es aquel que su contenido es temporal. En cambio los dispositivos de almacenamiento secundario que son en los que nos enfocaremos son aquellos que su contenido es permanente.
  
EVOLUCIÓN:
1) Tarjeta Perforada


     Las tarjetas perforadas son el primer dispositivo de almacenamiento tienen forma de cartulinas gruesas con unas cuantas perforaciones, estas se conectaban a la computadora para leer su contenido y esta lo hacía de forma secuencial  y ya que se le había hecho las perforaciones, ya no se le podía modificar su contenido. Una sola perforación en una columna correspondía a un número, mientras que dos perforaciones en diferentes posiciones de una misma columna correspondían a una letra.
    
     Cada columna tenía diez posiciones numeradas del “0” al “9” y dos más sin numerar situadas hacia el borde superior de la tarjeta. Una perforación, por ejemplo, en la posición “1” de cualquier columna correspondía igualmente con el número “1”, mientras si se añadía otra perforación en la parte más alta sin numerar de la misma columna, correspondía entonces a la letra “A”, solamente  se podía poner ochenta letras, números o signos por cada línea impresa de lectura, correspondientes a las 80 columnas de la tarjeta perforada.
 
 
2) Cinta Magnética
 
     Una cinta magnética es un medio de almacenamiento de información que se graba mediante pista en una banda de plástico con un material magnetizado, la manera en que funciona es linealmente esto significaba ocupar completamente la anchura de la cinta y escribiendo o leyendo todas las pistas a la vez, solo graba una pista a la vez,después de realizar una pasada completa, la cabeza se desplaza ligeramente y hace otra pasada en la dirección contraria.

     Este procedimiento es repetido hasta que todas las pistas han sido leídas o escritas, existe un método llamado “helical” en el cual, solo necesita una pasada para leer o grabar en la cinta.

3) Discos Magnéticos

     Algunos discos son permanentes, en el sentido de que no se pueden desconectar de los circuitos que los rodean y que sirven para comunicarse con la computadora para leer y escribir la información en el disco, y son los que han terminado llamándose discos duros .

     Otros discos se pueden remover del dispositivo que lee y escribe información. Estos discos son una capa delgada y flexible y se les conoce como disquetes.

4) Discos Duros 
     Dentro de un disco duro hay varios platos (entre 2 y 4), que son discos (de aluminio o cristal) concéntricos y que giran todos a la vez. El cabezal (dispositivo de lectura y escritura) es un conjunto de brazos alineados verticalmente que se mueven hacia dentro o fuera según convenga, todos a la vez. En la punta de dichos brazos están las cabezas de lectura/escritura, que gracias al movimiento del cabezal pueden leer tanto zonas interiores como exteriores del disco.

     Cada plato tiene dos caras, y es necesaria una cabeza de lectura/escritura para cada cara (no es una cabeza por plato, sino una por cara). Si se mira el esquema Cilindro-Cabeza-Sector, a primera vista se ven 4 brazos, uno para cada plato. En realidad, cada uno de los brazos es doble, y contiene 2 cabezas: una para leer la cara superior del plato, y otra para leer la cara inferior. Por tanto, hay 8 cabezas para leer 4 platos.

5) Discos Ópticos
a) CD
       Capacidad:
               700 MB
       Color del Láser:
               Infrarrojo
       Tasa de Transferencia:
               7.8 Mbps
b) DVD
       Capacidad:
               4.7 - 8.5 GB
       Longitud de Onda del Rayo:
               650 nm
       Color del Láser:
               Rojo
       Tasa de Transferencia:
               11,01 / 10,01 Mbps
      
c) HD DVD
       Capacidad:
               15 - 30 GB
       Longitud de Onda del Rayo:
               405 nm
       Color del Láser:
               Violeta
       Tasa de Transferencia:
               36,55 Mbps
d) Blu-ray
       Capacidad:
               23,3 - 54 GB
       Longitud de Onda del Rayo:
               405 nm
       Color del Láser:
               Azul
       Tasa de Transferencia:
               36,0 / 54,0 Mbps
  
6) Memoria Flash

     Es una tecnología de almacenamiento —derivada de la memoria EEPROM— que permite la lecto-escritura de múltiples posiciones de memoria en la misma operación. Gracias a ello, la tecnología flash, siempre mediante impulsos eléctricos, permite velocidades de funcionamiento muy superiores frente a la tecnología EEPROM primigenia, que sólo permitía actuar sobre una única celda de memoria en cada operación de programación.

     Se trata de la tecnología empleada en los dispositivos pendrive. Teóricamente pueden retener los datos durante unos 20 años y escribirse hasta un millón de veces.

Conceptos principales de "Estructura de Archivos"

     El mapa conceptual que presentamos a continuación muestra la relación de los principales conceptos utilizados en Estructura de Archivos. (De clic sobre la imagen para ampliarla)

18 de febrero de 2011

Bienvenido al BLOG

     Bienvenidos al blog de la materia Estructuras de Archivos de la carrera Ingeniería en Computación
somos el Equipo  101, que consta de los integrantes:
  • José Javier Ponce Anaya.
  • José Cristian Ramírez Navarro
  • Fernando Cornejo Gutiérrez.
  • Carlos Alfredo Gómez González

En este blog postearemos toda la temática de la materia conforme se vaya abordando en clase.