
No.3ベストアンサー
- 回答日時:
typoですすいません。
spaec -> sparcです。
講習されるとのことなので次の質問に備えましょう :-)
"ブートローダおよびカーネルのロードされるメモリ上のアドレスはどうなってますか?かち合っていたらカーネルのロードができなくなりませんか?"
PCの場合BIOSでアクセスできるメモリ領域は限られているのでブートローダはBIOSからアクセスできる部分の一番後ろの方に展開され、実行されるのに対し、カーネルはメモリの先頭から展開されるのであとで展開されたカーネルのコードでブートローダが上書きされることはありません。
そのため、カーネルのサイズにも制限ができてしまいます。このメモリ制限を回避するためにバイナリ化されたドライバなどをモジュールとして後でカーネルに組み込むことでカーネルのサイズ制限を乗り越えることができます。
sparcの場合はどうなっているかしりませんが、PCのBIOS制限のようなものはないので純粋にメインメモリの後ろのほうに読み込まれて実行されると思います。
No.2
- 回答日時:
sparcマシンの場合で説明します。
内蔵ROMのプログラム(PCの場合はBIOS)は設定されたディスク(起動ディスク)の特定の領域(設定不可)からプログラムを読み出し、メモリ上に展開して、制御をそのプログラムにわたします。
このとき、特定の領域という場所がブートブロックです。
このとき読み出されるプログラムがブートローダでsolaris(sparc)の場合はufsbootですし、linuxではliloが良く使われますし、Windows NT系ではNTローダというやつがこれにあたります。
ufsブートは事前に書き込まれているパーティションがUFSであり、カーネルが決まったパス名で存在すると思って読み出しにかかります。
読んだカーネルをメモリに展開していき、作業が終了するとカーネルの先頭にジャンプし、カーネルの実行が開始されます。
PCの場合はブートブロックにあたるMBRが512byteのためあまり複雑な作業はできません。
そのため、MBRのプログラムからさらにどこかのパーティション上のプログラムを読み出し、それからカーネルを読み出すというような多段構成になっている場合もあります。(例: intelソラリスやGNU grub, システムコマンダーなど)
カーネルが何をするものかはここでは説明しませんが、OSの一番えらい人です :-)
カーネルがどのようなものかを詳しく知りたければOSの教科書(大学等で使うもの)が一番わかりやすいかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windowsのソースコードって非公...
-
SolarisとLinuxの違い
-
UNIXフォーマットなFDの読み方
-
rcp,rshのタイムアウトについて
-
macでカーネルのディレクトリは...
-
*長文となっております、予めご...
-
割り込み不可能?なプロセスを...
-
最近、よくOpenWall という言葉...
-
デバイスドライバのマジックナ...
-
WindowsServer2008と2012
-
Linux
-
fedora kernel再構築
-
パフォーマンスモニタの%Proces...
-
Ubuntuをインストールし、ユー...
-
Rでlavaanをインストールできま...
-
UbuntuはWin7と比べて軽いですか?
-
外部レポジトリとは
-
gccのインクルードパスの確認
-
Ubuntu on Xorgのログインについて
-
ubuntu 初期化について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SolarisとLinuxの違い
-
パフォーマンスモニタの%Proces...
-
/dev/nvme0n1p2 clean と表示さ...
-
モジュールの場所を確認できま...
-
Linuxって何?
-
カーネルアップグレード後、una...
-
アップデートをかけたら、ブー...
-
カーネル更新
-
pppoe
-
カーネルの再構築について
-
LINUXはどうして普及したのでし...
-
重厚長大なOSは必要か。
-
「モジュールの場所を確認でき...
-
基本ソフトと応用ソフトの仕事...
-
XPが再起動ばかりを繰り返します
-
最近、よくOpenWall という言葉...
-
RHL7.2でカーネルの再構築
-
Linuxカーネルは誰が動かしてい...
-
*長文となっております、予めご...
-
boot領域のlvmについて
おすすめ情報