Un sistema operativo es un programa cuyo objetivo es el control del hardware y brindar una máquina extendida comprendiendo drivers y rutinas especificas para los dispositivos de entrada y salida, la cual pueden ser llamadas por un programa de aplicación. Con esto se puede decir que el BIOS es un sistema operativo que reside en la memoria no valatil del PC de manera que cuando se inicia el sistema, el valor iniciado por el registro Contador de programa es el comienzo del bios o una dirección cuyo salto será donde se encuentra el código del bios.
El BIOS además de ejecutar el POST tiene funciones específicas de control del hardware y de los diferentes dispositivos E/S, de manera de dar una interfaz estandarizada y desligarse de las diferencias entre los dispositivos de cada fabricante. Y de esta manera poder inicializar a cada uno correctamente para luego cargar en la memoria el Bootloader y darle inicio.
Mi pregunta es, los desarrolladores del BIOS, como American Megatrens o Phoenix cuando crean las rutinas del BIOS ¿estos desarrollan una rutina específica en la cual los desarrolladores de dispositivos como, discos duros, deben acomodarse sus intergaces y controladores en función del controlador de la bios? o ¿cómo sería?
Por ejemplo, el siguiente fragmento es la primera parte de POST (power on selft test) de AMIBIOS POST, de 1995.
En la dirección D1h está la inicialización del controlador DMA (controlador de memoria ram). Entonces, ¿los fabricantes de memoria ram como Kingston, deben desarrollar sus placas en función a que respondan al controlador que trae la bios? o ¿los desarrolladores de la bios deben crea el controlador DMA en función de las placas? este último me parece dificil ya que tendrían que crear un código específico para cada fabricante, porque ya conocen como es el mercado cada fabricante quiere desligarse y hacer lo suyo. Y recuerden que la bios reside en memoria no volatil y no puede cargar un controlador porque todabía no inició la ram, entonces el controlador que inicie la ram debe ser parte del código del bios.
No sé si entienden mi dudilla.
El BIOS además de ejecutar el POST tiene funciones específicas de control del hardware y de los diferentes dispositivos E/S, de manera de dar una interfaz estandarizada y desligarse de las diferencias entre los dispositivos de cada fabricante. Y de esta manera poder inicializar a cada uno correctamente para luego cargar en la memoria el Bootloader y darle inicio.
Mi pregunta es, los desarrolladores del BIOS, como American Megatrens o Phoenix cuando crean las rutinas del BIOS ¿estos desarrollan una rutina específica en la cual los desarrolladores de dispositivos como, discos duros, deben acomodarse sus intergaces y controladores en función del controlador de la bios? o ¿cómo sería?
Por ejemplo, el siguiente fragmento es la primera parte de POST (power on selft test) de AMIBIOS POST, de 1995.
D0h The NMI is disabled. Power on delay is starting. Next, the initialization code checksum will be verified.
D1h Initializing the DMA controller, performing the keyboard controller BAT test, starting memory refresh, and entering 4 GB flat mode next. D3h Starting memory sizing next.
D4h Returning to real mode. Executing any OEM patches and setting the stack next.
D5h Passing control to the uncompressed code in shadow RAM at E000:0000h.The initialization code is copied to segment 0 and control will be transferred to segment 0.
D6h Control is in segment 0. Next, checking if <Ctrl> <Home> was pressed and verifying the system BIOS checksum. If either <Ctrl> <Home> was pressed or the system BIOS checksum is bad, next will go to checkpoint code E0h. Otherwise, going to checkpoint code D7h.
En la dirección D1h está la inicialización del controlador DMA (controlador de memoria ram). Entonces, ¿los fabricantes de memoria ram como Kingston, deben desarrollar sus placas en función a que respondan al controlador que trae la bios? o ¿los desarrolladores de la bios deben crea el controlador DMA en función de las placas? este último me parece dificil ya que tendrían que crear un código específico para cada fabricante, porque ya conocen como es el mercado cada fabricante quiere desligarse y hacer lo suyo. Y recuerden que la bios reside en memoria no volatil y no puede cargar un controlador porque todabía no inició la ram, entonces el controlador que inicie la ram debe ser parte del código del bios.
No sé si entienden mi dudilla.