De Wikipedia, la enciclopedia libre
  (Redirigido desde las llamadas de interrupción del BIOS )
Saltar a navegación Saltar a búsqueda

Las llamadas de interrupción del BIOS son una función que utilizan los sistemas operativos y los programas de aplicación para invocar las funciones del software del sistema básico de entrada / salida en computadoras compatibles con IBM PC . Tradicionalmente, las llamadas al BIOS son utilizadas principalmente por programas de DOS y algún otro software como los cargadores de arranque (incluido, en su mayoría históricamente, software de aplicación relativamente simple que arranca directamente y se ejecuta sin un sistema operativo, especialmente software de juegos). El BIOS se ejecuta en el modo de dirección real (modo real)de la CPU x86, por lo que los programas que llaman al BIOS también deben ejecutarse en modo real o deben cambiar del modo protegido al modo real antes de llamar al BIOS y luego volver a cambiar. Por esta razón, los sistemas operativos modernos que usan la CPU en modo protegido o modo largo generalmente no usan las llamadas de interrupción del BIOS para admitir funciones del sistema, aunque usan las llamadas de interrupción del BIOS para sondear e inicializar el hardware durante el arranque . [1] El modo real tiene una limitación de memoria de 1 MB, los cargadores de arranque modernos (por ejemplo , GRUB2 , Administrador de arranque de Windows ) utilizan el modo irreal o el modo protegido(y ejecute las llamadas de interrupción del BIOS en el modo Virtual 8086 , pero solo para el arranque del sistema operativo) para acceder a hasta 4 GB de memoria. [2]

En todas las computadoras, las instrucciones del software controlan el hardware físico (pantalla, disco, teclado, etc.) desde el momento en que se enciende. En una PC, el BIOS, precargado en la ROM de la placa base, toma el control inmediatamente después de que se reinicia la CPU, incluso durante el encendido, cuando se presiona un botón de reinicio del hardware o cuando se produce una falla crítica del software (una falla triple ) hace que los circuitos de la placa base activen automáticamente un reinicio del hardware. El BIOS prueba el hardware e inicializa su estado; encuentra, carga y ejecuta el programa de arranque (normalmente, un cargador de arranque del sistema operativo y ROM BASIC histórico); y proporciona control de hardware básico para el software que se ejecuta en la máquina, que generalmente es un sistema operativo (con programas de aplicación) pero puede ser una aplicación de software única que se inicia directamente.

Por parte de IBM, proporcionaron toda la información necesaria para usar su BIOS por completo o para utilizar directamente el hardware y evitar el BIOS por completo, al programar los primeros modelos de PC de IBM (antes de la PS / 2). Desde el principio, los programadores tenían la opción de usar BIOS o no, según el hardware y el periférico. IBM fomentó firmemente la autoría de programas de "buen comportamiento" que accedían al hardware solo a través de llamadas BIOS INT (y llamadas de servicio DOS), para admitir la compatibilidad del software con modelos de PC actuales y futuros que tengan hardware periférico diferente, pero IBM entendió que para algunos desarrolladores de software y clientes de hardware, la capacidad del software de usuario para controlar directamente el hardware era un requisito. En parte,esto se debió a que los servicios del BIOS no expusieron un subconjunto significativo de todas las características y funciones del hardware. Para dos ejemplos (entre muchos), los adaptadores MDA y CGA son capaces de desplazarse por el hardware, y el adaptador serie de PC es capaz de transferir datos mediante interrupciones, pero el BIOS de IBM no admite ninguna de estas útiles funciones técnicas.

Hoy en día, el BIOS en una PC nueva todavía admite la mayoría, si no todas, las llamadas a la función de interrupción del BIOS definidas por IBM para IBM AT (introducidas en 1984), junto con muchas más nuevas, además de extensiones para algunas de las originales ( por ejemplo, rangos de parámetros ampliados) promulgados por otras organizaciones y grupos industriales colaborativos. Esto, combinado con un grado similar de compatibilidad de hardware, significa que la mayoría de los programas escritos para un IBM AT aún pueden ejecutarse correctamente en una nueva PC hoy, asumiendo que la velocidad de ejecución más rápida es aceptable (lo que generalmente es para todos los juegos que usan Temporización basada en CPU). A pesar de las considerables limitaciones de los servicios a los que se accede a través de las interrupciones del BIOS, han demostrado ser extremadamente útiles y duraderos ante los cambios tecnológicos.

