almacenamiento masivo e interrupciones del bios

36
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS LIC. EN INGENIERÍA DE SISTEMAS Y COMPUTACIÓN Programación Aplicada II Investigación #4 Almacenamiento Masivo Ing. Addys de Lam Integrantes: Alexis García 8- 885-751 Joel Herrera 8- 877-2082 Carlos Quintero 8-891- 2234 Yeniffer Ortega 8- 881-176 Grace Reid 3- 734-206 Grupo 1IL-121

Upload: carlos-quintero

Post on 17-Nov-2015

22 views

Category:

Documents


1 download

DESCRIPTION

Trabajo basado en el lenguaje C sobre las partes de los dispositivos de almacenamiento y con un enfoque en interrupciones de BIOS usando el lenguaje de bajo nivel C

TRANSCRIPT

UNIVERSIDAD TECNOLGICA DE PANAMFACULTAD DE INGENIERA DE SISTEMAS COMPUTACIONALESDEPARTAMENTO DE COMPUTACIN Y SIMULACIN DE SISTEMASLIC. EN INGENIERA DE SISTEMAS Y COMPUTACIN

Programacin Aplicada II

Investigacin #4Almacenamiento Masivo

Ing. Addys de Lam

Integrantes:Alexis Garca 8-885-751Joel Herrera 8-877-2082Carlos Quintero 8-891-2234Yeniffer Ortega 8-881-176Grace Reid 3-734-206Grupo 1IL-121

PANAM, 15 DE OCTUBRE DE 2014

ContenidoIntroduccin4Objetivos Generales5Objetivos Especficos5Conceptos Bsicos del Disco Duro6Definicin:6Descripcin:6Otras caractersticas son:6Estructura de un Disco7Estructura Fsica:7Direccionamiento:7Tipos de conexin8Factor de forma9Estructura Lgica:10Funcionamiento:10Componentes y funcionamiento de un disco duro11Cabezales11Electrnica11Firmware11Motor:12Platos12Pistas o Tracks12Sectores12Cilindro12Cluster12Interrupciones del BIOS13Interrupciones de Disco y de Base del Disco14Monitor14Configuracin de PC15Lectura y escritura:15Discos Duros y Floppys15Comunicaciones16Funciones bsicas de entrada y salida16Teclado17Impresora18Reinicializacin del sistema reebot18Controlador del tiempo18Programa Ejemplo 119Programa Ejemplo 221Conclusin24Webliografa25Bibliografa25

Introduccin

El trabajo presentado a continuacin tiene como objetivo dar informacin al lector sobre los conceptos que se utilizan cuando se trata con los medios de almacenamiento masivo del computador.Para dar inicio a esta introduccin podemos decir que el almacenamiento masivo es administrado por la memoria secundaria del computador, la cual puede ser conformada por discos duros, y en los ltimos aos por dispositivos de estado slido SSD.Adicional al almacenamiento masivo en el siguiente trabajo presentamos algunas interrupciones del BIOS y como utilizarlas para nuestro provecho.El disco duro es hasta la fecha la manera ms econmica de almacenar nuestros datos en relacin de precio/espacio de memoria y por eso es importante hacer mencin especial durante este documento, El disco duro es el dispositivo magntico interno de la computadora en el que se almacena gran cantidad de informacin y que es la parte principal de lo que se conoce como memoria secundaria.Est compuesto por dos tipos de estructuras: una fsica y una lgica. Hablaremos sobre la forma en la cual se almacenan los datos en estos, as como tambin estaremos incluyendo informacin sobre los tipos de puertos que utilizan. Las interrupciones por otro lado nos permiten en C acceder a los registros, interrumpir el proceso, y movilizarnos en pantalla, mandar diferentes rdenes, ya sea al monitor, impresora, teclado, para que estas las ejecuten, en el momento requerido.Incluiremos de igual manera informacin sobre las interrupciones (tambin conocida como interrupcin hardware o peticin de interrupcin) es una seal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecucin actual y pasar a ejecutar cdigo especfico para tratar esta situacin.

