27日目「LDTって結構重要じゃね?」

 さてさて、さてさて、ついにやってきました27日目。なんかもういかにも終盤って感じです。終わりです。最後です。RPGでいうならレベル40辺りです。RPGといえば、FF12はクリアしたでしょうか? まだでしょうか? まだダルマスカのために世界中を旅してるでしょうか? 帝國にしぶしぶ従っているでしょうか? 飛空挺で大空を飛び回っているでしょうか? そうですか。それはよかったですね。でもなぁ、お前らなぁ、俺の前でFF12の話をするなーーー(って、俺がしてるんだけども)。だってさぁ、だって、俺もやりたいもん。やりたいんだもん。俺もダルマスカ守りたいもん。死守したいもん、ダルマスカ。ちくしょう〜、面白いか? FF12は面白いか、このやろ〜。
 というわけで、最近は特に周りがFF12の話をするたびに、このやろ〜、となる俺ですが、俺が守っているのはダルマスカではなく、はりぼてアプリなのです(ダルマスカなんて滅びてしまえ!!)。それで、LDTというアプリを守るシステムがどうやらあるらしい。それでGDT(グローバルディスクリプターテーブル)はグローバルなので、全部のタスクから使えるセグメント設定であったわけだが、このLDT(ローカルディスクリプターテーブル)はローカル、つまりある特定のタスクでしか使用できないセグメント設定であるわけだ。そして、これをアプリに適応させることで、アプリを守ることができるのだ。そして、グローバルとローカルという違いしかないので、基本的な設定方法は同じなのだ。
 さらに、今日は、ライブラリやmake環境の整理などもやっている。読み進めている分には、ふむふむ、という感じなのだが、この内容をこの27日目で扱うところが本書の特徴だ。「必要になったら説明する」という著者の熱い想いがこめられている。また、明日の28日目まではOSとしての機能強化をあてるらしいが、29日目と30日目はアプリケーションの作成に終始するらしい。つまり純粋なOS作りという意味では明日が最後なのだろう。本当に、本書も、そしてこのBlogも、終わりへと近づいている…(うれしいような切ないような)。
 それで、今日は、一応俺が1から作り始めているOSをちょっとだけ公開してみる。
http://www.geocities.jp/hariboteos/simpleOS.zip
 ちなみに、まだ全然最初のほう(本書でいうと6日目くらい?)だからあまり期待はしないように(しないか(笑))。ただ、はりぼてOSとはメモリマップ自体からして違うし、ソースコードもほとんど書き換えているので、まぁオリジナルOSといってもいいかもしれない。実は30日目終了までにこれをある程度カタチにしたいとは思っているのだが、まぁいろいろあって、微妙なとこだ。ただ、本書を読み終えて、「OSができたー」となっても、CD-ROMに付属しているOSをコンパイルしただけじゃ、ちょとかっこ悪いかなぁと思って、自分で1から作り始めたのだ。
 さて、明日は28日目、ついに日本語の表示だ! いよいよを持ってして、はりぼてOSは完全体となる。フリーザ最終形態、セル完全体、ブウ(通常体型ver)、うーん、どいつもこいつもすごいやつらばかりだった…。というわけで、はりぼてOSの完全体に…、乞うご期待!