Propósito de las llamadas al BIOS [ editar ]

Las llamadas de interrupción del BIOS realizan funciones de control de hardware o de E / S solicitadas por un programa, devuelven información del sistema al programa o ambas cosas. Un elemento clave del propósito de las llamadas al BIOS es la abstracción: las llamadas al BIOS realizan funciones generalmente definidas, y los detalles específicos de cómo se ejecutan esas funciones en el hardware particular del sistema se encapsulan en el BIOS y se ocultan del programa. Entonces, por ejemplo, un programa que quiere leer desde un disco duro no necesita saber si el disco duro es una unidad ATA , SCSI o SATA (o en días anteriores, una unidad ESDI , o una unidad MFM o RLL con quizás un Seagate ST-506controlador, tal vez uno de los varios Western Digitaltipos de controlador, o con un controlador propietario diferente de otra marca). El programa solo necesita identificar el número definido por la BIOS de la unidad a la que desea acceder y la dirección del sector que necesita leer o escribir, y la BIOS se encargará de traducir esta solicitud general en la secuencia específica de operaciones elementales requeridas. para completar la tarea a través del hardware del controlador de disco particular que está conectado a esa unidad. El programa se libera de la necesidad de saber cómo controlar a bajo nivel cada tipo de disco duro (o adaptador de pantalla, o interfaz de puerto, o periférico de reloj en tiempo real) al que pueda necesitar acceder. Esto hace que la programación de sistemas operativos y aplicaciones sea más fácil y hace que los programas sean más pequeños, reduciendo la duplicación del código del programa.ya que la funcionalidad que se incluye en el BIOS no necesita estar incluida en todos los programas que la necesitan; En su lugar, los programas incluyen llamadas relativamente cortas al BIOS. (En los sistemas operativos donde no se usa el BIOS, las llamadas de servicio proporcionadas por el sistema operativo en sí generalmente cumplen la misma función y propósito).

El BIOS también libera a los diseñadores de hardware de computadora (en la medida en que los programas están escritos para usar el BIOS exclusivamente) de estar limitados a mantener una compatibilidad exacta de hardware con sistemas antiguos al diseñar nuevos sistemas, a fin de mantener la compatibilidad con el software existente. Por ejemplo, el hardware del teclado en IBM PCjr funciona de manera muy diferente al hardware del teclado en los modelos anteriores de PC IBM, pero para los programas que usan el teclado solo a través del BIOS, esta diferencia es casi invisible. (Como un buen ejemplo de la otra cara de este problema, una parte significativa de los programas de PC en uso en el momento en que se introdujo el PCjr no usaba el teclado a través del BIOS exclusivamente, por lo que IBM también incluyó características de hardware en el PCjr para emular el software. manera que el IBM PC original yEl hardware del teclado IBM PC XT funciona. La emulación de hardware no es exacta, por lo que no todos los programas que intentan usar el hardware del teclado directamente funcionarán correctamente en la PCjr, pero sí lo harán todos los programas que solo utilicen los servicios del teclado del BIOS).