Objetivos GeneralesNuestros objetivos para esta investigacin son: Conocer la importancia de la administracin de componentes del disco duro. Distinguir los distintos conceptos utilizados para armar un disco duro sus funciones, formatos y arquitecturas. Aplicar las interrupciones del BIOS y su importancia en la programacin en el Lenguaje C.Objetivos Especficos Analizar y aprender diferentes comandos usados para para las diversas interrupciones en el BIOS. Utilizar estos conocimientos para desarrollar aplicaciones de manera ptima. Para tener un buen rendimiento del computador y al programa. Conocer los conceptos que se utilizan cuando se hablan de los medios de almacenamiento masivo.

Conceptos Bsicos del Disco DuroDefinicin:Es un dispositivo de almacenamiento de datos no voltil que emplea un sistema de grabacin magntica para almacenar datos digitales. Se compone de uno o ms platos o discos rgidos, unidos por un mismo eje que gira a gran velocidad dentro de una caja metlica sellada. Sobre cada plato se sita un cabezal de lectura/escritura que flota sobre una delgada lmina de aire generada por la rotacin de los discos.Descripcin:Las caractersticas que se deben tener en cuenta en un disco duro son: Tiempo medio de acceso: Tiempo medio que tarda la aguja en situarse en la pista y el sector deseado; es la suma del Tiempo medio de bsqueda (situarse en la pista), Tiempo de lectura/escritura y la Latencia media (situarse en el sector). Tiempo medio de bsqueda: Tiempo medio que tarda la aguja en situarse en la pista deseada; es la mitad del tiempo empleado por la aguja en ir desde la pista ms perifrica hasta la ms central del disco. Tiempo de lectura/escritura: Tiempo medio que tarda el disco en leer o escribir nueva informacin: Depende de la cantidad de informacin que se quiere leer o escribir, el tamao de bloque, el nmero de cabezales, el tiempo por vuelta y la cantidad de sectores por pista. Latencia media: Tiempo medio que tarda la aguja en situarse en el sector deseado; es la mitad del tiempo empleado en una rotacin completa del disco. Velocidad de rotacin: Revoluciones por minuto de los platos. A mayor velocidad de rotacin, menor latencia media. Tasa de transferencia: Velocidad a la que puede transferir la informacin a la computadora una vez la aguja est situada en la pista y sector correctos. Puede ser velocidad sostenida o de pico.Otras caractersticas son: Cach de pista: Es una memoria tipo Flash dentro del disco duro. Interfaz: Medio de comunicacin entre el disco duro y la computadora. Puede ser IDE/ATA, SCSI, SATA, USB, Firewire, SAS Landz: Zona sobre las que aparcan las cabezas una vez se apaga la computadora.

