Práctica - Introducción al manejo de archivos
Enviado por ivan cabrera magos • 6 de Junio de 2017 • Documentos de Investigación • 3.272 Palabras (14 Páginas) • 305 Visitas
NOMBRE: Práctica 1 - Introducción al manejo de archivos
OBJETIVO
Conocer las operaciones básicas para crear archivos y las interrupciones implicadas en el manejo de archivos
INTRODUCCIÓN
En muchos programas es necesario acceder al disco, ya sea para leer información de él o para preservar datos. Para esta tarea ya se dispone de interrupciones de la BIOS y del MS-DOS, siendo las primeras de mucho más bajo nivel.
Dentro de las interrupciones ofrecidas por el MS-DOS se encuentran englobadas en dos conjuntos distintos: FCB (File Control Blocks, o bloques de control de ficheros) y las de acceso por handles. El primer conjunto es un residuo de las primeras versiones de MS-DOS mantenido por compatibilidad y el segundo es un juego de instrucciones más moderno, disponible desde la versión 2.0 del MS-DOS.
MARCO TEÓRICO
Estructura física del disco
Los discos pueden ser de tipo flexible, removible o duros. Constan de una superficie magnética circular divida en pistas concéntricas numerada desde el 0 la más externa, cada una de las cuáles se subdivide en sectores de tamaño fijo, numerados a partir del 1. Normalmente los sectores suelen ser de 512 bytes de tamaño. Los sectores se agrupan en un cluster, que es la unidad mínima que asigna el MS-DOS a un fichero. El número de sectores que se agrupan en un cluster depende del tipo y tamaño del disco. Por ejemplo, un disquete de 360 Kb almacena dos sectores en cada cluster y un disco duro de 32 Mb formateado con el DOS 3.3 almacena cuatro sectores en cada cluster. Así pues, por muy pequeño que sea un archivo, tendrá reservado para él en el disquete de 360 Kb un total de 1 Kb (1024 bytes = 512 bytes * 2) y en el disco duro de 32 Mb un total de 2 Kb (2048 bytes = 512 bytes * 4), aunque no esté totalmente ocupado este espacio por un fichero, no podrá ser utilizado para nada más. Un disco puede tener más de una cara numeradas desde el 0, se dice entonces que el cilindro es el conjunto vertical de todas las pistas con el mismo número en cada superficie, por ejemplo, el cilindro 0 es el conjunto de cada pista 0 de todas las caras del disco. Cuando el sistema escribe un archivo, lo hace en todas las pistas de un cilindro y luego avanza las cabezas de lectura/escritura al cilindro siguiente.
Los sectores se pueden numerar de forma absoluta y relativa, así el primer sector del disco se encuentra de forma absoluta en el cilindro 0, pista 0, sector 1; mientras que de forma relativa sería cilindro 0, pista 0, sector relativo 0.
[pic 1]
Área de Sistema
El área de sistema es el primer área del disco situado en la primera localidad del disco en su localización más externa: cara 0, pista 0, sector 1. Aquí se guarda, por ejemplo, la localización de cada archivo contenido en el disco. Los tres componentes del área de sistema son:
- Registro de arranque. Todos los discos tienen un área de registro de arranque, aunque no contenga los archivos de sistema, que son el núcleo del sistema operativo a cargar. En esta sección se encuentra un pequeño programa en código máquina que es cargado por el programa de arranque que reside en ROM y recibe el control del ordenador después de todo el proceso de chequeo. En un disco sin sistema operativo, este programa muestra en pantalla un mensaje indicando que el disco no es de sistema y nos invita a pulsar una tecla tras sustituirlo por uno que lo contenga, en cuyo caso se encarga de cargar el núcleo del sistema operativo, en el caso del MS-DOS son los archivos: IOSYS.SYS, MSDOS.COM. El archivo COMMAND.COM no forma parte del núcleo del MS-DOS, se trata de un intérprete de comandos, interfaz entre el sistema operativo y el usuario.
- Tabla de asignación de archivos (FAT). La FAT del disco tiene una entrada para cada cluster de la zona de datos, que indica los clusters que están ocupados y por qué archivos, está organizada como una lista enlazada donde cada entrada tiene un puntero hacia la siguiente. El último cluster del archivo está identificado por un valor especial. Para identificar clusters no ocupados, reservados y defectuosos se usan otros valores especiales.
- Directorio. Cuando se da formato a un disquete de 360 Kb, el DOS reserva espacio para 112 entradas de directorio (un disco de 1.2 Mb puede contener hasta 224 nombres de archivo). Cada entrada tiene 32 bytes y guarda el nombre de cada archivo en el disco, además de su tamaño actualizado, la fecha y la hora en que fue modificado por última vez, sus atributos (oculto, de sólo lectura, etc.) y el número de cluster de inicio. Cuando se abre un archivo, el DOS busca aquí el nombre del archivo y el cluster donde comienza. Obsérvese que, puesto que hay un número limitado de entradas de directorio, puede aparecer el mensaje "disco lleno" aun quedando suficiente espacio en disco. Al contrario del directorio raíz de un disco, los directorios que se crean no están limitados a un número determinado de entradas de nombres de archivo, pues un subdirectorio es, de hecho, un archivo, que se puede ampliar indefinidamente mientras haya espacio en el disco. La etiqueta del volumen ocupa una entrada de directorio, aunque no haya espacio de datos asignado al mismo.
Área de datos
Empieza con los archivos de sistema del MS-DOS: IOSYS.SYS y MSDOS.COM. Cuando formateamos un disco con "FORMAT /S" el MS-DOS copia sus archivos de sistema a los primeros sectores del área de datos. Los archivos de usuario siguen a los archivos de sistema, o al inicio del área de datos si éstos no existen.
Un disco flexible de dos caras formateado con nueve sectores por pista contiene la información siguiente:
Registro de arranque | Cara 0, pista 0, sector 1 |
FAT | Cara 0, pista 0, sectores 2-3 |
Directorio | Cara 0, pista 0, sectores 4-7 |
Directorio | Cara 1, pista 0, sectores 1-3 |
área de datos | Cara 1, pista 0, sectores 4 en adelante |
Operaciones MS-DOS para disco con FCBs
Los FCB (File Control Blocks, bloques de control de archivo) era el sistema que se utilizaba en las primeras versiones del MS-DOS y que sigue estando presente para mantener la compatibilidad, pero que a partir de la versión 2 del MS-DOS se introdujo el manejo de handles para trabajar con los ficheros. Básicamente, la mejora que aporta el uso de handles frente a los FCBs, aparte de otras consideraciones, es que soporta el manejo de subdirectorios.
...