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で質問しましょう!
似たような質問が見つかりました
- Windows 10 やってもうた。windows10起動せず。知恵を貸してください。 2 2023/02/08 11:36
- その他(IT・Webサービス) ランサムウエアに汚染されたかもしれない外付けHDDのファイル復旧方法 3 2023/02/04 01:23
- C言語・C++・C# このプログラミング誰か教えてくれませんか 3 2022/05/13 17:27
- Windows 8 今日パソコンを起動したらブルースクリーンになりました。停止コードはcritical_process_ 1 2022/03/22 23:13
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- ノートパソコン Windowsが起動しなくなってしまいました。 4 2023/08/28 16:30
- その他(プログラミング・Web制作) フォルダ内の特定 拡張子のファイルを一括実行するBat ファイルについて 4 2022/04/17 09:51
- デスクトップパソコン 「自動修復でPCを修復できませんでした」と表示されPCが起動しないのですが対処法はありますか? 5 2022/05/13 09:16
- フリーソフト Windowsの特殊文字を削除や変換したい そんなフリーソフトはありますか? 3 2022/11/09 00:05
- ノートパソコン ソフトアンインストール残存ファイル 3 2022/09/13 18:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カーネルバッファとは何でしょうか
-
SolarisとLinuxの違い
-
パーティション CentOS6
-
UNIXとBSDとLinuxの違いを小学...
-
パフォーマンスモニタの%Proces...
-
魔改造版Windows 2000をインス...
-
ブルースクリーンの原因が「ntk...
-
Dockerコンテナ(centos7.9)の...
-
RedHat9とディレクトリ構成が同...
-
Win MAC 違い 説明
-
ハードディスクへのアクセスの頻度
-
プラウザを閉じてもプロセスのi...
-
割り込み不可能?なプロセスを...
-
/proc/sys/net/ipv4/route/flus...
-
/dev/nvme0n1p2 clean と表示さ...
-
レッドハットのバージョン確認方法
-
Linux 32Bitと64Bitのメモリー...
-
自分は、パソコンにAPEXを入れ...
-
パソコンでゲームをプレイしよ...
-
Windows2000を最新マシンにイン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パフォーマンスモニタの%Proces...
-
最近、よくOpenWall という言葉...
-
/dev/nvme0n1p2 clean と表示さ...
-
ブルースクリーンの原因が「ntk...
-
割り込み不可能?なプロセスを...
-
魔改造版Windows 2000をインス...
-
romfsってなんですか?
-
どうしてwindowsはMacと比べ動...
-
mac OSは、何のプログラミング...
-
macでカーネルのディレクトリは...
-
カーネルアップグレード後、una...
-
『カーネルとの通信中にエラー...
-
UNIXとBSDとLinuxの違いを小学...
-
Linux 32Bitと64Bitのメモリー...
-
Dockerコンテナ(centos7.9)の...
-
エラー”Illegal seek”はどんな...
-
カーネルスタック不足について
-
カーネルバッファとは何でしょうか
-
マザーボード用ドライバ
-
rdevコマンドについて
おすすめ情報