Está en la página 1de 9

Acceso a Dispositivos

Que es el acceso a dispositivos de almacenamiento?


Forma en que se puede leer y escribir datos en un dispositivo auxiliar a la memoria
principal.
Dispositivo de almacenamiento de acceso directo: Es cualquier tipo de dispositivo de
almacenamiento secundario que tiene un tiempo de acceso bajo en proporcin a su
capacidad.
Los dispositivos de almacenamiento se pueden clasificar de acuerdo al modo de acceso a
los datos que contienen, pueden ser:
Acceso Aleatorio:
El mtodo 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 fsico dnde se
encuentran otros datos.
A continuacin se expone una analoga para entender mejor el concepto.
Imaginemos un patio cuadrado, en el que se encuentran de pie varias personas. Si tu
intentas ir con alguno de ellos, solamente te diriges hacia el, sin la necesidad de interactuar
directamente con los dems.
El acceso aleatorio es similar, si la computadora requiere un dato especfico, solamente se
dirigir hacia el dato sin necesidad de haber interactuado con otros datos directamente en
la superficie dnde se encuentren grabados.

Dispositivos donde se realiza este modo de acceso:


1.
2.
3.
4.
5.
6.
7.
8.

Disco duro.
Memoria USB
Disquete
Memoria RAM
Unidad SSD
Memoria Cach
Lector de disco ptico (CD/DVD/HD-DVD Blu-ray):
Unidad LS-120

Acceso secuencial:
El mtodo 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 fsico dnde se
encuentran otros datos.
El acceso secuencial es similar, si la computadora requiere un dato especfico, tiene que
recorrer el espacio dnde se encuentra otra informacin hasta llegar al lugar dnde esta el
dato requerido.
Dispositivos en el que se realiza este modo de acceso.
Tocadiscos: para reproducir la meloda especfica del disco de vinilo, la aguja recorre por lo
menos parte de la anterior cancin para que se reproduzca la elegida por el usuario.
Lectora de cintas de respaldo: tanto para leer como para escribir un dato, es necesario que
la cabeza magntica recorra parte de la cinta.
Grabador de discos pticos (CD, DVD, HD-DVD Blu-ray): el proceso de grabado se hace
de manera espiral por medio de un rayo lser, el cul escribe sobre tal espiral un dato a
continuacin del otro.
Casetera: tanto para leer como para escribir un dato, es necesario que la cabeza magntica
recorra parte del casete.

Acceso a disco duro.


Para leer o escribir en un disco, no se realiza byte a byte, sino ms bien en bloques de bytes,
debido a que el acceso a disco implica movimientos mecnicos adems de que el acceso se
da por sectores; en este proceso no intervienen el CPU, puesto que solo enva los comandos
a la interfase que maneja la unidad de disco y sta es la que se encarga de leer o escribir
informacin de un rea especial de memoria, llamada DMA; este proceso es conocido
como acceso directo a memoria.
Para el manejo de disco desde BIOS se hace uso de la INT 13h, y con servicios de la misma
interrupcin. Para el manejo de disco desde el sistema DOS, se utilizan los discos a los
cuales se le halla aplicado el comando: format
el cual realiza un formato a nivel de BIOS (INT 13h), es decir mapea todos los sectores
fsicos de un disco en sectores lgicos, divide el disco en 4 reas bsicas de informacin:

Boot record: Contiene la informacin acerca del formato del disco, tal como nmero de
sectores, nmero tracks, nmero de lados, etc. Adems contiene un pequeo programa que
se encargar de bajar el sistema operativo (boot del sistema).
Boot Strap:
Lee el primer sector del disco (boot record) y le transfiere el control.
Boot del sistema:
Pasa a memoria los archivos del sistema operativo, les transfiere el control para que
aparezca el prompt del sistema.
Tabla de localizacin de archivos (FAT): En esta tabla se guarda una lista de los sectores
ocupados por cada archivo contenido en el disco.
Directorio: Se guarda informacin acerca de los archivos en el disco (nombre, extensin,
tamao, fecha y hora de ltima actualizacin, atributos y un apuntador a su correspondiente
en el FAT).
Archivos (rea de datos): Es donde se guarda la informacin contenida en los archivos.
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 informacin
importante para el acceso a archivo.
FCB DB 36 DUP (0)

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
extensin; los dems bytes se ponen en cero y son actualizados por el sistema.

