IA-32のカーネルは、1Gの仮想空間を、物理アドレスの下位からストレートマップしてる故、1G(896M)を超える物理アドレスにアクセスできない。従って、理屈はともかく、HIMEM空間を通して、物理アドレスをアクセスする必要がある。となんとなく理解しています。
そこでふと思ったのですが、上の理解が妥当だとすると、HIMEMはあくまでカーネル空間だけの話で、プロセス空間は3G、しかも連続してマップする必要のないユーザプロセスでは、ページテーブルを設定すれば言いだけの話で、従って1Gを超える物理メモリを搭載した環境で、あえてHIMEM領域を設定しなくても、カーネルはちゃんとユーザプロセスに1Gを超える物理メモリを割り当てることができる。と思いに至った次第です。この認識、正しいでしょうか?
No.1
- 回答日時:
> 1G(896M)を超える物理アドレスにアクセスできない。
> カーネルはちゃんとユーザプロセスに1Gを超える物理メモリを割り当てることができる。
「1Gを超える物理アドレスにアクセスできない」と最初に書いてある理解から、どうして「1Gを超える物理メモリを割り当てられる」という結論になったのでしょうか…
カーネルがアクセス出来ないのに、割り当てるも何も無いと思います。
この回答への補足
物理アドレスにアクセス。というのでなく、カーネルモードとして動作できる物理アドレス。ということでした。ことば足らずで申し訳ありませんでした。
補足日時:2010/03/02 15:17No.2ベストアンサー
- 回答日時:
32bitアドレッシングでは4Gバイトまで連続でアクセスできますが、Linuxでは下位3Gがユーザー空間、上位1G弱がkernel空間にマップされるようになっています。
Highmemが必要なのはkernel空間で1Gを越えるメモリを必要とする場合だけ(アドレスレンジが足りなくなるため)ですので、おっしゃるとおりユーザー空間にはHighmemは関係ありません。普通にMMUを使って3Gまでマップできます。
詳しいことは下記を参照して下さい。
参考URL:http://itpro.nikkeibp.co.jp/article/COLUMN/20080 …
回答ありがとうございました。これでなんかすっきりいたしました。早々に教えていただいた記事を読んでさらに理解を深めたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カーネルのプロトコルスタック開発
-
Windowsのソースコードって非公...
-
LinuxをOSとして使えるマザーボ...
-
Windows Vistaは本当にゴミOSな...
-
Windows8 ntoskrnl.exeについて
-
自作OSの良本
-
Linuxカーネルのコンパイルヘッ...
-
UNIXからLINUXへのデータ移行に...
-
カーネルとはどんな意味ですか?
-
SolarisとLinuxの違い
-
レッドハットのバージョン確認方法
-
カーネルアップグレード後、una...
-
power book G4でDVDーRにデー...
-
/dev/nvme0n1p2 clean と表示さ...
-
ubuntu 初期化について
-
パソコンでゲームをプレイしよ...
-
XP(SP3)SSDにクリーンインスト...
-
Raspberry Pi 3 A+ ブラウザ遅い
-
CPANでインストールしたモジュ...
-
perlのダウングレード方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
/dev/nvme0n1p2 clean と表示さ...
-
Linux 32Bitと64Bitのメモリー...
-
カーネルバッファとは何でしょうか
-
SolarisとLinuxの違い
-
romfsってなんですか?
-
カーネルアップグレード後、una...
-
SunOS5.x と Solarisの違いは?
-
UNIXとBSDとLinuxの違いを小学...
-
エラー”Illegal seek”はどんな...
-
BSDでフォーマットされたHDDは...
-
パフォーマンスモニタの%Proces...
-
違いを教えください!!
-
Windows Vistaは本当にゴミOSな...
-
Dockerコンテナ(centos7.9)の...
-
魔改造版Windows 2000をインス...
-
kernel 2.4.XX.ELsmp のELって?
-
Debian で時間が経つと画面が消...
-
割り込み不可能?なプロセスを...
-
/proc/sys/net/ipv4/route/flus...
-
デュアルコアCPUをシングルにし...
おすすめ情報