2009-02-01から1ヶ月間の記事一覧

タネンバウム先生半端ないっす

レポート書いてて発見したんだけど、コレ、すごくないですか(w2-4年に一回のペースで800ページクラスの本を改訂 && 書き上げるとか...。知識のファイリングをちゃんとやってるんだろうなぁ。 レポートを書く 27日に提出のレポートがあるので、それのためにW…

OpenOffice 3.0.1 を試してみた。

木曜日に簡単な発表があるのだが、デモをやらんと話にならんような内容なので、デモが動く環境+プレゼンできる環境ということでUbuntuにOpenOfficeを入れて見た*1公式HPからdebファイルを落としてきて、 以下のサイトを参考にインストール。 http://www.osse…

Debain 5.00 Lenny リリース

Debian の 5.00 コードネーム Lenny がリリースされたようです。奇しくもおととい Debian をインストールする機会があったのですが、そのときはまだ RC2 しかでていなかったので etch をインストールせざるをえませんでしたw新機能がどうこういうよりも、 ht…

雑感

思ったより長くなったなーw・・・あれ。そういえばレポート書いてたはずがいつの間にかこんなことを(ry

GRUBであそぼ

GRUBからelfバイナリを読み込んだあと、ページングがなかなかONにできずはまっていたのだけど、一段落したのでまとめ。今回のエントリでは、GRUBからelfバイナリを読み込み、実行するところまでを述べます。 GRUBがelfバイナリを読み込み、起動するまで まず…

ページングをONにして仮想記憶を有効にするまでの手順メモ

はじめて読む486を読み直して、ページングをONにするまでの手順を整理。 GDTを設定。 IDTを設定(割り込みベクタの0x0eがフォールトハンドラ用に予約されている)。 ページディレクトリ、ページテーブルを初期化。このとき、物理アドレスを仮想アドレス空間に…

ページングをONにした後に落ちる理由

そっかー。そりゃ落ちるわ。 リンク時に 0x40000000 用にコンパイルしてるのに、Grubから出た直後は0x100000にバイナリが読み込まれているんだから。 ----- 0x100000 ----- <- EIP # binary is loaded here by grub boot loader. binary compiled for 0x4000…

セグメント

x86

「Linuxのブートプロセスを見る」を見たら、セグメントについてわからなかったことが理解できたので、メモ。私が混乱していた原因はたった1つ。 リアルモードとプロテクトモードではセグメントレジスタの使い方が異なるから。 以下では、その詳細について述…

ぺーじんぐ。

ちょっと調べた結果、CR0レジスタの31bit目がページング機能のトリガになっているらしい。そこで、Grubから私のコードに抜けた直後でCR0レジスタの31bit目を1にアサートしてみたところ、さすがにQemuがクラッシュした(wセグメントディスクリプタの設定を無視…

初期の目標は達成できたので...

「30日でできる!OS自作入門を Linux & GAS で行う」をやってみて、大雑把だが初期の「いかにしてx86マシンがブートし、プロテクトモードに移行するのか理解する」という目標は達成できた。そこで、OS自作本にのっとって作業するのを一時中断し、現在多くのO…