De un mensaje de Lars Wirzenius
wirzeniu@kruuna.Helsinki.fi
del 9 de Septiembre de 1993,
explicando qué los BogoMIPS, con información detallada adicional de Wim
van Dorst:
``MIPS'' es la abreviatura de ``Millions of Instructions Per
Second
Los BogoMIPS son una invención de Linus. El núcleo (żo era un controlador de dispositivo?) necesita un bucle de temporización (el tiempo es demasiado corto y/o necesita ser demasiado exacto para poder emplear un método de espera no basado en bucles de retardo), que tiene que ser calibrado con la velocidad de procesador de la máquina. Por lo tanto, el núcleo mide durante la secuencia de arranque cómo de rápido se ejecuta en el ordenador un determinado tipo de bucle de retardo. ``Bogo'' viene de ``bogus'', que significa ``algo que es engañoso, incorrecto, falso''. Por consiguiente, el valor de los BogoMIPS da una cierta indicación acerca de la velocidad del procesador, pero de forma escasamente científica como para ser llamado de otra manera más que ``BogoMIPS''.
Las razones (hay dos) por las cuales se muestra durante el arranque son:
Los BogoMIPS están definidos en /usr/src/linux/init/main.c
(un
algoritmo simple en C), y la variable correspondiente del núcleo
loops_per_sec
se usa en varios controladores de dispositivo en
las secciones net
, scsi
y char
. Las verdaderas funciones de
retardo están en ensamblador, y por lo tanto cada plataforma tiene su
propia función en include/asm/delay.h
. Esta variable
loops_per_sec
se usa en varios controladores para los dispositivos
char
, net
y scsi
(ver
find /usr/src/linux -name '*.[hcS] -print -exec fgrep
loops_per_sec {} \;
)