Estructura de un DiscoEstructura Fsica:Dentro de un disco duro hay uno o varios platos (entre 2 y 4 normalmente, aunque hay hasta de 6 7 platos), que son discos (de aluminio o cristal) concntricos y que giran todos a la vez. El cabezal (dispositivo de lectura y escritura) es un conjunto de brazos alineados verticalmente que se mueven hacia dentro o fuera segn convenga, todos a la vez. En la punta de dichos brazos estn las cabezas de lectura/escritura, que gracias al movimiento del cabezal pueden leer tanto zonas interiores como exteriores del disco.Cada plato posee dos caras, y es necesaria una cabeza de lectura/escritura para cada cara. Si se observa el esquema Cilindro-Cabeza-Sector de ms abajo, a primera vista se ven 4 brazos, uno para cada plato. En realidad, cada uno de los brazos es doble, y contiene 2 cabezas: una para leer la cara superior del plato, y otra para leer la cara inferior. Por tanto, hay 8 cabezas para leer 4 platos, aunque por cuestiones comerciales, no siempre se usan todas las caras de los discos y existen discos duros con un nmero impar de cabezas, o con cabezas deshabilitadas. Las cabezas de lectura/escritura nunca tocan el disco, sino que pasan muy cerca (hasta a 3 nanmetros), debido a una finsima pelcula de aire que se forma entre stas y los platos cuando stos giran (algunos discos incluyen un sistema que impide que los cabezales pasen por encima de los platos hasta que alcancen una velocidad de giro que garantice la formacin de esta pelcula). Si alguna de las cabezas llega a tocar una superficie de un plato, causara muchos daos en l, rayndolo gravemente, debido a lo rpido que giran los platos (uno de 7.200 revoluciones por minuto se mueve a 129 km/h en el borde de un disco de 3,5 pulgadas).Direccionamiento:Hay varios conceptos para referirse a zonas del disco: Plato: cada uno de los discos que hay dentro del disco duro. Cara: cada uno de los dos lados de un plato. Cabeza: nmero de cabezales. Pista: una circunferencia dentro de una cara; la pista 0 est en el borde exterior. Cilindro: conjunto de varias pistas; son todas las circunferencias que estn alineadas verticalmente (una de cada cara). Sector: cada una de las divisiones de una pista. El tamao del sector no es fijo, siendo el estndar actual 512 bytes, aunque prximamente sern 4 KB. Antiguamente el nmero de sectores por pista era fijo, lo cual desaprovechaba el espacio significativamente, ya que en las pistas exteriores pueden almacenarse ms sectores que en las interiores. As, apareci la tecnologa ZBR (grabacin de bits por zonas) que aumenta el nmero de sectores en las pistas exteriores, y utiliza ms eficientemente el disco duro.El primer sistema de direccionamiento que se us fue el CHS (cilindro-cabeza-sector), ya que con estos tres valores se puede situar un dato cualquiera del disco. Ms adelante se cre otro sistema ms sencillo: LBA (direccionamiento lgico de bloques), que consiste en dividir el disco entero en sectores y asignar a cada uno un nico nmero. ste es el que actualmente se usa.Tipos de conexinSi hablamos de disco duro podemos citar los distintos tipos de conexin que poseen los mismos con la placa base, es decir pueden ser SATA, IDE, SCSI o SAS: IDE: Integrated Device Electronics ("Dispositivo con electrnica integrada") o ATA (Advanced Technology Attachment), controla los dispositivos de almacenamiento masivo de datos, como los discos duros y ATAPI (Advanced Technology Attachment Packet Interface) Hasta aproximadamente el 2004, el estndar principal por su versatilidad y asequibilidad. Son planos, anchos y alargados. SCSI: Son interfaces preparadas para discos duros de gran capacidad de almacenamiento y velocidad de rotacin. Se presentan bajo tres especificaciones: SCSI Estndar (Standard SCSI), SCSI Rpido (Fast SCSI) y SCSI Ancho-Rpido (Fast-Wide SCSI). Su tiempo medio de acceso puede llegar a 7 milisegundos y su velocidad de transmisin secuencial de informacin puede alcanzar tericamente los 5 Mbps en los discos SCSI Estndares, los 10 Mbps en los discos SCSI Rpidos y los 20 Mbps en los discos SCSI Anchos-Rpidos (SCSI-2). Un controlador SCSI puede manejar hasta 7 discos duros SCSI (o 7 perifricos SCSI) con conexin tipo margarita (daisy-chain). A diferencia de los discos IDE, pueden trabajar asincrnicamente con relacin al microprocesador, lo que posibilita una mayor velocidad de transferencia. SATA (Serial ATA): El ms novedoso de los estndares de conexin, utiliza un bus serie para la transmisin de datos. Notablemente ms rpido y eficiente que IDE. Existen tres versiones, SATA 1 con velocidad de transferencia de hasta 150 MB/s (hoy da descatalogado), SATA 2 de hasta 300 MB/s, el ms extendido en la actualidad; y por ltimo SATA 3 de hasta 600 MB/s el cual se est empezando a hacer hueco en el mercado. Fsicamente es mucho ms pequeo y cmodo que los IDE, adems de permitir conexin en caliente. SAS (Serial Attached SCSI): Interfaz de transferencia de datos en serie, sucesor del SCSI paralelo, aunque sigue utilizando comandos SCSI para interaccionar con los dispositivos SAS. Aumenta la velocidad y permite la conexin y desconexin en caliente. Una de las principales caractersticas es que aumenta la velocidad de transferencia al aumentar el nmero de dispositivos conectados, es decir, puede gestionar una tasa de transferencia constante para cada dispositivo conectado, adems de terminar con la limitacin de 16 dispositivos existente en SCSI, es por ello que se vaticina que la tecnologa SAS ir reemplazando a su predecesora SCSI. Adems, el conector es el mismo que en la interfaz SATA y permite utilizar estos discos duros, para aplicaciones con menos necesidad de velocidad, ahorrando costes. Por lo tanto, las unidades SATA pueden ser utilizadas por controladoras SAS pero no a la inversa, una controladora SATA no reconoce discos SAS.Factor de formaEl ms temprano "factor de forma" de los discos duros, hered sus dimensiones de las disqueteras. Pueden ser montados en los mismos chasis y as los discos duros con factor de forma, pasaron a llamarse coloquialmente tipos FDD "floppy-disk drives" (en ingls).La compatibilidad del "factor de forma" continua siendo de 3 pulgadas (8,89 cm) incluso despus de haber sacado otros tipos de disquetes con unas dimensiones ms pequeas. 8pulgadas: 241,3117,5362 mm (9,54,62414,25 pulgadas).En 1979, Shugart Associates sac el primer factor de forma compatible con los disco duros, SA1000, teniendo las mismas dimensiones y siendo compatible con la interfaz de 8 pulgadas de las disqueteras. Haba dos versiones disponibles, la de la misma altura y la de la mitad (58,7mm). 5,25pulgadas: 146,141,4203 mm (5,751,638 pulgadas). Este factor de forma es el primero usado por los discos duros de Seagate en 1980 con el mismo tamao y altura mxima de los FDD de 5 pulgadas, por ejemplo: 82,5 mm mximo.ste es dos veces tan alto como el factor de 8 pulgadas, que comnmente se usa hoy; por ejemplo: 41,4 mm (1,64 pulgadas). La mayora de los modelos de unidades pticas (DVD/CD) de 120 mm usan el tamao del factor de forma de media altura de 5, pero tambin para discos duros. El modelo Quantum Bigfoot es el ltimo que se us a finales de los 90'. 3,5pulgadas: 101,625,4146 mm (415.75 pulgadas).Este factor de forma es el primero usado por los discos duros de Rodine que tienen el mismo tamao que las disqueteras de 3, 41,4 mm de altura. Hoy ha sido en gran parte remplazado por la lnea "slim" de 25,4mm (1 pulgada), o "low-profile" que es usado en la mayora de los discos duros. 2,5pulgadas: 69,859,5-15100 mm (2,750,374-0,593,945 pulgadas).Este factor de forma se introdujo por PrairieTek en 1988 y no se corresponde con el tamao de las lectoras de disquete. Este es frecuentemente usado por los discos duros de los equipos mviles (porttiles, reproductores de msica, etc...) y en 2008 fue reemplazado por unidades de 3,5 pulgadas de la clase multiplataforma. Hoy en da la dominante de este factor de forma son las unidades para porttiles de 9,5 mm, pero las unidades de mayor capacidad tienen una altura de 12,5 mm. 1,8pulgadas: 54871 mm.Este factor de forma se introdujo por Integral Peripherals en 1993 y se involucr con ATA-7 LIF con las dimensiones indicadas y su uso se incrementa en reproductores de audio digital y su subnotebook. La variante original posee de 2GB a 5GB y cabe en una ranura de expansin de tarjeta de ordenador personal. Son usados normalmente en iPods y discos duros basados en MP3. 1pulgadas: 42,8536,4 mm.Este factor de forma se introdujo en 1999 por IBM y Microdrive, apto para los slots tipo 2 de compact flash, Samsung llama al mismo factor como 1,3 pulgadas. 0,85pulgadas: 24532 mm.Toshiba anunci este factor de forma el 8 de enero de 2004 para usarse en mviles y aplicaciones similares, incluyendo SD/MMC slot compatible con disco duro optimizado para vdeo y almacenamiento para micromviles de 4G. Toshiba actualmente vende versiones de 4GB (MK4001MTD) y 8GB (MK8003MTD) 5 y tienen el Record Guinness del disco duro ms pequeo.Los principales fabricantes suspendieron la investigacin de nuevos productos para 1 pulgada (1,3 pulgadas) y 0,85 pulgadas en 2007, debido a la cada de precios de las memorias flash, aunque Samsung introdujo en el 2008 con el SpidPoint A1 otra unidad de 1,3 pulgadas.El nombre de "pulgada" para los factores de forma normalmente no identifica ningn producto actual (son especificadas en milmetros para los factores de forma ms recientes), pero estos indican el tamao relativo del disco, para inters de la continuidad histrica.Estructura Lgica:Dentro del disco se encuentran: El Master Boot Record (en el sector de arranque), que contiene la tabla de particiones. Las particiones, necesarias para poder colocar los sistemas de archivos.Funcionamiento:Un disco duro suele tener: Platos en donde se graban los datos. Cabezal de lectura/escritura. Motor que hace girar los platos. Electroimn que mueve el cabezal. Circuito electrnico de control, que incluye: interfaz con la computadora, memoria cach. Bolsita desecante (gel de slice) para evitar la humedad. Caja, que ha de proteger de la suciedad, motivo por el cual suele traer algn filtro de aire.

