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.

lunes, 2 de noviembre de 2009

Grabación de datos en disco

Con independencia del tipo de disco (se trate de un grueso disco rígido o de un pequeño disco flexible), la organización física de los datos es prácticamente la misma siempre. Los datos son grabados en bloques de longitud constante e igual a la de un sector. En la Figura 3 se ilustra la subdivisión de la superficie del disco en pistas y sectores, y en la Figura 4 se observa la correspondencia física entre un disco y su organización.

El contenido de un sector es el bloque mínimo de datos que puede leerse o escribirse en el disco. Dicho de otro modo, no es posible tener acceso a un byte individual como se hace con la memoria central, sino que es preciso leer o escribir un sector completo que, evidentemente, está constituido por muchos bytes.

Para leer un determinado sector, se desplaza la cabeza de lectura de la unidad mecánica en la que está introducida el disco hasta el punto correspondiente a la pista deseada y luego se espera a que el sector que se busca pase por debajo de la propia cabeza, momento en el cual se lee su contenido. Lo mismo se haría para grabarlo.

Veamos la terminología utilizada, válida para toda clase de discos:

0 : ("side") es un lado o superficie del disco susceptible de grabación. Un disco puede utilizar una o dos de sus caras; ("track") es una circunferencia imaginaria en la cual se graban los datos. En una cara del disco hay muchas pistas concéntricas (recordemos que la grabación en los discos musicales se realiza, en cambio, a lo largo de una espiral); es la parte de una pista obtenida subdividiendo la circunferencia en un determinado número de sectores angulares. Un sector contiene el bloque mínimo de datos manejables durante una operación de lectura o escritura.

La capacidad total de almacenamiento de una unidad de disco depende principalmente de:

• tamaño del disco;

• número de caras utilizadas. Para cada cara se debe tener una cabeza, y, por consiguiente, aumentará el coste de la unidad de disco,

• número de pistas por cara;

• densidad de grabación de los bits a lo largo de la pista; es decir, cuántos bits se consigue grabar en un centímetro-de longitud;

domingo, 1 de noviembre de 2009

Cintas de cásete y discos flexibles

Dijimos anteriormente que, entre los periféricos de un ordenador, los que resuelven mejor el problema de conservar los datos durante un largo período de tiempo son los que utilizan la grabación magnética. Todos nosotros sabemos cuan fiel y duradera puede ser la grabación de un concierto. El mismo principio es válido también para los ordenadores, con la única diferencia de que los datos (las señales) no se graban de modo analógico, sino digital, como es característica de la "naturaleza del ordenador.

La grabación analógica es la más inmediata y fácil de intuir: un micrófono genera una señal eléctrica proporcional (analógica) al sonido y, a su vez, la cabeza de la grabadora genera un campo magnético proporcional a la señal eléctrica. Cuando más alta sea la fidelidad con la que el micrófono convierte el sonido y cuanto más preciso sea el campo magnético generado por la cabeza, tanto más alta será la calidad de la grabación. Por el contrario,

En las cintas, en las casetes o en los discos flexibles, los datos del ordenador son grabados como señales que representan los valores 1 o 0 de los bits. El problema de la fidelidad, tal como se considera en el campo analógico, es prácticamente inexistente en los ordenadores, puesto que para que una grabación sea perfecta basta con que ningún bit 1 ó 0 se pierda.

Algunas veces, para obtener estos resultados se recurre a técnicas complejas de grabación magnética.

La grabación magnética digital puede efectuarse en dos clases de soportes: cintas y discos. A grandes rasgos, las cintas para ordenador son muy similares a las musicales. Tanto es así, que las casetes, que son las únicas cintas utilizadas por los ordenadores personales, son muchas veces las mismas en ambos casos. A menudo, por economía, se utilizan con los ordenadores personales incluso los magnetófonos a casetes portátiles ordinarios.

La grabación magnética digital puede también realizarse, y con resultados mucho mejores, en soportes en forma de discos. En este caso la organización de los datos es mucho más compleja, aunque, en compensación, se tiene un mayor rendimiento en su manejo.