lunes, 9 de noviembre de 2009

OPEN

La primera instrucción del BASIC que encontramos para controlar los ficheros es OPEN .-

Las reglas que rigen su empleo varían mucho según la versión del BASIC, pero todas ellas tienen en común que deben establecer las características del fichero y en qué periférico (cásete o disco) debe efectuarse la grabación o lectura de los datos. Los parámetros de las instrucciones OPEN son:

• tipo de fichero (secuencial o directo);

• tipo de operación (lectura o escritura de los datos);

• un código numérico denominado caá.,; o fichero 1 educa que se asociará a dicho fichero para las sucesivas instrucciones de lectura o escritura de los datos (PRINT#, INPUT#, etc.). Si se utilizan varios ficheros simultáneamente este código sirve también para distinguirlos;

• nombre del fichero,

• periférico con el que se debe realizar la cenexión.

Es bastante habitual que en los ordenadores que admiten ficheros secuenciales y directos el formato de las instrucciones OPEN no coincida.

Veamos algunos ejemplos, con la indicación de a qué ordenador se refieren.

domingo, 8 de noviembre de 2009

GESTION DE FICHEROS EN BASIC

Apertura y cierre de ficheros

hora que tenemos más claras las ideas sobre la estructura de los ficheros y los soportes sobre los cuales crearlos (cintas o discos) volvemos al lenguaje BASIC. Vamos a describir la forma en que hemos de proceder para controlar un fichero.

Supongamos que hay muchos datos que almacenar: por ejemplo, una lista de direcciones. Entonces,

Una analogía válida de la apertura de un fichero es la de telefonear: cuando marcamos un número y la persona llamada descuelga el teléfono, se establece una conexión y queda "abierta" la comunicación.

Solamente después de que un fichero se ha abierto es posible realizar en el mismo las operaciones de lectura o escritura de los datos. En ese preciso momento se hace accesible ("transparente") para el usuario y, en un cierto sentido, puede compararse con una gran expansión de la memoria central con la apertura inicial.

Digamos inmediatamente algo muy importante: un fichero, una vez abierto, lleno de datos y cerrado se conservará aún cuando termine el programa que lo ha escrito. Los ficheros tienen "vida propia" gracias al hecho de que están depositados en memorias magnéticas y, por consiguiente, no pierden la información al apagar el ordenador. Una cinta de cásete (o un disco flexible) conservan datos y programas durante muchos años, lo mismo que sucede en el caso de las grabaciones musicales. Es muy raro que un soporte magnético pierda la información si se tomaron algunas precauciones mínimas, como no mojarlo, calentarlo o ensuciarlo.

Un fichero, además de ser un gran medio de almacenamiento de nuestros datos, puede hacer también de ; de conexión

entre dos programas. Por ejemplo, si dos programas son demasiado amplios para residir ambos en la memoria central (como un programa único) pueden cargarse, uno a uno, en el ordenador e intercambiar sus datos a través de un fichero temporal.

Cuando se trabaja con discos flexibles se pueden utilizar (abrir) simultáneamente varios ficheros y desarrollar varias operaciones de lectura y de escritura de datos. Es evidente que cada fichero abierto deberá tener un nombre diferente (un número de teléfono diferente en la analogía de la llamada telefónica). El número máximo de ficheros simultáneamente abiertos no es el mismo para todos los ordenadores.


sábado, 7 de noviembre de 2009

Estructura y acceso

Hasta ahora hemos utilizado los términos secuencial y directo para referirnos tanto a la estructura del fichero como al método de acceso a los datos. En realidad, se trata de dos conceptos bien distintos y habría sido más exacto hablar de:

(secuencial o directa). Forma en que están organizados, es decir, escritos, los datos;

(secuencial o directo). Forma de acceder a los datos del fichero, tanto en la fase de escritura como en la de lectura.

Es fácil intuir, y también recordar cuando se escriben los programas.

Por consiguiente, la elección de una estructura o de otra depende no solamente del tipo de datos que se tengan, sino también de la clase de empleo que les vayamos a dar y del tipo de ordenador que utilizamos. Por ejemplo, los más pequeños ordenadores caseros no suelen permitir controlar ficheros directos y, a veces, ni siquiera secuenciales.

En este punto, volvemos a hablar de ordenador personal. Estos ordenadores suelen trabajar sólo con magnetófonos a cásete (como las musicales) y, por consiguiente, no permiten controles sofisticados (¡es un decir!) de los ficheros. Para hablar de ficheros, como se habrá percatado ya, es preciso, en la práctica, referirnos a los ordenadores que utilizan discos flexibles.

Antes de proseguir para ver finalmente las instrucciones BASIC relativas a los ficheros, hagamos una puntualización técnica con respecto al empleo de los magnetófonos a cásete ordinarios (musicales, para entendernos). Para controlar los ficheros secuen-ciales, no todos estos magnetófonos proporcinan resultados satisfactorios. De hecho, un fichero secuencial es una sucesión de registros independientes entre sí, que deben escribirse y leerse de manera secuencial, pero no necesariamente todos con continuidad temporal: entre la escritura, o lectura, de un registro y el sucesivo puede existir una larga pausa; basta considerar el tiempo necesario para preparar un nuevo registro antes de escribirlo.

Por este motivo.

Los ficheros secuenciales en cásete se pueden utilizar, pues, solamente con los ordenadores que tengan el control remoto de la grabadora. Con mayor razón, los ficheros directos nunca se pueden escribir en ningún tipo de cinta magnética, ni siquiera en las empleadas por los grandes ordenadores, porque estos ficheros requieren que se pueda tener acceso directo a cada uno de sus registros.

viernes, 6 de noviembre de 2009

Ficheros directos

El segundo tipo de fichero es el de los o Estos ficheros tienen gran ventaja.

 Por este motivo, en inglés se les denomina "random" (aleatorios), precisamente por su posibilidad de alcanzar inmediatamente un punto cualquiera del fichero elegido al azar, sin ninguna limitación. Es como cuando nos acercamos a nuestra cómoda; podemos abrir con la misma facilidad cualquiera de sus cajones (si ninguno está atascado, claro).

Con respecto a los ficheros secuenciales, los directos son más prácticos y eficaces, pero tienen también una estructura más compleja y rígida; en los ficheros directos la información debe estar forzosamente organizada en bloques de longitud fija (los denominados Dicho de otro modo, los ficheros directos están constituidos por una serie de registros, cada uno de los cuales puede contener una cantidad bien definida de información, que se establece de una vez por todas cuando se crea el fichero.

Por ejemplo, supongamos que los registros de un fichero directo tengan que contener solamente nombres y apellidos. Podemos tener personas con el nombre muy corto ("Juan Paz") y otros con el nombre muy largo ("José Antonio Campuzano"). El primero está constituido por ocho caracteres (incluyendo el espacio), mientras que el segundo tiene veintidós. Si queremos que el fichero contenga estos nombres, todos los registros deberán tener una longitud fija (mínima) de veintidós caracteres (o veintitrés para algunos ordenadores que añaden un carácter separador entre los registros). Esto quiere decir que para el primer nombre desperdiciamos 14 bytes, lo cual es un despilfarro considerable. No hay ninguna otra alternativa: en los ficheros directos: o cortamos los nombres más largos o desperdiciamos espacio con los más cortos.

jueves, 5 de noviembre de 2009

Ficheros secuenciales

Casi todas las versiones del BASIC permiten emplear dos tipos de ficheros: y (o aleatorios). como si el dispositivo de memoria de masa fuera siempre una cinta magnética. La información contenida en el fichero puede, a su vez, subdividirse pero, en cualquier caso, se grabarán o volverán a leerse siempre en orden a partir del comienzo del fichero. Funcionan como si se tratara de una casa de vecinos: una vez entramos en el portal (fichero), si queremos llegar al tercer piso (registro) debemos pasar antes por el primero y el segundo.

Con frecuencia, un fichero secuencial se crea "imprimiendo" los datos en el propio fichero con la instrucción PRINT# equivalente a la instrucción PRINT normal, que visualiza, en cambio, los datos en la pantalla. Un fichero secuencial se asemeja, a todos los efectos, a una larguísima cadena de caracteres.

Para leerlo se debe partir siempre desde el comienzo utilizando, de forma secuencial, instrucciones INPUT# completamente similares a las instrucciones INPUT. En la práctica, los datos se leen desde el fichero como si se leyeran a partir del teclado.

Un dato puede ser también un registro completo, constituido por varios campos. En tal caso, es preciso para cada registro escribir (o leer) uno tras otro, en su orden, todos los campos que lo componen, y se puede recorrer el fichero desde el comienzo al final. Un caso particular de fichero secuencial, al que ya hicimos alusión, es el de los programas. Cuando se da la orden SAVE, el programa se almacena lo mismo que un fichero secuencial, al menos desde el punto de vista conceptual, aunque el BASIC utiliza órdenes especiales para realizar esta operación (comandos SAVE y LOAD).

miércoles, 4 de noviembre de 2009

Formateado y directorio

En un disco no hay nada que indique de forma visible las pistas y los sectores donde está grabada la información. Su superficie está recubierta por igual de óxidos magnéticos con su color pardo característico. ¿Cómo es posible, entonces, escribir los datos en las posiciones correctas?

En lo que respecta a la subdivisión en pistas no hay grandes problemas, puesto que la mecánica de precisión de la unidad de disco está en condiciones de desplazar la cabeza hasta situarla sobre la pista deseada. El número de pistas distinguibles depende solamente de la precisión de la mecánica; en los discos flexibles de 5" 1/4 son posibles 35, 40 u 80 pistas, mientras que en los de 8" hay casi siempre 77 pistas. Los discos rígidos pueden tener, en cambio, centenares de pistas gracias a un dispositivo que "detecta" la intensidad del campo magnético de la pista localizada a partir de la cabeza.

Una vez que tenemos entonces la cabeza situada sobre la pista deseada, es preciso establecer el punto de comienzo de los sectores. Esto puede conseguirse de dos maneras: señalando de forma física en el disco con orificios los sectores (la operación denominada "sectorización" por hardware) o bien con la grabación de señales especiales (la denominada "sectorización" por software). El primer método es muy utilizado con los discos rígidos ("hard disk"), mientras que el segundo se emplea en casi todos los ordenadores personales para los discos flexibles.

Estos indicadores, que no están presentes en un disco nuevo (virgen) dependen del tipo de ordenador utilizado o, más exactamente, de su software para disco, de su sistema operativo de disco (o DOS).

Así, cuando se quiere emplear un nuevo disco es preciso for-matearlo (o inicializarlo) en primer lugar. Esta operación, ejecutable también en discos antiguos que se quieran reutilizar como nuevos, además de señalizar los sectores suele grabar en el disco la tabla de control de los ficheros, denominada directorio

El directorio (o tabla índice) contiene las informaciones necesarias para identificar todos los ficheros grabados en el disco. Una parte de esta información es posible leerla con el comando DIR del BASIC (o CATALOG, según de qué ordenador se trate). La principal información contenida en un directorio es:

• nombres de los ficheros,

• tipos de fichero,

• sectores en los que se encuentran los ficheros,

• dimensiones de los ficheros,

• fecha de su creación,

• fecha de la última modificación,

• permiso de acceso a los ficheros.

La información más importante es la relativa a la identificación de los sectores en donde se encuentra el fichero; gracias a ello resulta posible tener acceso directo a los ficheros individuales o a sus registros.

martes, 3 de noviembre de 2009

Tipos de discos

Aun cuando muchas unidades de disco tengan un aspecto físico diferente, todas ellas funcionan del mismo modo desde el punto de vista conceptual. No obstante, no debemos olvidarnos de hacer una puntualización que para algunos podría parecer banal.

En cualquier caso, si no se empleara la distinción disco/unidad de disco, el significado queda claro por el contexto en el que se emplea la denominación.

Un disco, en la-práctica, es un conjunto de sectores a los que se puede tener acceso de modo independiente y en un tiempo relativamente corto. Se trata, pues, de una memoria de acceso aleatorio similar, conceptualmente, a una memoria RAM, pero mucho más lenta.

En lo que respecta a la capacidad de memoria de un disco, un sector puede contener desde 128 a 1.024 bytes, mientras que un disco puede tener una capacidad total desde varias decenas o centenas de kilobytes (mil bytes) a millones de bytes, según el número de pistas utilizadas. Pasemos revista con rapidez a las clases de disco más comunes:

• fijos, construidos con la tecnología

Se suelen utilizar con los grandes ordenadores, aunque actualmente, en sus versiones más pequeñas, se están difundiendo también entre los ordenadores personales por lo compactos que resultan y su notable fiabilidad.

• Son pilas de discos rígidos superpuestos y solidarios entre sí. La grabación suele realizarse en todas las caras, con una cabeza por cada cara. La capacidad de estos soportes es muy grande: decenas y centenares de megabytes. Suelen . ser extraíbles de la unidad de disco, como lo son los discos de cartucho ("cartridge") constituidos por un solo disco.

• o A diferencia con los discos rígidos,

Siempre se pueden extraer de la unidad de disco. Lamentablemente, su duración no es comparable con la de los discos rígidos, tanto por estar en contacto con la cabeza de grabación, que se desplaza por encima y con el transcurso del tiempo los desgasta, como por no estar protegidos contra el polvo ambiental. Como máximo, almacenan solamente un millón de bytes (Fig. 5), pero, en compensación, su coste es verdaderamente moderado. Los primeros discos flexibles tenían un diámetro de 8 pulgadas (como un disco musical de 45 revoluciones), pero inmediatamente después se produjeron los de 5 1/4 pulgadas (denominados minifloppy), adoptados luego por los ordenadores personales. Recientemente han aparecido los "microfloppy" (de diámetros variados, por ejemplo, 3,5 pulgadas), utilizados, entre otros, por el ordenador Macintosh de Apple.

Hay que aclarar, de todas formas, que no es del todo exacto denominarlos "floppy" porque no son flexibles, sino más bien rígidos.

La capacidad de almacenamiento de un disco, además de depender del número de caras y del número de pistas, es función también de la bación de los bits en las pistas.