Componentes y funcionamiento de un disco duro

CabezalesSon loscomponentes del disco duroms sensibles y los principales componentes mviles del disco.Los cabezales funcionan variando la posicin dentro del disco duro para poder acceder a la informacin que necesitamos. El aumento de la densidad magntica y los sistemas de recuperacin de la seal, hace que en la actualidad, estoscomponentes del disco duronecesiten de un ajuste y programacin de funcionamiento.El sistema de funcionamiento consiste en una bobina de cobre encerrada en un imn (voice coil), que en funcin de la corriente que se le aplique varia su posicin para acceder a la informacin requerida. Esta pieza lleva en la punta las piezas cermicas que son los dispositivos sensibles a los campos magnticos que componen la informacin. Debido a la debilidad de la seal que generan estos campos magnticos, el cabezal dispone de un amplificador de la seal alojado en chasis de las cabezas (head assembly).ElectrnicaTambin llamadaPlacaoPCB, es la parte del disco duro que se encarga del manejo de los distintos tipos decomponentes del disco duroas como de verificar su funcionamiento. Es la parte responsable de la comunicacin con el ordenador, en ella se aloja el bus, y la alimentacin.

Esta placa es en s, un pequeo ordenador compuesto por un microprocesador, memoria ram, los microcontroladores que manejan los perifricos, como el control de posicin, giro del motor y bus de comunicacin.FirmwareEs elcomponente del disco durodesoftwareque configura eldisco duro, y contiene toda la informacin necesaria para poner el disco en marcha, comunicarnos con l, protegerlo e identificarse.

