「オペレーティングシステム」の版間の差分

削除された内容 追加された内容
編集の要約なし
720 行
 
:※ いちおう、本書でも、初等的なブートローダのコードを記載している(※ 後述)。
 
== Bochs の使い方 ==
ネット上に Bochs の使い方の入門書がぜんぜん無いので、wikibook で教えることにする。
 
Bochsでは、アセンブルはできない。
 
Bochsの用途は、すでに別ツール(たとえば nasm んど)で作成ずみの img ファイルをBochsで起動するだけのものである。
 
asmファイルからimgファイルへのアセンブルは、あらかじめ nasm などで行っておく。
 
 
Bochsの利便性は、コマンドを覚えなくて言いことである。起動コマンドのBochsだけ押せばウィンドウが起動するので、あとはそのウィンドウ側でGUI的に操作してエミュレータの起動をできるという便利ツールなエミュレータが Bochs である。
 
 
さて、Boshs をインストールしてから、環境変数(パス)の設定を終えれば、
コマンドプロンプトで、コマンド <code>bochs</code> で起動する。つまり
ユーザー名>bochs
のように「bochs」の部分を入力する。
 
で、起動するとダイアログ画面が現れる。
 
 
さて、これだけでは、そもそも何のファイルを起動するかすらも設定されてない。なので、これから、このダイアログ画面で、それを設定する。
 
 
まず、真ん中の項目(中央ペイン)にある「Edit Option」 の「Disk & boot」をダブルクリックすると、画面が遷移して、
 
オプション画面である「Bochs Disk Options」画面になる。この項目で、何のファイルを起動するかを設定できる。
そのためには、
 
その「Bochs Disk Options」画面の中で、タブ「ATA Channel 0」> 子タブ「First HD/CD on Channel 0」 をクリックすると出てくる画面に、
 
上から2段目あたりに
:Path or physical device name <span style="border-style:inset">        </span> <span style="border-style:outset">Browse</span>
 
という項目があるので、その <span style="border-style:inset">        </span> のなかに、起動したいimgファイル名を入れる。
 
たとえば、「testos.img」ファイルを起動したいなら、
:Path or physical device name <span style="border-style:inset">testos.img     </span> <span style="border-style:outset">Browse</span>
のようになる。
 
 
こうして、(おそらく)あとはこのオプション画面を終了して(ダイアログ・ウィンドウの右上のクローズ用の×ボタンを押せばいい)メインメニュー画面に戻り、右ペインにあるStartボタンを押せばいい。
 
Panic ウィンドウが表示されて Message 欄に「specified geometry doesn<nowiki>'</nowiki>t fit on disk」 と書いてあるが、このまま左下の欄にある Continue をクリックして、OKを押せばいい。
 
 
なお、Path or physical device name の設定をしてないで空欄のままにしておくと、Startの際に Message 欄に 「no bootable device」 と出る。
 
 
BochsのDtart>OKの後のエミュレート起動後の終了方法は、ウインドウの上部にあるメニューバーの右側のほうに、○印の中にタテ線「|」のある終了ボタン「(|)」があるので、これを押せばいい。(右上の×ボタンは使えない。×ボタンをクリックしても反応しない。)
 
== 擬似命令を使ってブートローダを作ろう ==