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.