サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
public.wnishida.com/~brs
SYSLINUXの解析とLinux2.6.0トップへもどる 高原陽一 (Takahara) Linux ブートディスクを作るときカーネルイメージ bzImage をFDにベタ書きした場合はカーネルはファイルシステムの外の決まった位置に置かれているためブートローダはディスクの物理的なセクタ位置だけを指定してカーネルをロードすればよかった。ところが今回解析しようとしているSYSLINUXの場合はFATファイルシステムの中に置かれたカーネルをファイル名だけを頼りにロードしなければならない。つまりカーネルイメージが置かれている物理的なセクタ位置はブートローダがファイルシステムを読めない限り分からないわけである。そこでまずFATファイルシステムの仕組みを解明していく必要がある。 1.ルートディレクトリを読む 2.ディレクトリエントリの内容を分析する 3.FATのしくみ 4.DOSブートブロックの情報
x86系アーキテクチャ上におけるLinuxのメモリ保護機構 近永 智之 著 (Chikanaga) メモリーパーミッション:はじめに メモリーパーミッション:メモリパーミッションの確認 メモリーパーミッション:セグメント機構 メモリーパーミッション:ページング機構 メモリーパーミッション:mapsファイルの実体 参考文献 [1] はじめて読む486−32ビットコンピュータをやさしく語る 蒲地 輝尚 (著) 出版社: アスキー 出版年 1994/09 ISBN: 4756102131 [2] Linuxのブートプロセスをみる 白崎博生(著) UNIX MAGAZINE (アスキー) 2002/05号 [3] Linuxのブートプロセスをみる 2 白崎博生(著) UNIX MAGAZINE (アスキー) 2002/06号 [4] Linuxカーネルインターナル Michael Beck 他 (
ページング機構 セグメントとページング セグメント機構ではメモリ空間を好きなアドレスから好きなサイズだけセグメントとして切り出して使うことができました。 ページング機構ではメモリをページと呼ばれる固定長のサイズのメモリ領域に分割して管理します。 x86アーキテクチャではページサイズは基本的に4KBです。 ページングでは開始アドレスとサイズに制限がある代わりに、セグメント機構に比べてより柔軟できめ細かい制御が可能になります。 またページング機構はセグメント機構によるアドレッシングとは独立しています。 プログラマがあるアドレスを指定すると まずセグメントにより開始アドレスが加算される(この結果できるアドレスをリニアアドレスと呼びます) ページングがOFFの場合はリニアアドレスがそのまま物理アドレスになる。 ONの場合はページング機構によりアドレス変換が行われ物理メモリが決定される。 と
ブレークポイントを設定する さて、ブートコードは0x7c00番地に読み込まれてから実行されるのであった。そこでブレークポイントをブートコードの開始番地である0x7c00に設定する。 Next at t=0 (0) [0x000ffff0] f000:fff0 (unk. ctxt): jmp f000:e05b ; ea5be000f0 <bochs:1> lb 0x7c00 そしてブレークポイントまで実行を進める。 <bochs:2> c こうすることでブートプロセスにおけるBIOSコードの実行を一気に済まして、0x7c00番地に読み込まれたブートコードの入口で止まることができる。このときのbochsコンソールは以下のようになっている。 (0) Breakpoint 1, 0x7c00 in ?? () Next at t=485348 (0) [0x00007c00] 0000:7c0
x86のセグメント機構とLinuxでの実装 セグメント機構はx86アーキテクチャにおけるメモリ管理/保護のためのもっとも基本的な機構です。 セグメント機構はその機能をOFFにするということができません。 Linuxでのメモリパーミッションがセグメント機構とどのような関係にあるのか探るため、しばらくx86のセグメント機構について説明します。(参考文献 [1]) セグメントの本質 よく複雑さの元凶のように言われることの多いセグメント機構ですが、原理は至って簡単です。 メモリ空間について「先頭アドレスとサイズ」を定めた一塊りの領域がセグメントです。 プログラム(機械語のオペランド?)が「メモリアドレス100番地」と指定したときに、CPUが「先頭アドレスが1000ですので物理メモリの1100のことですね」と解釈したり、「セグメントのサイズは50なので100番地にアクセスするのは違反ですよ」と警
このページを最初にブックマークしてみませんか?
『Brainstorming』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く