BASIC INPUT-OUTPUT SYSTEM BIOS OMAR ACOSTA PADRÓN CONTENIDO ● Introducción ● Seguridad ● ¿Qué es la BIOS? ● Plug and Play BIOS ● Fabricantes ● Actualizarla ● Aspecto hardware ● ● Aspecto software ● Interrupciones ● Resumen, arranque de un ordenador Visión de futuro ¿Qué es la BIOS? ● ● ● ● ● Conjunto de recursos tanto software como hardware. Controla todo recurso hardware del ordenador en todo momento. Evita al SO conocer las características de cada dispositivo. Es la interface entre el hardware y el SO. Lleva a cabo el correcto arranque del ordenador. FABRICANTES ● Lista de fabricantes de BIOS – ● ● http://support.microsoft.com/kb/243909/es Los principales fabricantes para ordenadores – Phoenix – American Megatrends (AMI BIOS) – Award BIOS – Microid Research Muchas empresas fabrican para sus productos su propia BIOS. FABRICANTES ● Diversos fabricantes hacen BIOS con diferentes configuraciones y prestaciones pero con el mismo objetivos principales. Aspecto Hardware ● ● ● La BIOS está implementada y localizada “principalmente” en la placa base del ordenador. En la placa base encontraremos la ROM BIOS y el CMOS RAM. Otros dispositivos como las tarjetas de video almacenan su propia configuración. BIOS en la placa base, marca Phoenix ROM BIOS, AMI BIOS Otra perspectiva CMOS BIOS ROM BIOS ● Lugar de alojamiento de la parte software principal de la BIOS. – POST – SETUP – BOOTSTRAP LOADER – DRIVERS ROM BIOS ● ● ● ● Read Only Memory, ROM. Son utilizadas para la BIOS una memoria tipo ROM para que no se borren al apagar el ordenador. En la actualidad se usa EEPROM Flash ROM la cual pueden ser modificada por el usuario mediante un programa. Anterior a estas era utilizadas EEPROM pero para ser actualizadas era necesario retirarlas de la placa para reescribirlas. CMOS CHIP ● Guarda la fecha y hora. ● Guarda las configuraciones de la BIOS. CMOS CHIP ● Complementary Metal-Oxide Semiconductor. ● Mal considerado como no volátil. ● Arranca con solo 1 micro amperio. ● Alimentado con una pila. ● Quitarla implica el borrado de las configuraciones y pérdida de la fecha y hora, que son restablecidas con un valor predefinido. CMOS BIOS Y PILA OTROS DISPOSITIVOS ● ● ● Otros dispositivos como son tarjetas de video contienen sus propia memoria. Las configuraciones de estas son cargadas a la ROM BIOS una vez se inicia el PC. Estas también forman parte de la BIOS. Aspecto Software ● POST ● SETUP ● BOOTSTRAP LOADER ● DRIVERS POST Power On Self Test ● ● ● ● Se ejecuta cada vez que se pone en marcha el ordenador. Ejecuta una rutina para testar los elementos del sistema. Avisa mediante una señal sonora si ha encontrado algún error. Cada fabricante tiene su propio código de aviso. Test de elementos ● Comprueba la fuente de alimentación. ● Comprueba la CPU. ● Comprueba la BIOS. ● Comprueba la CMOS. ● Comprueba los accesos a memoria. ● ... Ejemplo de respuestas del POST SETUP ● Es accionado por el usuario mientras se ejecuta el POST pulsando una tecla o combinación de teclas. – AMI BIOS, presionar suprimir. – Phoenix BIOS, presionar F2. – Award BIOS. Delete o control Ctrl+Alt+Esc. – Microid Research, presionar Esc. Características ● Menú principal – Maintenance menu – Main – Advanced – Security – Power – Boot – Exit BOOTSTRAP LOADER (cargador de inicio) ● Se ejecuta tras el POST. ● Carga el SO en memoria y le cede el control. ● Programa ejemplo: – http://www.omninerd.com/articles/PC_Bootstrap _Loader_Programming_Tutorial_in_ASM DRIVERS o CONTROLADORES ● ● ● ● ● También conocidos como Firmware son el código de más bajo nivel. Se encarga de manejar el funcionamiento interno de los dispositivos. Establece una interface con el SO permitiendo el manejo del dispositivo sin necesidad de conocer su estructura interna. Son creados por el fabricante del dispositivo. Existen tantos tipos de controladores como tipo de dispositivos. Interface interna Interrupciones de la BIOS ● ● La demanda tanto de usuario como del sistema operativo y aplicaciones de algún recurso hardware es hecha a través de la BIOS, la cual controla todo el sistema hardware del sistema. Para gestionar la interrupciones la BIOS utiliza una tabla de vectores de interrupción (IDT) y unos programas que atienden a las interrupciones (ISR´s). ISR´s Resumen de servicios de la BIOS ● Servicios a periféricos. ● Servicios de estado del equipo. ● Servicios de hora. ● Servicios adicionales. Lista de interrupciones de la BIOS (IDT) Interrupciones ● ● Diferentes interrupciones son tratadas por diferentes rutinas ISR´s. “traphandler” Esta rutina identifica la interrupción y transmite la petición al controlador del dispositivo. Ejemplo ● Imprimir pon pantalla una string, por ejemplo “hola mundo”. – STRING DB "hola mundo" – – MOV AH,09h – MOV DX, OFFSET STRING – INT 21h ● ● ● Int 21h identifica el tipo de servicio que demanda en este caso un ISR con servicio a un periférico, en concreto la pantalla. Se trata la interrupción (AH,09h) la cual interactua con la interface que establece el controlador de la pantalla para que imprima la cadena. El controlador en base a lo pedido, por ejemplo para de una pantalla de led, enciende los led´s que forman la cadena. ● ● ● Observar. Para el juego de tanques el usuario no enciende las luces led que conforman la animación, ni tampoco el programador. Es invisible al usuario el funcionamiento interno de los dispositivos. Son los controladores (drivers, firmware) los que lo hacen, evitándonos conocer el funcionamiento interno de los dispositivos, y en su caso tener que programarlo también. SEGURIDAD HARWARE ● ¿Qué ocurre si se daña la BIOS? – Si de daña CMOS BIOS ● Reiniciar la CMOS BIOS – – ● Quitar la pila de la BIOS y volverla a poner. Mediante los pines. Si la CMOS es borrada se restablecen las configuraciones predeterminadas. ● ● Cambiar la posición de los pines borra la memoria. Dejar como estaba y reiniciar. – Si se daña la ROM BIOS: ● ● ● ● Normalmente hay que cambiar la placa base. Si tu paca tiene varias BIOS se puede recuperar. El CMOS RAM se puede dañar por conflictos entre dispositivos que no son resueltos con el PnP, pero son de fácil solución. La ROM BIOS puede ser afectada por algún virus, algo poco común, o por una mala actualización. Placa con doble BIOS PLUG AND PLAY BIOS (enchufar y usar) ● ● ● Previene problemas de configuración de dispositivos y proporciona al usuario la capacidad de expandir el PC. Inventado por Intel-Microsoft el 28 de Mayo de 1993. Se unieron varias empresas para obtener un estándar y en 1 de noviembre de 1993 sale la primera versión. PnP BIOS ● ● ● ● La idea principal de plug-and-play (PnP) es que el sistema se haga responsable de la configuración del hardware y software, que se está agregando. Su objetivo, crear PC´s sin jumpers. El sistema chequea los recursos que cada dispositivo de expansión necesita. Coordina las asignaciones para evitar conflictos. Le dice al sistema y software las elecciones que ha hecho. ACTUALIZAR LA BIOS flashing ● ¿Por qué actualizar? – Añadir soporte para nuevos y más rápidos procesadores. – Soportar boot para USB, DVD, ZIP,... – Mejoras del POST (tiempo). – Soporte para Serial ATA, Ultra DMA. – Corrección de calendario. – ... Antes de actualizar ● Buscar software actualizado. – ● ● ● Internet. Comprobar fecha y versión de la BIOS, para no instalar la misma. Obvio. Estar seguro del modelo y marca de la BIOS. También Obvio, pero muy importante. Aconsejado hacer una copia respaldo. – ROM BIOS. – CMOS CHIP. Fecha de la BIOS Respaldo de ROM BIOS ● ● ● ● Una manera de recuperar una ROM BIOS dañada es utilizando un respaldo de la misma. Los datos en la ROM BIOS son guardados en dos segmentos de 64KB. La copia respaldo consiste en copiar los datos de la posición C0000Cffff y D0000DFFFF. Para ello usamos la el comando DEBUG en el DOS. Rutina Respaldo CMOS CHIP ● ● Recordamos que en el CMOS CHIP está la fecha y hora ademas de las configuraciones personales de nuestra BIOS. Podemos hacerlo de varias maneras. – Entrar en el SETUP y utilizar papel y lápiz. – Dentro del SETUP imprimir pantalla con la impresora pulsando la tecla PrtScr. – Guardando las configuraciones en una memoria externa. ACTUALIZAR ● ● ● ● Un fallo en durante el proceso de actualización podría dañar la BIOS. Aconsejado hacer sobre un SO estable y con la batería cargada. Existen varias maneras de actualizar la BIOS – Desde el DOS. – Utilizando un archivo .bat preparado – Usando un .exe y te desentiendes. Lo más actual es el .exe pues te permite hacerlo sin conocimiento de causa, ademas puedes hacer una backup. Resumen. Arranque de un PC. – Alimentación del sistema. – Se busca el programa de arranque en la posición FFFF0h de la ROM BIOS. – Ejecución del POST. – Búsqueda de la tarjeta de video y luego de otros dispositivos (discos duros,...). – Mostrar por pantalla el arranque. – La BIOS realiza test adicionales del sistema, incluido el conteo de memoria. Resumen. Arranque de un PC. – Se realiza un inventario del PC determinando el tipo de hardware y etiquetar los dispositivos lógicos(COM y LTP). – Se ejecuta el PnP mostrando todos los dispositivos en pantalla. – Se lanza el BOOTSTRAP LOADER. – El SO se esta arrancando. En el futuro ● ● La BIOS permanecerá. Existen varios proyectos para mejorar las prestaciones de la BIOS, tanto de código libre como no. ● EFI (Extensible Firmware Interface) ● Proyecto de Intel parar crear un mini-SO ● Mejorar sus prestaciones. – Entorno gráfico. – Alude seguridad, rapidez y flexibilidad. ● El proyecto LinuxBIOS y lleva en marcha desde el 99. Pretende reemplazar las BIOS comerciales tal como las conocemos hoy por una básica y libre con las rutinas mínimas para iniciar el hardware y cargar un sistema operativo. PREGUNTAS ● ¿? ● ¿? ● ...