« ネット古本屋・古書店 | トップページ | ABS警告灯点灯修理二回目のその後 »

2007年3月30日 (金)

たまにはBIOSの話でも

本家ホームページには、BIOSエンジニアの仕事をやっていると書いていますが、そういえば、全然、BIOS関係の話を書いていませんでした。

まずは、BIOSって何?という所からいきますか。

まず、BIOS自体知らない人が多いですが、そういう人に自分の仕事の説明をする時は、「Windowsが起動する前のメーカーのロゴが出る部分を作ってます。」と大雑把に説明してます。

ちょっと知ってる人なら、「各デバイス(CPU/Memory/Video/HDD/FDD)の初期化をして、それらデバイスの違いを吸収し、業界標準のインターフェースを提供して、OSが起動できるようにする。」かな。でも、これで理解するような人は元々知っている事が多いですね。

面倒な時は、「プログラマーです」かな。それでも「SEですか?」なんて聞かれると、どう説明したらよいのか・・・ちょっと大げさに「パソコンの大事な部品を作ってます」なんて言う事も。

Windowsのアプリケーションならちょっとは説明しやすだろうと思います。BIOSは裏方さんなので、目立ちませぬ。例に出せるのが、さっきも挙げた、起動時のメーカーロゴぐらい。

そんな説明に困るようなBIOSも無けりゃWindowsを立ち上げる事さえ出来なくなる程、重要なプログラムです。最初は64KBに十分に収まるサイズだったのが、最新のBIOSでは、2MBにまで膨れ上がる場合もあります。

なんでこんなに膨れ上がったのか・・・主に、様々なデバイスへの対応で膨れ上がりました。まぁ、起動ロゴの表示などユーザーインターフェースも増えたのも一因です。

他には、オプションの機能の追加削除をしやすくするために冗長なコードになっているのもあります。

USB Memoryでは1GBを超える容量が当たり前になっていますが、未だにBIOSの世界では、ROMの部品の値段を下げるために、BIOSのサイズを小さくする圧力が大きいですね。
ノートPCはまだしも、デスクトップPCの場合は余計にそうです。512KBから1MBのROMに切り替える時も相当抵抗がありました。

そういう事で、アセンブラでより小さいコードを書く事がBIOSエンジニアとして必要なスキルでしたが、それもそろそろ必須ではなくなってきます。そうEFIの登場です。

EFIとは、Extensible Firmware Interfaceの略。コンセプトは、ドライバモデル。そしてC++でソースを書くようになります。アセンブラは極一部のみです。

コンパイラが吐くコードは、アセンブラで人間が書いたコードより大きくなるのは必然。EFIに対応したBIOSは平気で2MBのROMを要求してきます。
そして、EFIへの移行は時代の流れ(とされている)なので、PCメーカーといえども、それにあわせてより大容量のROMに切り替えざるを得ません。

まぁ、アセンブラ大好き人間としては、ちょっと複雑な気分ですが、新しいプラットフォームの立ち上げでもあるので、面白いです。

さて、そのEFIの対応機の発売ですが、既に、AppleのIntel CPUマックがEFIに対応しています。まぁ、過去のしがらみがないので、こんなに早く出すことが出来たのですが、他のPCメーカーは大変です。

なまじ、過去の遺産があるので、互換性の維持、OS/アプリケーションの対応、使い慣れた開発・評価ツールの変更、等、問題が山積です。

ということで、スムーズに行って、2009年に最初の機種がでるんじゃないかなぁ、なんて思ってます。

長くなったので、とりあえず、今日はこれまで。

|

« ネット古本屋・古書店 | トップページ | ABS警告灯点灯修理二回目のその後 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: たまにはBIOSの話でも:

« ネット古本屋・古書店 | トップページ | ABS警告灯点灯修理二回目のその後 »