Además de dar acceso a las instalaciones de hardware, BIOS proporciona instalaciones adicionales que se implementan en el software de BIOS. Por ejemplo, el BIOS mantiene posiciones de cursor separadas para hasta ocho páginas de visualización de texto y proporciona una salida similar a TTY con ajuste de línea automático e interpretación de caracteres de control básicos como retorno de carro y salto de línea, mientras que el hardware de visualización de texto compatible con CGA tiene solo un cursor de pantalla global y no puede avanzar automáticamente el cursor, use la posición del cursor para direccionar la memoria de pantalla (para determinar qué celda de carácter se cambiará o examinará), o interprete los caracteres de control. Para otro ejemplo, la interfaz del teclado del BIOS interpreta muchas pulsaciones y combinaciones de teclas para realizar un seguimiento de los distintos estados de cambio (izquierda y derechaShift , Ctrl y Alt ), para llamar al servicio de pantalla de impresión cuando se presiona Shift + PrtScrn , para reiniciar el sistema cuando Ctrl + Alt + Suprse presiona, para realizar un seguimiento de los estados de bloqueo (Bloq Mayús, Bloq Num y Bloqueo de Desplazamiento) y, en máquinas de clase AT, controlar las luces indicadoras de estado de bloqueo correspondientes en el teclado, y para realizar otras funciones interpretativas y de administración similares para el teclado. Por el contrario, las capacidades ordinarias del hardware de teclado estándar de PC y PC-AT se limitan a informar al sistema cada evento primitivo de una tecla individual que se presiona o suelta (es decir, hacer una transición del estado "liberado" al estado "presionado") estado o viceversa), realizando un reinicio ordenado y una autoprueba de la unidad de teclado y, para teclados de clase AT, ejecutando un comando desde el sistema host para establecer los estados absolutos de los indicadores de estado de bloqueo (LED).

Llamar al BIOS: el software del BIOS se interrumpe [ editar ]

Los sistemas operativos y otro software se comunican con el software BIOS para controlar el hardware instalado a través de interrupciones del software. Una interrupción de software es una variedad específica del concepto general de una interrupción. Una interrupción es un mecanismo mediante el cual se puede indicar a la CPU que deje de ejecutar el programa de la línea principal y ejecute inmediatamente un programa especial, llamado Rutina de servicio de interrupción (ISR). Una vez que finaliza el ISR, la CPU continúa con el programa principal. En las CPU x86, cuando ocurre una interrupción, el ISR a llamar se encuentra buscándolo en una tabla de direcciones de punto de inicio ISR (llamados "vectores de interrupción") en la memoria: la Tabla de vectores de interrupción (IVT). Una interrupción se invoca por su número de tipo, de 0 a 255, y el número de tipo se utiliza como índice en la Tabla de vectores de interrupción,y en ese índice de la tabla se encuentra la dirección del ISR que se ejecutará en respuesta a la interrupción. Una interrupción de software es simplemente una interrupción que se activa mediante un comando de software; por lo tanto, las interrupciones de software funcionan como subrutinas, con la principal diferencia de que el programa que realiza una llamada de interrupción de software no necesita conocer la dirección del ISR, solo su número de interrupción. Esto tiene ventajas de modularidad, compatibilidad y flexibilidad en la configuración del sistema.sólo su número de interrupción. Esto tiene ventajas de modularidad, compatibilidad y flexibilidad en la configuración del sistema.sólo su número de interrupción. Esto tiene ventajas de modularidad, compatibilidad y flexibilidad en la configuración del sistema.

