
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の違い
-
Linuxカーネルのコンパイルヘッ...
-
パフォーマンスモニタの%Proces...
-
CentOS5.3でNICを認識しない
-
Redhat9のカーネルのアップにつ...
-
最近、よくOpenWall という言葉...
-
Fedora Core 4でのKernelコンパ...
-
CentOS6 の画面サイズの設定
-
SunOS5.x と Solarisの違いは?
-
ubuntu 初期化について
-
お米が4kgで3千円台って、これ...
-
Raspberry Pi 3 A+ ブラウザ遅い
-
パソコンでゲームをプレイしよ...
-
Debianでのmakeコマンドインス...
-
virtual boxにインストールした...
-
gccのインクルードパスの確認
-
macos での /usr/local/lib と...
-
Ubuntuをインストールし、ユー...
-
外部レポジトリとは
-
ゲームは毎月買う? パッケージ版
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SolarisとLinuxの違い
-
パフォーマンスモニタの%Proces...
-
カーネル再構築でのエラー
-
割り込み不可能?なプロセスを...
-
Linuxって何?
-
/dev/nvme0n1p2 clean と表示さ...
-
Linux 32Bitと64Bitのメモリー...
-
androidがIPadに劣る、Linuxだ...
-
カーネルバッファとは何でしょうか
-
apacheのプロセス数が不安定
-
Redhat9のカーネルのアップにつ...
-
Debian で時間が経つと画面が消...
-
CentOSのデスクトップ画面が立...
-
/proc/sys/net/ipv4/route/flus...
-
エラー”Illegal seek”はどんな...
-
UNIXとBSDとLinuxの違いを小学...
-
どうしてwindowsはMacと比べ動...
-
カーネルの再構築の方法
-
Linuxでcrcエラー?
-
ツインCPUでのLinuxインス...
おすすめ情報