Forma de acceder a los discos en 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 basica del
almacenamiento en un disco. El tamamao de un sector se mide en bytes y depende de las
caracteristicas del disco.
Un ejemplo de las 3 rutinas son : que permiten lectura y escritura absoluta de sectores, asi
como la determinacion del espacio libre disponible en un disco.

Comunicacin serial en lenguaje ensamblador.


En lenguaje ensamblador, se puede acudir a la interrupcin 14H de la ROM-BIOS para
configurar, leer, escribir o simplemente para conocer el estado del puerto; cada una de estas
cuatro opciones es un servicio de la interrupcin, y se seleccionan a travs del registro AH.
La figura 1 muestra los valores que debe contener el registro AH para invocar cada uno de
los servicios.
En todos los casos, el registro DX debe contener el nmero del puerto serie; el primero de
ellos, COM1 se especifica como 00h.

Para configurar o inicializar el puerto serie, bastar con utilizar el servicio 00 de la


interrupcin, colocando en el registro AL los valores equivalentes a los parmetros, como
se puede observar en la figura 2. Con ste mtodo es posible obtener frecuencias de
transmisin que van desde los 110 hasta los 9600 baudios.

Para enviar un dato por el puerto serial, bastar con colocar en el registro AH el valor 01
correspondiente a este servicio y en el registro AL el dato a ser enviado, invocando de
nuevo la interrupcin 14H. La lectura de un dato que ha llegado al puerto se logra con el
servicio 02, el cual devuelve en el registro AL el dato. La lectura del estado del puerto se
consigue a travs del servicio 03 de esta misma interrupcin, y retorna en el registro AX el
estado del puerto, el cual contendr los bits que se muestran en la figura 3.

Por ejemplo, podemos utilizar el lenguaje ensamblador para configurar el puerto serial para
1200 baudios, sin bit de paridad, sin bit de parada y 8 bits, realizando el siguiente
programa:
mov ah,0 ;servicio 00 de INT 14h: inicializar puerto
mov a1,83 ;configuracin: 1200 baudios, no paridad,
;un bit de parada, 8 bits de datos
mov dx,00 ;Seleccionar puerto COM1
int 14
;interrupcin del BIOS
mov ah,4c ;servicio 4ch de INT 21h: terminar
int 21
;interrupcin servicio del DOS
Este programa (en donde todas las cantidades estn expresadas en hexadecimal) se puede
tornar ejecutable utilizando algunos de los ensambladores para PC, o utilizando el comando
DEBUG del DOS.
Otra forma de seleccionar los parmetros de la comunicacin y lograr sta, es mediante la
modificacin y consulta de los registros correspondientes al circuito integrado que maneja
la comunicacin serial: el UART 8250 o similar. Como se sabe, este circuito integrado
puede ser manejado como un puerto, en el cual es posible la escritura o lectura de sus
estados.
Comunicacin con el puerto paralelo en lenguaje ensamblador.
En lenguaje ensamblador, se puede leer un dato del puerto mediante la instruccin IN
escribir un dato en el puerto con la instruccin OUT , en ambos casos el registro AL debe
participar activamente en la instruccin, bien sea como fuente (en operaciones de escritura)
o destino (en operaciones de lectura) del dato, como en los siguientes casos:
out DX, AL ;lleva al puerto DX el contenido del registro AL
in AL,DX ;lleva al registro AL, el contenido del puerto DX
Otra, exigencia, es que el nmero del puerto sobre el que se va a realizar la transferencia de
datos debe estar sealado por el registro DX, a excepcin de los casos en los cuales el
nmero del puerto es inferior a 255 (FFh), en cuyo caso la instruccin que lee o escribe
puede sealar directamente el puerto.

Referencias:
http://hernandez-gonzalez-lenguajes.blogspot.mx/2013/11/acceso-discos-en-lenguajeensamblador.html
http://hgr.tripod.com/puertos_ensamblador.html

http://azul2.bnct.ipn.mx/computacion5/practicas%2080386/practica%205%20ensamblador
%2080386.pdf
http://lenguajes-2013.blogspot.mx/
Peter Abel, Lenguaje ensamblador y programacin para IBM PC y compatibles, Tercera edicin
Medina, Ramn, 1992, Programacin Avanzada en Lenguaje Ensamblador

También podría gustarte