Motor:Tambin llamadospin, es un eje autorrotante alimentado por generadores de trenes de pulsos para mantener una velocidad exacta.

El motor est compuesto generalmente por tres juegos de bobinas contrapuestas, que imprimen el movimiento al eje central que soporta los platos del disco duro.

PlatosSon los elementos rgidos que albergan la pelcula magntica en la que se graban nuestros datos.Pistas o TracksSon anillos concntricos invisibles a lo largo de las cuales se graban los pulsos magnticos. En otras palabras son los renglones del disco.SectoresCada pista se subdivide en sectores; por ejemplo 9 sectores por pista o 15 sectores por pista en discos flexibles DD (doble densidad) y HD (alta densidad) respectivamente.CilindroSe le llama cilindro al conjunto de pistas a las que el sistema operativo puede acceder simultneamente en cada posicin de las cabezas. Si se trata de un disco flexible, cada cilindro consta de dos pistas, una por encima y otra por debajo del disco. En el caso de un disco duro que tenga dos platos, el cilindro consta de 4 pistas. Manejando cilindros se accede a los datos ms rpidamente que manejando pistas individuales, ya que el sistema operativo puede grabar o leer mayor cantidad de informacin sin tener que mover la cabeza.ClusterEs la longitud de la pista tomada como unidad de proceso en cada operacin de lectura o de escritura en el disco, la cual equivale a la longitud de un sector en los discos flexibles o al conjunto de 4 u 8 sectores contiguos en los discos duros.

