4.2- Acceso a discos en lenguaje ensamblador
Tania Mendoza García | 17112047
Tania Mendoza García | 17112047
Los dispositivos de almacenamiento se pueden clasificar de acuerdo al modo de acceso a los datos que contienen:
Pueden ser:
Acceso Aleatorio.
Acceso Secuencial.
Acceso al Disco en Ensamblador.
El método de acceso aleatorio es la forma en que la computadora accede a los datos de manera directa y veloz, sin interactuar directamente con datos ó espacio físico dónde se encuentran otros datos.
Dispositivos donde se realiza este modo de acceso:
El método de acceso secuencial es la forma en que la computadora accede a los datos de manera que es necesario interactuar directamente con los datos ó el espacio físico dónde se encuentran otros datos.
Dispositivos donde se realiza este modo de acceso:
Tocadiscos
Lectora de cintas de respaldo
Grabador de discos ópticos (CD, DVD, HD-DVD ó Blu-ray)
Casetera
Para comprender mejor el tema, es necesario comenzar explicando que para poder escribir o leer desde un disco, no se realiza byte a byte, si no que en bloques de bytes, ya que el acceso a disco implica movimientos mecánicos además que la información en él se almacena por sectores. Se envían comandos a la interfaz que maneja la unidad de disco, la cual se encarga de leer o escribir información del área de acceso directo a memoria o DMA, la cual es un espacio de memoria especial para estos procesos.
Los discos están conformados físicamente por discos a los que se les denomina caras, los cuales están divididos en anillos con céntricos a los cuales se les denomina pistas (track) y está dividido en un número determinado de sectores, los cuales son divisiones de las pistas.
Forma de acceder a los discos en ensamblador
Los datos se registran sobre la superficie del disco en una serie de circunferencias concéntricas llamadas pistas (track).Varias pistas , una por cada cara del disco (generalmente 2) , componen un clúster. 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, así como la determinación del espacio libre disponible en un disco.
Las rutinas son las siguientes:
_AbsoluteRead
La cual transfiere el contenido de un o más sectores del disco al buffer especificado, y acceder directamente a los sectores lógicos. En caso de error, se enciende el bit de acarreo y AX contiene el código de error.
_AbsoluteWrite
Transfiere el contenido del buffer especificado a uno o más sectores de disco, y acceder directamente a los sectores lógicos. En caso de error, se enciende el bit de acarreo y AX contiene el código de error.
_FreeDiskSpace
Devuelve en DX:AX el espacio libre en disco (en Kb). En caso de error,se enciende el bit de acarreo.