Solarisのシステム立ち上げ時に読み取られるブートファイル等について、
詳しく教えて下さい。

特に、以下のプログラム(ファイル?)は、具体的にどのような動作を行うための
ものなのでしょうか?
 ・ブートブロック
 ・ufsbootファイル
 ・カーネル(Static Core)

よろしくお願いします。
 

A 回答 (3件)

typoですすいません。



spaec -> sparcです。

講習されるとのことなので次の質問に備えましょう :-)

"ブートローダおよびカーネルのロードされるメモリ上のアドレスはどうなってますか?かち合っていたらカーネルのロードができなくなりませんか?"
PCの場合BIOSでアクセスできるメモリ領域は限られているのでブートローダはBIOSからアクセスできる部分の一番後ろの方に展開され、実行されるのに対し、カーネルはメモリの先頭から展開されるのであとで展開されたカーネルのコードでブートローダが上書きされることはありません。

そのため、カーネルのサイズにも制限ができてしまいます。このメモリ制限を回避するためにバイナリ化されたドライバなどをモジュールとして後でカーネルに組み込むことでカーネルのサイズ制限を乗り越えることができます。

sparcの場合はどうなっているかしりませんが、PCのBIOS制限のようなものはないので純粋にメインメモリの後ろのほうに読み込まれて実行されると思います。
    • good
    • 0
この回答へのお礼

無事、講習を終えることができました。
丁寧なご回答、ありがとうございました。

お礼日時:2001/10/26 11:09

sparcマシンの場合で説明します。



内蔵ROMのプログラム(PCの場合はBIOS)は設定されたディスク(起動ディスク)の特定の領域(設定不可)からプログラムを読み出し、メモリ上に展開して、制御をそのプログラムにわたします。

このとき、特定の領域という場所がブートブロックです。

このとき読み出されるプログラムがブートローダでsolaris(sparc)の場合はufsbootですし、linuxではliloが良く使われますし、Windows NT系ではNTローダというやつがこれにあたります。
ufsブートは事前に書き込まれているパーティションがUFSであり、カーネルが決まったパス名で存在すると思って読み出しにかかります。

読んだカーネルをメモリに展開していき、作業が終了するとカーネルの先頭にジャンプし、カーネルの実行が開始されます。

PCの場合はブートブロックにあたるMBRが512byteのためあまり複雑な作業はできません。

そのため、MBRのプログラムからさらにどこかのパーティション上のプログラムを読み出し、それからカーネルを読み出すというような多段構成になっている場合もあります。(例: intelソラリスやGNU grub, システムコマンダーなど)

カーネルが何をするものかはここでは説明しませんが、OSの一番えらい人です :-)

カーネルがどのようなものかを詳しく知りたければOSの教科書(大学等で使うもの)が一番わかりやすいかと思います。
    • good
    • 0

intelとspaecで動作が微妙に違います。


どちらでしょうか?
    • good
    • 0
この回答へのお礼

spaecって何ですか?

私のマシンには、UltraSPARC IIe プロセッサが搭載されてます。
この補足で合っているんでしょうか。
全くの素人なので、よくわからないのですが・・・。

実は、Solarisマシンの起動・停止の仕組みについての講習を行わなければ
ならなくなり、本を参考に資料を作っていたのですが、ブートプログラムと
カーネルの読み取りの動作が、今ひとつ理解できずに困っています。

お礼日時:2001/10/24 18:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qsolaris8 「 core 」について。

OS が solaris8 です。
システム障害時に管理者が必要とする情報源の中に core というものがありますが、core の採取方法と、core から何が読めるのか等が知りたいです。
また、UNIX管理初心者にも分かりやすく解説している web ページなどがあれば教えてください。

Aベストアンサー

こんにちは。
プログラムエラーを起こすとcoreファイルが吐かれます。
デバッガを使ってプログラムをデバッグする時、coreファイルが必要でした。
昔は、よく使ったもんです。

参考URLは、Solarisではありませんが。。。

参考URL:http://www.ipa.go.jp/security/awareness/vendor/programming/b07_06_main.html

QGRUBで自動的に最新のRed Hatカーネルがブートするようにしたい

Linuxユーザの皆さん、こんにちは。
Red Hat Linuxでカーネルをアップグレードしたのですが以前のカーネルがデフォルトブートに設定されているので新しいカーネルを使用するには、いちいちLinux機にキーボードとディスプレイを接続して起動させなければなりません。
Linuxのカーネルは、けっこう頻繁にバージョンアップするそうなので、その都度このような操作を行っていたのでは骨が折れますよね。
そこで今回皆さんにお聞きしたいのはGRUBが自動的に最新のカーネルを起動してくれるような設定にできないかということです。
そのような設定にすることはできますか。
また詳しいやり方を教えてください。