Interrupciones del BIOSUna interrupcin es una seal de hardware, esta dice al procesador que pare temporalmente lo que est haciendo y que haga alguna otra cosa. Sin interrupciones el procesador tendra que hacer un chequeo constante de eventos externos; con interrupciones el procesador puede trabajar sobre alguna otra cosa y responder a un evento tan pronto como este ocurra.Una interrupcin se convierte en una interrupcin de hardware cuando es solicitada por uno de los componentes de hardware del equipo. En efecto, existen varios perifricos en un equipo. Estos perifricos necesitan generalmente utilizar los recursos del sistema aunque slo sea para comunicarse con el sistema mismo.Cuando un perifrico desea acceder a un recurso, enva un pedido de interrupcin al procesador para llamar su atencin. Los perifricos cuentan con un nmero de interrupcin que se denominaIRQ(Peticiones de Interrupcin). Es como si cada perifrico tirara de un "hilo" que est atado a una campana para sealarle al equipo que desea que le preste atencin.Este "hilo" es, de hecho, una lnea fsica que conecta cada ranura de expansin as como cada interfaz E/S a laplaca madre.INT *->* SERVICIO *->* SUB SERV *->* NOMBRE

Interrupciones de Disco y de Base del Disco00h --> Error de Divisin01h --> Paso a paso02h --> NMI 03h --> Punto de Ruptura04h --> Desbordamiento05h --> BOUND fuera de rango06h --> Coprocesador no disponible07h --> IRQ0 08h --> IRQ1 de teclado09h --> IRQ2 Reservada0Ah --> IRQ3 (COM2)0Bh --> IRQ4 (COM1)0Ch --> IRQ5 Disco Duro0Dh --> IRQ6 disquete0Eh --> IRQ7 (LPT1)

Monitor

10h --> Controlador de video10h --> 00h --> Establecer modo de video10h --> 01h --> Establecer tamao de cursor10h --> 02h --> Establece posicin del cursor10h --> 03h --> Lee la posicin del cursor10h --> 04h --> Lee de la posicin del lpiz ptico10h --> 05h --> Definicin de la pgina de visualizacin activa10h --> 06h --> Inicializacin o desplazamiento de la ventana hacia arriba10h --> 07h --> Inicializacin o desplazamiento de la ventana hacia abajo10h --> 08h --> Leer carcter y atributo10h --> 09h --> Escribe un carcter y su atributo10h --> 0Ah --> Escribe un carcter10h --> 0Bh --> Definicin de la paleta de cuatro colores10h --> 0Ch --> Escritura de un pixel10h --> 0Dh --> Lectura de un pixel10h --> 0Eh --> Escribe un carcter en modo teletipo01h --> 0Fh --> Obtener el modo de video10h --> 10h --> 00h --> Definicin del registro de la paleta10h --> 10h --> 01h --> Especifica color del borde10h --> 10h --> 02h --> Define la paleta y del borde10h --> 10h --> 03h --> bits de parpadeo o intensidad10h --> 10h --> 07h --> Lee un registro de color de borde10h --> 10h --> 08h --> Leer el registro de color del borde10h --> 10h --> 09h --> Lectura de la paleta y del borde10h --> 10h --> 12h --> Definicin del bloque de registros de color10h --> 10h --> 13h --> Definicin del estado de color de la pgina10h --> 10h --> 15h --> Lectura del registro de color10h --> 10h --> 17h --> Lectura del bloque de registros de color10h --> 10h --> 1Ah --> Lectura del estado del color de la pgina10h --> 10h --> 1Bh --> Transforma a valores de la escala de grises10h --> 11h --> 00h --> Carga caracteres del usuario10h --> 11h --> 01h --> Carga del tipo de letra de 8 * 14 de la ROM10h --> 11h --> 02h --> Carga del tipo de letra de 8 * 8 de la ROM10h --> 11h --> 03h --> Definicin del bloque especificado10h --> 11h --> 04h --> Carga del tipo de letra de 8 * 1610h --> 11h --> 20h --> Definicin del puntero de tipos de interrupcin 1Fh10h --> 11h --> 21h --> Preparacin de la interrupcin 43h para los tipos de usuario10h --> 11h --> 22h --> Preparacin de la interrupcin 43h para los tipos de 8 * 14 de la ROM10h --> 11h --> 23h --> Preparacin de la interrupcin 43h para los tipos de 8 * 8 de la ROM10h --> 11h --> 24h --> Preparacin de la interrupcin 43h para los tipos de 8 * 16 de la ROM10h --> 11h --> 30h --> Obtener informacin del generador de carcter10h --> 12h --> 10h --> Devuelve Informacin sobre configuracin del video10h --> 12h --> 20h --> Seleccin de impresin de pantalla alternativa10h --> 12h --> 30h --> Definicin de lneas de barrido10h --> 13h --> Escritura de una cadena de caracteres10h --> 1Ah --> Lee/escribe cdigo de combinacin de visualizacin10h --> 1Bh --> Devolver operatividad/informacin de estado10h --> 1Ch --> Salvaguarda o recuperacin del estado de video

