‘Necesidad’ es un poco exagerado. En el nivel más bajo, una CPU (la mayoría de las modernas, en cualquier caso) que salga del reinicio comenzará a ejecutar código en alguna dirección que es una propiedad inmutable de la CPU en particular. Para que el sistema pueda hacer algo repetible, debe haber algún código asignado en esa dirección. Los diseñadores de la PC de IBM optaron por utilizar una PROM (o EEPROM) para asignar a ese espacio de direcciones, y llamaron al código que contiene un ‘BIOS’, posiblemente basado en el mismo nombre utilizado por una generación anterior de computadoras que ejecutan el CP / M OS. Como había relativamente pocas tecnologías de memoria alternativas en ese momento, la elección era sensata para la época. El código que eligieron incluir proporcionó algunos servicios y propósitos diferentes. Proporcionó un conjunto documentado de servicios del sistema que podrían utilizarse de manera uniforme para acceder al hardware de la computadora y sus periféricos. Cualquier programa podría invocarlos y liberaría al desarrollador del programa de codificar los detalles de bajo nivel para acceder a los recursos de hardware del sistema. También proporciona algunos fragmentos de datos binarios estándar, como la tabla de búsqueda de caracteres de la memoria de video. Proporcionó una verificación general del estado del sistema que se ejecutó automáticamente en el momento del arranque. Finalmente, proporciona la primera capa de arranque para cargar una capa de código progresivamente más capaz en la RAM; esencialmente la primera capa de un cargador de arranque. Tenga en cuenta que todo este código debe estar allí automáticamente incluso después de una pérdida de energía; No es volátil. En las arquitecturas de CPU modernas, se almacena en una memoria no volátil que también se puede escribir; memoria flash. Otras arquitecturas de hardware pueden incluir la parte de arranque del código del sistema en la memoria que está programada permanentemente en la matriz de la CPU, o la memoria flash puede estar estrechamente unida a la CPU de otras maneras. Los sistemas muy antiguos proporcionaban una forma para que un humano programara el código de la dirección de arranque mediante un sistema de conmutadores. No importa cómo lo corte, la CPU ejecutará código en una dirección conocida una vez que se libere la lógica de reinicio, por lo que será mejor que haya un código útil allí. Esa es la respuesta a la ‘necesidad’ de un BIOS.
El BIOS no contiene secciones de memoria que se puedan escribir individualmente, por lo que no hay forma de almacenar cosas que no sean completamente estáticas, como información sobre la configuración de un sistema en particular. Con el fin de preservar los datos algo volátiles en los ciclos de energía, se proporcionó una pequeña sección de memoria que consume muy poca energía. La memoria CMOS era una tecnología nueva en el día, y la memoria estática creada usando la tecnología CMOS podría estar respaldada por batería para proporcionar la memoria de lectura / escritura suficiente para almacenar información vital del sistema, como geometrías de disco, información sobre hardware instalado, etc. Además , el chip que implementó la RAM CMOS respaldada por batería también contenía un reloj de hora del día, para que el sistema pudiera restaurar una configuración de fecha y hora adecuada después del arranque. Hoy en día, los sistemas operativos usan cosas como el Protocolo de tiempo de red para adquirir y sincronizar la información de hora y fecha de los servidores de tiempo maestro, pero el reloj CMOS es anterior a la disponibilidad de dicho protocolo. Las arquitecturas que no son de PC pueden o no proporcionar una funcionalidad similar, naturalmente dependiendo del caso de uso, los costos, etc.
- ¿Puede agregar otro disco duro en su computadora sin instalar otro software (solo para expandir el almacenamiento de la PC)? En caso afirmativo, ¿funcionará con SATA y HDD?
- ¿Las computadoras nos están convirtiendo en máquinas?
- ¿Qué consejo darías al construir una computadora desde cero?
- ¿Cómo calificaría las marcas de portátiles de mejor a peor?
- Tengo un presupuesto de $ 800 y quiero comprar una computadora portátil para programar / codificar. ¿Cuáles son tus consejos?