다음 이전 차례

2. 보고밉스란 무엇인가?

밉스(MIPS)는 초당 백만 번의 연산(Millions of Instructions Per Second)의 준말이다. 보통은 프로그램의 수행속도를 측정하는데 쓰인다. 하지만 여러 다른 기준들이 종종 오용되거나 남용되듯이 MIPS역시 종종 잘못 쓰인다. (특히 다른 기종의 시스템을 사용하는 경우에 비교에 문제가 있다.)

보고밉스는 라이너스에 의해 처음 소개되었다. 커널이나 각 디바이스 드라이버에서는 각 프로세서의 속도와 관계없이 일정한 시간을 구할 수 있는 딜레이 루프를 필요로 한다. 커널은 부팅 시에 그러한 루프를 위한 루틴을 수행하게 되고 프로세서의 타이밍을 출력하게 된다. 이것이 보고밉스이다. "보고" 라는 말은 "보거스(가짜)"라는 말로부터 나오게 되었다. 결국 보고밉스는 프로세서의 속도를 보여주는 하나의 수치는 되지만 그 이상도 그 이하도 아닌 너무나도 비과학적인 근거이다. 부팅시에 보고밉스를 나타내는 것은 디버깅 할 때 도움을 주기도 하고, 때론 시스템이 캐쉬를 사용하는지, 터보 스위치가 켜져 있는 지 등의 사소한 정보를 알아내는데 도움이 된다. 하지만 라이너스가 유즈넷에서 당황해 하는 사람들을 보는 재미로 삽입했다는 설도 있다.

-이 내용은 랄쓰 뷔르제니어스(Lars Wirzenius) wirzeniu@kruuna.Helsinki.FI가 1993년 9월 9일에 보내준 메일에 몇 가지 설명을 부가한 것이다.

보고밉스는 /usr/src/linux/init/main.c의 간단한 C 알고리즘에 의해 결정된다. 그리고 커널의 변수인 loops_per_sec에 저장되어 네트워크나 스카시 혹은 여러 가지 잡다한 드라이버에 그 정보를 넘겨준다. 또한 어셈블러로 이루어진 delay 함수 - /include/asm/delay.h에서 찾을 수 있다 - 에서도 loops_per_sec를 이용한다. 참고로 어떤 드라이버에서 사용하는지 알고 싶다면 다음 명령으로 알 수 있다.

find /usr/src/linux -name '*.[hcS]' -print -exec fgrep loops_per_sec {} \;


다음 이전 차례