Configuracin de PC

11h --> Lee la configuracin del equipo

Lectura y escritura:

12h --> Tamao convencional de memoria

Discos Duros y Floppys

13h --> Controlador de disco13h --> 00h --> Reinicializacin del sistema de disco.13h --> 01h --> Obtener estado del sistema de disco13h --> 02h --> Lectura del sector13h --> 03h --> Escritura del sector13h --> 04h --> Verificacin del sector13h --> 05h --> Formateo de pista13h --> 06h --> Formateo de pista defectuosa13h --> 07h --> Formateo de una unidad de disco.13h --> 08h --> Obtener parmetros de la unidad13h --> 09h --> Inicializacin las tablas de parmetros del disco duro13h --> 0Ah --> Lectura larga (todo el sector)13h --> 0Bh --> Escritura largo (todo el sector)13h --> 0Ch --> Buscar un cilindro13h --> 0Dh --> Reinicializacin del sistema de disco duro13h --> 0Eh --> Lectura del registro intermedio del sector13h --> 0Fh --> Escritura del registro intermedio del sector13h --> 10h --> Test para estado de la unidad13h --> 11h --> Recalibrar unidad13h --> 12h --> Diagnstico del controlador de la RAM13h --> 13h --> Diagnstico del controlador de la Unidad13h --> 14h --> Diagnstico interno del controlador13h --> 15h --> Obtener tipo de disco duro13h --> 16h --> Bsqueda del estado de cambio de disco13h --> 17h --> Establecer tipo de disco13h --> 18h --> Establecer tipo de medio para formatear13h --> 19h --> Aparcar cabezas13h --> 1Ah --> Formatear unidad

Comunicaciones

14h --> Controlador del puerto de comunicaciones serie14h --> 00h --> Inicializar el puerto de comunicaciones14h --> 01h --> Envo de un carcter al puerto de comunicaciones14h --> 02h --> Lectura del carcter del puerto de comunicaciones14h --> 03h --> Estado del puerto de comunicaciones14h --> 04h --> Inicializa el puerto de comunicaciones14h --> 05h --> Control del puerto de comunicaciones extendido

Funciones bsicas de entrada y salida

15h --> Extensiones de entrada/salida15h --> 00h --> Encender el motor del casete15h --> 01h --> Apagar el motor del casete15h --> 02h --> Lectura bloques de datos del casete15h --> 03h --> Escribir bloques en el casete15h --> 0Fh --> Interrupcin peridica del formateo de la unidad ESDI15h --> 21h --> 00h --> Lectura de informacin sobre errores detectados en la de arranque (POST)15h --> 21h --> 01h --> Escritura de los errores detectados en la de arranque (POST)15h --> 4Fh --> Intercepcin del teclado15h --> 80h --> Dispositivo abierto15h --> 81h --> Dispositivo cerrado15h --> 82h --> Fin de programa15h --> 83h --> Espera de accin15h --> 84h --> Lectura del mando del Joystick15h --> 85h --> Pulsacin de la Tecla Sys Req15h --> 86h --> Espera durante un intervalo especificado15h --> 87h --> Movimiento de datos en modo protegido15h --> 88h --> Tamao de la memoria extendida15h --> 89h --> Cambio a modo protegido15h --> 90h --> Dispositivo ocupado15h --> 91h --> Prueba tras arranque del dispositivo (POST)15h --> C0h --> Identificacin del equipo15h --> C1h --> Obtener el segmento de datos del BIOS extendido15h --> C2h --> 00h --> Activa/desactiva el dispositivo puntero15h --> C2h --> 01h --> Reinicializacin del dispositivo puntero15h --> C2h --> 02h --> Establece ratio de prueba del dispositivo apuntador15h --> C2h --> 03h --> Definicin de la resolucin del apuntador15h --> C2h --> 04h --> Tipo de dispositivo apuntador15h --> C2h --> 05h --> Inicializacin del dispositivo puntero15h --> C2h --> 06h --> Definicin de la escala o bsqueda del estado15h --> C2h --> 07h --> Definicin de la direccin del programa de tratamiento del dispositivo puntero15h --> C3h --> Definicin del tiempo de espera15h -->C4h-->Seleccin de la opcin programable

