僕の職歴1

なんとなく書きはじめてみます。ところどころごまかしてあるのは、守秘義務らしきものを回避しています。たぶんこのレベルなら大丈夫かな?

某社に入社したのは2001年ぐらいでしょうか。そのころ社内のプロジェクトでx86を組込みシステムに使おうとしていました。で、僕が新人時代に担当したのは

  • BIOS
  • 某Option BIOS
  • bootloader

と起動まわりでした。(その当時僕はもー本当にRuby厨で、C言語まともに書いたことなし、アセンブラもさっぱりな状況でした。よくソフト部門配属になったもんです。)

とりあえずまずはじめに某オープソースプロジェクトのbootloaderをパクって某社要求を満たすような機能をみようみまねで実装しはじめました。で、おそらく皆さんハマると思うreal modeとprotect modeの移行やその逆でのバグに当然悩まされることになりました。何年かまともに動作していたように見えたのですが、潜在バグが上記移行コードに潜んでいて、某Iさんに多大なるご迷惑をかけました。。。すいません。

その後、当該のbootloaderを組込みストレージから起動するためにOption BIOSを書きました。当然full real modeで某ASICのデバドラを書く工数も頭もないので、先輩KさんにC言語で書いてもらったアルゴをごにょごにょっとしてOption BIOS化しました。あの頃の僕の頭の中にはメモリマップドI/Oでデバイスというモノが全く思い描けてませんでした。(今もデバドラをイチから書いたことはないのですが。。。ヘタレです。。。)

bootloaderがそこそこ軌道にのった後は、機種毎抽象化のためのしくみを作った後は特になんもしてないです。機種を担当していただいている方々に毎度毎度多大なるご迷惑をかけている毎日です。

あ、そうそう。bootloaderでもう一つ面白い話題があって、某公開鍵暗号をbootloaderに組み込んだことがありました。某オープンソースプロジェクトからコードをパチってdecryptだけをねじこんだような思い出があります。でも、このイカレた試みはもう実機には搭載されていません。。。ちょっと残念ではあります。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中