miércoles, 20 de noviembre de 2013

Acceso a discos en lenguaje ensamblador

Dispositivo de almacenamiento de acceso directo a cualquier tipo de dispositivo de almacenamiento secundario que tiene un tiempo de acceso bajo en proporción a su capacidad.

Como se hace el acceso a disco usando lenguaje ensamblador:los datos se registran sobre la superficie del disco en una serie de circunferencias concentricas llamadas pistas (track).

varias pistas , una por cada cara del disco (generalmente 2) , componen un cluster. cada pista esta divida en porciones iguales llamadas sectores. un sector es la unidad básica del almacenamiento en un disco. el tamaño de un sector se mide en bytes y depende de las características del disco.

Un ejemplo de las 3 rutinas son : que permiten lectura y escritura absoluta de sectores, asi como la determinación del espacio libre
disponible en un disco.

Manejo de Disco
Para almacenar información permanente en grandes cantidades, las computadoras
cuentan con dispositivos especiales, llamados memoria secundaria o externa,
generalmente son dispositivos que almacenan información magnética.

Un disco es una superficie plana, magnética dividida en círculos concéntricos a los
cuales se les llama Tracks (pistas); además de tener 2 lados; cabe hacer mencionar que los
primero discos únicamente tenían 1 sola cara. Cada track esta dividido en sectores, los
cuales almacenan un determinado número de bytes.

Las unidades de disco, son dispositivos capaces de leer o escribir en un disco para
eso tienen una cabeza lectora quien realiza una operación de moverse al track deseado
(Seek Time), y luego espera por el sector seleccionado (Latency Time).








Seek Time: Tiempo en que se tarda en posicionar la cabeza lectora en moverse a un track.

El número de tracks y lados en un disco depende del hardware del disco, y de la

unidad que lo maneja, pero el número de sectores y el tamaño de los mismos se determina

en el momento de formatear el disco (depende del software).

Acceso al disco

Para leer o escribir en un disco, no se realiza byte a byte, sino más bien en bloques

de bytes, debido a que el acceso a disco implica movimientos mecánicos además de que el

acceso se da por sectores; en este proceso no intervienen el CPU, puesto que solo envía los

comandos a la interfase que maneja la unidad de disco y ésta es la que se encarga de leer o

escribir información de un área especial de memoria, llamada DMA; este proceso es

conocido como acceso directo a memoria






Un archivo se puede acceder de dos formas: acceso secuencial; en este caso se

sigue un orden en la lectura/escritura de registros, acceso aleatorio; en esta caso no se

sigue un orden establecido y se puede leer/escribir en cualquier registro.

En DOS, para trabajar con archivos se necesitan dos estructuras de datos:

Un área de memoria para el DTA, donde se van a escribir los registros.

DTA DB 128 DUP (0)
 Un área para el bloque de control de archivos (FCB) en donde se guarda

información importante para el acceso a archivo.

FCB DB 36 DUP (0)

El formato para el FCB es el siguiente:

Byte Contenido

0 Número de unidad donde se encuentra el archivo:

0 = Unidad corriente

1 = A

2 = B ...

1 – 8 Nombre del archivo en ASCII, los espacios que no se ocupen se

llenan con espacios en blanco.

9 – 0Bh Extensión en ASCII

0Ch – 0Dh Número de bloque corriente.

0Eh – 0Fh Tamaño de los registros, por default 80h.

10h – 13h Tamaño del archivo.

14h – 15h Fecha de la última actualización.

16h – 17h Hora de la última actualización.

<0 ... 4> segundos

<5 ... 11> minutos

<12 ... 15> horas

18h – 1Fh Reservados por el sistema.

20h Número de registro corriente relativo al inicio del bloque

corriente.

21h – 24h Número de registro corriente relativo al inicio del archivo.



Un bloque de archivo consta de 80h registros de 80h bytes cada uno. Al iniciar el

manejo de un archivo los únicos campos del FCB que se inicializan son el de la unidad, el

nombre y la extensión; los demás bytes se ponen en cero y son actualizados por el sistema

ejemplo




No hay comentarios:

Publicar un comentario