Aベストアンサー

>#このぐらい検索すればいくらでも出てきますか。
>#おそらくそれはhoneorizonさんが検索の達人だからです。
>#そして私は検索のド素人です。

いや、googleで「grub 設定」っていうキーワードで
検索しただけなんですけど...って、まぁ、これについて
はいいや。

>近い将来また新バージョンのカーネルが公開されたと
>き、再度デフォルトブートのカーネルを設定し直さな
>くても常に自動的に最新のカーネルを起動するように
>設定したいのですが、このような設定はやはり無いの
>でしょうか。

そりゃ、grubの仕事じゃないでしょう。grubは「汎用」
のboot loaderであって、LinuxのそれもRed Hatの為に
作られてるわけじゃ有りません。"何を"bootするかは
使用者が決めることで、grubは関知するところでは無い。
というポリシーで作られているはずです。多分。
だから、grub側の設定には有りません。

で、grub.confを書き換えたく無いのなら、updateした
kernelの名前を、前のkernelの名前と同じ物に変更すれ
ばいいだけでわ?kernelのupdateは自動では出来ない
からどっちにしろ手動だし。そのぐらいの手間はなんて
なんてこと無いと思うんですが。それもいやだっていう
のなら、kernelのupdateをしないことですね。

>#このぐらい検索すればいくらでも出てきますか。
>#おそらくそれはhoneorizonさんが検索の達人だからです。
>#そして私は検索のド素人です。

いや、googleで「grub 設定」っていうキーワードで
検索しただけなんですけど...って、まぁ、これについて
はいいや。

>近い将来また新バージョンのカーネルが公開されたと
>き、再度デフォルトブートのカーネルを設定し直さな
>くても常に自動的に最新のカーネルを起動するように
>設定したいのですが、このような設定はやはり無いの
>でしょうか。

...続きを読む

QWindowsXPが起動しなくなりました(Windows2000とのデュアルブート)。FreeBSDとSolarisインストール後。

Windows2000を第一基本パーティションにインストールしてあり、WindowsXPProを論理パーティションにインストールしてあり、今まではうまく起動できていました。その他、論理パーティションにFedoraCore5、CentOSなどがインストールしてありました。

で、第2基本パーティションを2つに分けてました。FreeBSDとSolarisをインストールしたいと思ったからです。

その後、論理パーティションの位置の値がひとつずつずれたので、Windows2000のC:\boot.iniのWindowsXPのHDD内の位置の値をひとつずらすことにより、無事起動できました。

その後、FreeBSDとSolarisのインストールをしたんですが、SolarisのGRUBからWindows2000/WindowsXP起動を選ぶと、WindowsのWindows2000とWindowsXP選択画面が表示されます。

WindowsXPを選択すると、最初の起動画面は終わるんですが、その後、「ようこそ」の画面になるまえに、画面が止まってしまいます。バックは青でWindowsの窓の模様とWindowsと小さく書いてある画面になり、とまってしまいます。

回復コンソールなるものを使ってディレクトリを見たら、一応、大まかなファイル構成は変わっておりませんでした。

どうしたら、直りますでしょうか?分かる方、よろしくお願いいたします。

Windows2000を第一基本パーティションにインストールしてあり、WindowsXPProを論理パーティションにインストールしてあり、今まではうまく起動できていました。その他、論理パーティションにFedoraCore5、CentOSなどがインストールしてありました。

で、第2基本パーティションを2つに分けてました。FreeBSDとSolarisをインストールしたいと思ったからです。

その後、論理パーティションの位置の値がひとつずつずれたので、Windows2000のC:\boot.iniのWindowsXPのHDD内の位置の値をひとつずらすことにより...続きを読む

Aベストアンサー

基本的に1台のPCにOSを詰め込みすぎです。

私なら1台のPCにインストールするOSは最大3つまでです。
それ以上必要になったらVMWareを使用します。

PCを増やしてインストールするOSを見直すことをお奨めします。

QSolarisのlogファイルについて

Solarisマシンで、ログファイルについて、よくやる方法として、
『"/var"ディレクトリ配下等に作成されるログファイルなど、
いくつかのファイルをサイクリックに使用するように
設定してある。』と聞いたんですが、
具体的にどこにどのような設定がされているのか
教えてもらえないでしょうか?
(※Solaris自体にその機能があるであろう
ということを前提に質問しているのですが…。)

Aベストアンサー

こんにちは。