Teclado

16h --> Controlador del teclado16h --> 00h --> Lee carcter desde el teclado16h --> 01h --> Informa si hay carcter preparado16h --> 02h --> Bsqueda de las marcas del teclado16h --> 03h --> Retardo de repeticin16h --> 04h --> Definicin de la pulsacin del teclado16h --> 05h --> Escribir en el buffer del teclado16h --> 10h --> Lectura del carcter extendido16h --> 11h --> Bsqueda del estado del teclado expandido16h --> 12h --> Bsqueda de las marcas del teclado expandido

Impresora

17h --> Controlador del puerto paralelo de impresora17h --> 00h --> Envo del carcter a la impresora17h --> 01h --> Inicializar impresora17h --> 02h --> Obtener estado de la impresora

Reinicializacin del sistema reebot

19h --> Reebot del sistema

Controlador del tiempo

1Ah --> Controlador del reloj de tiempo real (CMOS)1Ah --> 00h --> Leer el reloj en tiempo real1Ah --> 01h --> Establecer el reloj en tiempo real1Ah --> 02h --> Leer la hora1Ah --> 03h --> Establecer la hora1Ah --> 04h --> Obtener fecha1Ah --> 05h --> Fijar fecha1Ah --> 06h --> Establecer la alarma1Ah --> 07h --> Desactivar la alarma1Ah --> 0Ah --> Leer contador de das1Ah --> 0Bh --> Establecer contador de das1Ah --> 80h --> Sonido

Programa Ejemplo 1#include #include void cabecera(), listar_tsr(), obtener_item();void main (int argc, char *argv[]){ int entrada, /* para rastrear entradas de INT 0x2F */ vect=0, /* a 1 si se detecta parmetro /V */ primera_vez=1, /* a 0 cuando no lo sea */ raro=0; /* a 1 si detectado TSR no del convenio */ char tsr_raro[64]; /* flags de TSRs que no respetan el convenio */ if ((argc>1) && (!strcmp(strupr(argv[1]),"/V"))) vect=1; printf("\nTSRLIST 1.3 (c) Febrero 1994 CiriSOFT.\n"); printf(" Listado de tareas residentes normalizadas:\n\n"); for (entrada=0xc0; entrada4); mx=0xBF; /* compensar incremento posterior */ } } if (mx==0xFF) posible=0; else mx++; } } *interrupcion = vector; *tsrnombre = tsr->autor_nom_ver; if (strstr(*tsrnombre, "HBREAK")!=NULL) { posible=0; *interrupcion=0x101; } if (strstr(*tsrnombre, "2MGUI")!=NULL) { posible=0; *interrupcion=0x102; } if (posible) { for (i=0; ivectores_id+5*i); sgm = peek(FP_SEG(tsr), tsr->vectores_id+5*i+3); ofs = peek(FP_SEG(tsr), tsr->vectores_id+5*i+1); if ((tablaptr[i][0]==0) && (tablaptr[i][1]==0)) { interr=MK_FP(sgm, ofs); setvect (vector, interr); } else { asm cli poke (tablaptr[i][0], tablaptr[i][1], ofs); poke (tablaptr[i][0], tablaptr[i][1]+2, sgm); asm sti } } switch (tsr->info_extra & 3) { case 0: r.r_es=tsr->segmento_real; r.r_ax=0x4900; intr (0x21, &r); break; case 1: if (existe_xms()) liberar_umb (tsr->segmento_real); break; } } return (posible);}int tsr_convenio (int entrada, struct tsr_info far **info){ struct REGPACK r; r.r_ax=entrada