Las llamadas de interrupción del BIOS se pueden considerar como un mecanismo para pasar mensajes entre el BIOS y el software cliente del BIOS, como un sistema operativo. Los mensajes solicitan datos o acciones del BIOS y devuelven los datos solicitados, la información de estado y / o el producto de la acción solicitada a la persona que llama. Los mensajes se dividen en categorías, cada una con su propio número de interrupción, y la mayoría de las categorías contienen subcategorías, llamadas "funciones" e identificadas por "números de función". Un cliente de BIOS pasa la mayor parte de la información al BIOS en los registros de la CPU y recibe la mayor parte de la información de la misma manera, pero los datos demasiado grandes para caber en los registros, como tablas de parámetros de control o datos del sector del disco para transferencias de disco, se pasan asignando un búfer (es decir, algo de espacio) en la memoria y pasar la dirección del búfer en los registros.(A veces, se pueden pasar varias direcciones de elementos de datos en la memoria en una estructura de datos en la memoria, y la dirección de esa estructura se pasa al BIOS en los registros). El número de interrupción se especifica como el parámetro de la instrucción de interrupción del software (en lenguaje ensamblador Intel , una instrucción "INT"), y el número de función se especifica en el registro AH; es decir, la persona que llama configura el registro AH en el número de la función deseada. En general, los servicios de BIOS correspondientes a cada número de interrupción operan independientemente entre sí, pero las funciones dentro de un servicio de interrupción son manejadas por el mismo programa de BIOS y no son independientes. (Este último punto es relevante para) El número de interrupción se especifica como el parámetro de la instrucción de interrupción de software (en lenguaje ensamblador Intel, una instrucción "INT"), y el número de función se especifica en el registro AH; es decir, la persona que llama configura el registro AH en el número de la función deseada. En general, los servicios de BIOS correspondientes a cada número de interrupción operan independientemente entre sí, pero las funciones dentro de un servicio de interrupción son manejadas por el mismo programa de BIOS y no son independientes. (Este último punto es relevante para) El número de interrupción se especifica como el parámetro de la instrucción de interrupción de software (en lenguaje ensamblador Intel, una instrucción "INT"), y el número de función se especifica en el registro AH; es decir, la persona que llama configura el registro AH en el número de la función deseada. En general, los servicios de BIOS correspondientes a cada número de interrupción operan independientemente entre sí, pero las funciones dentro de un servicio de interrupción son manejadas por el mismo programa de BIOS y no son independientes. (Este último punto es relevante paralos servicios de BIOS correspondientes a cada número de interrupción operan independientemente entre sí, pero las funciones dentro de un servicio de interrupción son manejadas por el mismo programa de BIOS y no son independientes. (Este último punto es relevante paralos servicios de BIOS correspondientes a cada número de interrupción operan independientemente entre sí, pero las funciones dentro de un servicio de interrupción son manejadas por el mismo programa de BIOS y no son independientes. (Este último punto es relevante parareentrada .)

El software BIOS generalmente regresa a la persona que llama con un código de error si no tiene éxito, o con un código de estado y / o datos solicitados si tiene éxito. Los datos en sí pueden ser tan pequeños como un bit o tan grandes como 65.536 bytes de sectores de disco en bruto completos (el máximo que cabe en un segmento de memoria en modo real). El BIOS ha sido ampliado y mejorado a lo largo de los años muchas veces por muchas entidades corporativas diferentes y, desafortunadamente, el resultado de esta evolución es que no todas las funciones del BIOS que se pueden llamar utilizan convenciones consistentes para formatear y comunicar datos o para informar resultados. Algunas funciones del BIOS reportan información de estado detallada, mientras que otras pueden ni siquiera reportar éxito o falla, sino que simplemente regresan silenciosamente, dejando que la persona que llama asuma el éxito (o para probar el resultado de alguna otra manera).A veces, también puede ser difícil determinar si una determinada llamada de función del BIOS es compatible con el BIOS en una computadora determinada, o cuáles son los límites de los parámetros de una llamada en esa computadora. (Para algunos números de función no válidos, o números de función válidos con valores no válidos de parámetros clave, particularmente con una versión anterior de BIOS de IBM, el BIOS puede no hacer nada y regresar sin código de error; entonces es responsabilidad [inconveniente pero inevitable] del persona que llama, ya sea para evitar este caso al no hacer tales llamadas, o para probar positivamente el efecto esperado de la llamada en lugar de asumir que la llamada fue efectiva. Debido a que BIOS ha evolucionado ampliamente en muchos pasos a lo largo de su historia,una función que es válida en una versión de BIOS de algún proveedor determinado puede no ser válida en una versión de BIOS anterior o divergente del mismo proveedor o en una versión de BIOS, de cualquier antigüedad relativa, de un proveedor diferente).

Debido a que las llamadas de interrupción del BIOS utilizan el paso de parámetros basado en el registro de la CPU, las llamadas están orientadas a realizarse desde lenguaje ensamblador y no pueden realizarse directamente desde la mayoría de los lenguajes de alto nivel (HLL). Sin embargo, un lenguaje de alto nivel puede proporcionar una biblioteca de rutinas contenedoras que traducen los parámetros del formulario (generalmente basado en pila) utilizado por el lenguaje de alto nivel al formulario basado en registros requerido por BIOS, y luego de regreso a la convención de llamadas HLL después el BIOS regresa. En algunas variantes de C, las llamadas al BIOS se pueden realizar utilizando lenguaje ensamblador en línea dentro de un módulo C. (El soporte para el lenguaje ensamblador en línea no es parte del estándar ANSI C, pero es una extensión del lenguaje; por lo tanto, los módulos C que usan el lenguaje ensamblador en línea son menos portátiles que los módulos C del estándar ANSI puro).

Invocar una interrupción [ editar ]

Se puede invocar una interrupción utilizando la instrucción en lenguaje ensamblador INT x86 . Por ejemplo, para imprimir un carácter en la pantalla usando la interrupción del BIOS 0x10, se podrían ejecutar las siguientes instrucciones en lenguaje ensamblador x86:

 mov  ah ,  0x0e  ; número de función = 0Eh: Mostrar carácter  mov  al ,  '!'  ; AL = código de carácter a mostrar  int  0x10  ; llamar a INT 10h, servicio de video BIOS

Interrumpir tabla [ editar ]

A continuación, se puede encontrar una lista de clases de interrupciones de BIOS comunes. Tenga en cuenta que algunas BIOS (particularmente las antiguas) no implementan todas estas clases de interrupciones.

El BIOS también usa algunas interrupciones para transmitir las interrupciones de eventos de hardware a los programas que eligen recibirlas o enrutar mensajes para su propio uso. La siguiente tabla incluye solo aquellas interrupciones de BIOS que están destinadas a ser llamadas por programas (usando la instrucción de interrupción de software en lenguaje ensamblador "INT") para solicitar servicios o información.

INT 18h: ejecutar BASIC [ editar ]

INT 18htradicionalmente saltó a una implementación de Cassette BASIC (proporcionada por Microsoft) almacenada en las ROM de opción . Esta llamada normalmente se invoca si el BIOS no puede identificar ningún volumen de disco de arranque durante el inicio.

En el momento en que se lanzó el IBM PC original (tipo de máquina IBM 5150) en 1981, el BASIC en ROM era una característica clave. Las computadoras personales populares contemporáneas como la Commodore 64 y la línea Apple II también tenían Microsoft Cassette BASIC en ROM (aunque Commodore renombró su versión con licencia Commodore BASIC), por lo que en una parte sustancial de su mercado previsto, la IBM PC necesitaba BASIC para competir. Como en esos otros sistemas, el ROM BASIC de IBM PC sirvió como un sistema operativo primitivo sin disco, permitiendo al usuario cargar, guardar y ejecutar programas, así como escribirlos y refinarlos. (El IBM PC original también fue el único modelo de PC de IBM que, al igual que sus dos competidores antes mencionados, incluía hardware de interfaz de casete. Un modelo base de IBM PC tenía solo 16 KiB de RAM y no tenía unidades de disco [ de ningún tipo], por lo que la interfaz de casete y BASIC en ROM eran esenciales para que el modelo base fuera utilizable. Una PC IBM con menos de 32 KiB de RAM no puede arrancar desde el disco. De los cinco chips ROM de 8 KiB en una PC IBM original, por un total de 40 KiB, cuatro contienen BASIC y solo uno contiene el BIOS; cuando solo se instalan 16 KiB de RAM, ROM BASIC representa más de la mitad de la memoria total del sistema [4/7, para ser precisos].)

A medida que pasaba el tiempo y BASIC ya no se distribuía en todas las PC, esta interrupción simplemente mostraba un mensaje de error que indicaba que no se encontró ningún volumen de arranque (conocido como "No ROM BASIC" o mensajes más explicativos en versiones posteriores de BIOS); en otras versiones de BIOS, le pedía al usuario que insertara un volumen de arranque y presione una tecla, y luego, después de que el usuario presionara una tecla, volvería al cargador de arranque (INT 19h) para intentar arrancar de nuevo.

Rainbow 100 B de Digital solía INT 18hllamar a su BIOS, que era incompatible con el BIOS de IBM. Turbo Pascal , Turbo C y Turbo C ++ reutilizaron INT 18 para asignación de memoria y paginación. Otros programas también reutilizaron este vector para sus propios fines.

Ganchos de BIOS [ editar ]

DOS [ editar ]

En sistemas DOS, IO.SYS o IBMBIO.COM engancha INT 13 para la detección de cambios en el disquete, el seguimiento de las llamadas de formato, la corrección de errores de límites de DMA y la solución de problemas en la BIOS ROM de IBM "01/10/84" con el código de modelo 0xFC antes de la primera llamada.

Omitir BIOS [ editar ]

Muchos sistemas operativos modernos (como Linux y Windows NT ) omiten las llamadas de interrupción del BIOS después del inicio, el kernel del sistema operativo cambiará la CPU al modo protegido o al modo largo al inicio, prefiriendo usar sus propios programas (como los controladores del kernel ) para controlar el hardware adjunto directamente. La razón de esto fue principalmente que estos sistemas operativos ejecutan el procesador en modo protegido o en modo largo, mientras que llamar a la llamada de interrupción del BIOS requiere cambiar al modo real o al modo irreal , o usar el modo Virtual 8086. El modo real, el modo irreal y el modo virtual 8086 son lentos. Sin embargo, también existen serias razones de seguridad para no cambiar al modo real, y el código del BIOS del modo real tiene limitaciones tanto en funcionalidad como en velocidad que motivan a los diseñadores de sistemas operativos a encontrar un reemplazo para él. De hecho, las limitaciones de velocidad del BIOS hicieron que fuera común, incluso en la era de DOS, que los programas lo eludieran para evitar sus limitaciones de rendimiento, especialmente para la visualización de gráficos de video y la comunicación en serie rápida. Los problemas con la funcionalidad del BIOS incluyen limitaciones en el rango de funciones definidas, inconsistencia en los subconjuntos de esas funciones admitidas en diferentes computadoras y variaciones en la calidad de los BIOS (es decir, algunos BIOS son completos y confiables, otros son abreviados y con errores).Al tomar el asunto en sus propias manos y evitar la dependencia del BIOS, los desarrolladores de sistemas operativos pueden eliminar algunos de los riesgos y complicaciones que enfrentan al escribir y respaldar el software del sistema. Por otro lado, al hacerlo, esos desarrolladores se vuelven responsables de proporcionar software controlador "básico" para cada sistema o dispositivo periférico diferente con el que pretenden que funcione su sistema operativo (o de inducir a los productores de hardware a proporcionar esos controladores). Por lo tanto, debería ser evidente que los sistemas operativos compactos desarrollados con presupuestos pequeños tenderían a usar la BIOS en gran medida, mientras que los sistemas operativos grandes creados por grandes grupos de ingenieros de software con presupuestos grandes optarían más a menudo por escribir sus propios controladores en lugar de usar BIOS, es decir. , incluso sin considerar los problemas de compatibilidad del BIOS y el modo protegido.Los desarrolladores de sistemas operativos pueden eliminar algunos de los riesgos y complicaciones que enfrentan al escribir y respaldar el software del sistema. Por otro lado, al hacerlo, esos desarrolladores se vuelven responsables de proporcionar software controlador "básico" para cada sistema o dispositivo periférico diferente con el que pretenden que funcione su sistema operativo (o de inducir a los productores de hardware a proporcionar esos controladores). Por lo tanto, debería ser evidente que los sistemas operativos compactos desarrollados con presupuestos pequeños tenderían a usar la BIOS en gran medida, mientras que los sistemas operativos grandes creados por grandes grupos de ingenieros de software con presupuestos grandes optarían más a menudo por escribir sus propios controladores en lugar de usar BIOS, es decir. , incluso sin considerar los problemas de compatibilidad del BIOS y el modo protegido.Los desarrolladores de sistemas operativos pueden eliminar algunos de los riesgos y complicaciones que enfrentan al escribir y respaldar el software del sistema. Por otro lado, al hacerlo, esos desarrolladores se vuelven responsables de proporcionar software controlador "básico" para cada sistema o dispositivo periférico diferente con el que pretenden que funcione su sistema operativo (o de inducir a los productores de hardware a proporcionar esos controladores). Por lo tanto, debería ser evidente que los sistemas operativos compactos desarrollados con presupuestos pequeños tenderían a usar la BIOS en gran medida, mientras que los sistemas operativos grandes creados por grandes grupos de ingenieros de software con presupuestos grandes optarían más a menudo por escribir sus propios controladores en lugar de usar BIOS, es decir. , incluso sin considerar los problemas de compatibilidad del BIOS y el modo protegido.software de controlador "bare-metal" para cada sistema o dispositivo periférico diferente con el que pretenden que funcione su sistema operativo (o para inducir a los productores de hardware a proporcionar esos controladores). Por lo tanto, debería ser evidente que los sistemas operativos compactos desarrollados con presupuestos reducidos tenderían a utilizar la BIOS en gran medida, mientras que los grandes sistemas operativos creados por grandes grupos de ingenieros de software con grandes presupuestos optarían más a menudo por escribir sus propios controladores en lugar de utilizar la BIOS, es decir, incluso sin considerar los problemas de compatibilidad de la BIOS y el modo protegido.software de controlador "bare-metal" para cada sistema o dispositivo periférico diferente con el que pretenden que funcione su sistema operativo (o para inducir a los productores de hardware a proporcionar esos controladores). Por lo tanto, debería ser evidente que los sistemas operativos compactos desarrollados con presupuestos reducidos tenderían a utilizar la BIOS en gran medida, mientras que los grandes sistemas operativos creados por grandes grupos de ingenieros de software con grandes presupuestos optarían más a menudo por escribir sus propios controladores en lugar de utilizar la BIOS, es decir, incluso sin considerar los problemas de compatibilidad de la BIOS y el modo protegido.Por lo tanto, debería ser evidente que los sistemas operativos compactos desarrollados con presupuestos pequeños tenderían a usar la BIOS en gran medida, mientras que los sistemas operativos grandes creados por grandes grupos de ingenieros de software con presupuestos grandes optarían más a menudo por escribir sus propios controladores en lugar de usar BIOS, es decir. , incluso sin considerar los problemas de compatibilidad del BIOS y el modo protegido.Por lo tanto, debería ser evidente que los sistemas operativos compactos desarrollados con presupuestos pequeños tenderían a usar la BIOS en gran medida, mientras que los sistemas operativos grandes creados por grandes grupos de ingenieros de software con presupuestos grandes optarían más a menudo por escribir sus propios controladores en lugar de usar BIOS, es decir. , incluso sin considerar los problemas de compatibilidad del BIOS y el modo protegido.

Ver también [ editar ]

  • Llamada de interrupción de DOS
  • Tabla de descriptores de interrupciones
  • Dirección base de entrada / salida
  • Lista de interrupciones de Ralf Brown

Referencias [ editar ]

  1. ^ "Arranque · Linux Inside" . 0xax.gitbooks.io . Consultado el 10 de noviembre de 2020 .
  2. ^ https://www.slideshare.net/mobile/MikeWang45/grub2-booting-process
  3. ^ * Especificación de arranque del BIOS Versión 1.01 11 de enero de 1996 Apéndice D
  • La lista de interrupciones x86 (también conocida como RBIL, lista de interrupciones de Ralf Brown)
  • Manual del usuario del BIOS integrado
  • Manual del usuario de PhoenixBIOS 4.0
  • IBM Personal System / 2 and Personal Computer BIOS Interface Technical Reference , IBM, 1988, OCLC 20737442 
  • BIOS del sistema para computadoras IBM, compatibles y computadoras EISA , Phoenix Technologies , 1991, ISBN 0201577607 
  • Guía del programador de AMIBIOS , American Megatrends , 1993, ISBN 0070015619 
  • The Programmer's PC Sourcebook por Thom Hogan, Microsoft Press, 1991 ISBN 155615321X