サイクリックに。。。
って事は、ログファイルなんかをローテーションさせているのは、何処に設定
してあるのかって事を聞きたいと想定して、回答させて頂きます。

ファイルが、勝手にローテーションするわけはないので、時間がくれば、
この処理をするってのが、どこかに書いてあります。
Solarisの場合、"clontab -l"と打ち込むと設定内容が見れます。

■設定例■
10 3 * * 0 /usr/lib/newsyslog

上記の見方は、数字部分のみを簡単に説明すると、
左端の「10」が10分。
左から2つめの「3」が、3時。
右端の「0」が日曜日。
右側のパスの部分が、実行するシェル。
ってことで、この場合、
日曜日の3時10分にnewsyslogを実行する事になります。

ほんでもって、newsyslogを見ると、実際にログをローテーションさせている
内容が書かれています。

ってな感じで、cronに設定されている内容を見ていくと、わかると思います。
的外れな、回答でしたら、補足をお願い致します。

#なお、cron内容など、その辺は簡単に解説してありますので、
#ご自分で、お調べください。探しても、見つからない場合は、
#再度、質問してください。

こんにちは。

サイクリックに。。。
って事は、ログファイルなんかをローテーションさせているのは、何処に設定
してあるのかって事を聞きたいと想定して、回答させて頂きます。

ファイルが、勝手にローテーションするわけはないので、時間がくれば、
この処理をするってのが、どこかに書いてあります。
Solarisの場合、"clontab -l"と打ち込むと設定内容が見れます。

■設定例■
10 3 * * 0 /usr/lib/newsyslog

上記の見方は、数字部分のみを簡単に説明すると、
左端の「10」が10分。
左から2...続きを読む

QSolaris(SPARC)のファイルシステムについて

dfコマンドでディスクスライスを参照した場合、
ファイルシステムで"c0t0d0s0"って表示されますが、
『c,t,d,s』って、それぞれどんな意味なんですか?
"s"はスライスのような気はするのですが…。

#df -k
ファイルシステム kbytes 使用済み 使用可能 capacity マウント先
/proc 0 0 0 0% /proc
/dev/dsk/c0t0d0s0 1015909 491317 463638 52% /
/dev/dsk/c0t0d0s1 1015909 798691 156264 84% /usr
fd 0 0 0 0% /dev/fd
/dev/dsk/c0t0d0s3 1015909 529819 425136 56% /var
/dev/dsk/c0t0d0s4 1015909 904926 50029 95% /opt
swap 5037840 1998296 3039544 40% /tmp

dfコマンドでディスクスライスを参照した場合、
ファイルシステムで"c0t0d0s0"って表示されますが、
『c,t,d,s』って、それぞれどんな意味なんですか?
"s"はスライスのような気はするのですが…。

#df -k
ファイルシステム kbytes 使用済み 使用可能 capacity マウント先
/proc 0 0 0 0% /proc
/dev/dsk/c0t0d0s0 1015909 491317 463638 52% /
/dev/dsk/c0t0d0s1 1015909 798691 156264 84% /usr
fd 0 ...続きを読む

Aベストアンサー

こんにちは。

私も、今、Solarisの勉強をしておりまして、ちょうどclover2さんの
質問に対する回答となるWebPageを見つけましたので、参考URL内の
「固定ディスクのデバイス名」の所をご参照ください。

簡単に説明すると、以下のようになります。

「c」----コントローラ・ナンバー
「t」----バス・ターゲット・ナンバー
「d」----ドライブ・ナンバー
「s」----スライス・ナンバー

また、その他Solarisに関する知識として、ただいま参考URLにてご紹介
させて頂きましたWebPageは、とても参考になりますので、以下にスーパー
ユーザとして、役に立つ知識がありますので、こちらも併せてご参照なさると、
良い勉強になるかもしれません。
がんばってください。

http://www.wakhok.ac.jp/~maruyama/Super/Super.html

参考URL:http://www.wakhok.ac.jp/~maruyama/Super/section2.6.2.html#SECTION0062000000000000000

こんにちは。

私も、今、Solarisの勉強をしておりまして、ちょうどclover2さんの
質問に対する回答となるWebPageを見つけましたので、参考URL内の
「固定ディスクのデバイス名」の所をご参照ください。

簡単に説明すると、以下のようになります。

「c」----コントローラ・ナンバー
「t」----バス・ターゲット・ナンバー
「d」----ドライブ・ナンバー
「s」----スライス・ナンバー

また、その他Solarisに関する知識として、ただいま参考URLにてご紹介
させて頂きましたWebPageは、とても参考にな...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報