トップページ⇒linux
986コメント359KB

☆Linux カーネルの仕組みを勉強するスレ☆

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin01/10/02 17:44ID:38KkZsUQ
メモリ管理、プロセス、ファイルシステム色々ありますが
カーネル全般について語り合うスレッドです。
0269名無しさん@XEmacs02/01/17 22:57ID:MexfPvJZ
実際に使っているけど、結構いい感じ。
気に入った。
0270Be名無しさん02/01/18 23:07ID:SjcLc3oq
>linux/kernel/sched.o だろ(藁
>ソースコードはlinux/kernel/sched.c だな

自分で,sched.c を一部書き換えて、sched.o を作って
linux/kernel/sched.o と置き換えてもうまく動作しますか?

ソースを一部書き換えて、それをリナックスでコンパイル
させる方法教えて下さい。
例えば、sched.c
0271login:Penguin02/01/18 23:11ID:SjcLc3oq
C勉強中です

http://www.linux.or.jp/JF/JFdocs/The-Linux-Kernel-5.html#ss5.5

にある図表(4.2) プロセスの仮想メモリ
は構造体が二つネストして、task struct から3階層目で
実際のメモリにアクセスしていると考えればいいのでしょうか?

struct
(struct
(struct
ってかんじですか?
027227002/01/18 23:21ID:SjcLc3oq
例えば
sched.c の
http://pc1.peanuts.gr.jp/~kei/Kernel-Snapshot/linux/kernel/sched.c
1157行目
if (xtime.tv_usec >= 1000000) {
を
if (xtime.tv_usec >= 900000) {

に変更して、これをLinuxに組み込みたいときは具体的に
どういう手続きでできますか?

0273名無しさん@Emacs02/01/18 23:51ID:YW/sCNj0
>>272
1. time.c を編集
2. /usr/src/linux あたりで make vmlinux
でダメかい?

027427002/01/19 00:44ID:jiC3xKcw
>273

sched.cを編集したので、sched.c をコンパイルして
sched.o をつくってと言う流れにはならないのでしょうか?
0275名無しさん@Emacs02/01/19 00:58ID:qDPmIUv5
>>274
sched.c編集後に kernel/
でmakeって打ったらどうなる?
0276 02/01/19 03:29ID:EPNncPjO
親切な分厚い本が何冊かでているから、それを読んで勉強
するのがもっとも効率がよいぞ。それでも判らないところは
メーリングリストや掲示板で尋ねなさい。
0277login:Penguin02/01/19 10:14ID:s4mGpeNh
>>256
なんとか本は読んだことがないのだけれど、
伝統的なUNIXなら、スケジューラにはMLFQ
を使っているんじゃないでしょうか?
LinuxのスケジューラとMLFQは違うの? と
いう質問に対する答は、「違うよ」です。

MLFQ:Multi Level Feedbak Queue
0278penguin02/01/19 10:27ID:Nn4Hdk9S
>276
以外にsched.c を編集して差し替える方法ってのはのってないです
オらいリーにも、バッハにはもライオンにも
0279perl02/01/19 19:19ID:6UZoY/KQ
>275

Target /Rules.make をmake するターゲットがありません
と表示されます
0280login:Penguin02/01/20 01:25ID:PW5h4b9T
>>279 そうなるでしょ?
だから君は /usr/src/linux あたりで makeしろ
と言われるわけだ
なんでこうなるかは, Makefileなどを読めばわかるから読んでみなよ

>>274 もちろん そうすることもできる
があまり一般的でない気がするし
この程度のこと自分で調べるとか試すことができんと
先にすすめんと思うぞ.
0281202.221.45.13002/01/20 01:26ID:RJR5ycOG
202.221.45.130

俺のIPアドレスだ、おめーらの技量じゃハックデきね〜だろうけどw
0282login:Penguin02/01/20 01:33ID:6rBCbXPR
>>281
プロバイダはケーブルネット新潟か、、
icmpが通らないどころかtcpのどのポートも開いてないじゃん。
0283A02/01/20 18:44ID:cVcKPlLa
>280
http://www.zdnet.co.jp/help/howto/linux/kernel24/03.html

みたいな感じでやるの?
0284T02/01/21 12:53ID:Wml0Xzg3
コンパイルされたカーネルはどのディレクトリにありますか?
REaHATです
0285login:Penguin 02/01/21 20:15ID:vTi6jywZ
>>284
/linux/arch/i386/boot/bzImage

ところであまり綺麗ではないと言われるLinuxのソースですが、
どのあたりが*BSD*やその他のカーネルと比べて不味いのでしょうか?
自分には十分綺麗にまとまっているようにも思いますが。
0286名無しさん@EMACS02/01/21 20:43ID:a+jXfduo
>>285 比較対象によるが洩れにもそんなに汚くは内容に見える
ただデバイスドライバの中には汚いのも散見する気がするので
ここらへんが不味いと言われるかもしれないです
0287Be名無しさん02/01/21 22:15ID:RLDBnvZL
goodness関数のソースを見たいのですが、どこにありますか?
0288login:Penguin02/01/22 03:27ID:sIyQ1wuj
kernel/sched.c
0289名無しさん02/01/22 21:27ID:qC2FYqJq
最近カーネルに加わったっぽい
bioとかdriverfsってどういうのですか?
0290safda02/01/23 17:16ID:FOpw4p0s
goodness って 140行目の
static inline int goodness(struct task_struct * p, int this_cpu, struct mm_struct *this_mm)
{
int weight;

/*
* select the current process after every other
* runnable process, but before the idle thread.
* Also, dont trigger a counter recalculation.
*/
weight = -1;
if (p->policy & SCHED_YIELD)
goto out;

/*
* Non-RT process - normal case first.
*/
if (p->policy == SCHED_OTHER) {
/*
* Give the process a first-approximation goodness value
* according to the number of clock-ticks it has left.
*
* Don't do any other calculations if the time slice is
* over..
*/
weight = p->counter;
if (!weight)
goto out;

#ifdef CONFIG_SMP
/* Give a largish advantage to the same processor... */
/* (this is equivalent to penalizing other processors) */
if (p->processor == this_cpu)
weight += PROC_CHANGE_PENALTY;
#endif

/* .. and a slight advantage to the current MM */
if (p->mm == this_mm || !p->mm)
weight += 1;
weight += 20 - p->nice;
goto out;
}

/*
* Realtime process, select the first one on the
* runqueue (taking priorities within processes
* into account).
*/
weight = 1000 + p->rt_priority;
out:
return weight;
}

desune
0291login:Penguin 02/01/25 04:17ID:dOURaakd
カーネルをコンパイルしたはいいけど、
どこが原因で止まっているのか分からないときは
どのようにデバッグしたらいいのでしょうか?
起動時に
'PCI: Enabling device 00:07.2 (0000 -> 0001)'
と表示して終わります。
(arch/kernel/pci_i386.cのpcibios_enable_resources()関数で出力)

ここまではgrepだけでなんとか分かるのですが、この先どこでおかしく
なっているのかさっぱり分かりません。

kernel debugオプションでログを解析したいのですがやり方等
分かる方がいらっしゃれば何か教えて下さい。
0292login:Penguin 02/01/25 06:15ID:dOURaakd
こんなの見つけました。
User-mode Linux Kernel
http://user-mode-linux.sourceforge.net/
これを動かしてはコンパイルを繰り返すことで
大体のことが勉強できそうなので、
まずは基本からやり直します。

辛いな(ワラ
0293safda02/01/25 09:19ID:SWm1VQvW
プログラムとは、実行イメージとしてディスクに保存されたマシン語の命令とデータとのセットである。

*http://www.linux.or.jp/JF/JFdocs/The-Linux-Kernel-5.html#ss5.5

といいますが、ここで使われている実行イメージとは?
詳細に説明して下さい
0294 02/01/25 10:44ID:Cy8BPQOb
http://www.geocities.co.jp/SweetHome-Brown/7158/sub7.html
0295login:Penguin02/01/25 10:55ID:dOURaakd
次は誰かがLinuxにタダ乗りすればいいのでは?>>295
0296login:Penguin02/01/25 10:56ID:dOURaakd
×295 ○294
0297anonymous02/01/25 12:58ID:SWm1VQvW
>プログラムとは、実行イメージとしてディスクに保存されたマシン語の命令とデータとのセットである。

上はメモリに保存されたとういことではないのでしょうか?>>ALL
0298login:Penguin02/01/25 13:28ID:GUMC5F4J
>>291
もう一台PCがあって、カーネルデバッガが起動できるようならリモートデバッグ

それ以外だと、オプションをOFFしまくった小さなカーネルが起動できるかチェックし、
起動できたら少しずつ足していくか、モジュール化しといてinsmod手打ちで落ちる所を捜す

動くカーネルとのオプションの違いや、コンパイラが腐ってないかなどはあらかじめチェックすること
0299login:Penguin02/01/25 13:34ID:GUMC5F4J
>>297
ディスクで正しい、メモリをメタな意味で用いているならそれも正解
0300login:Penguin02/01/25 13:52ID:GUMC5F4J
>>293
実行イメージは単体(OSは介在していい)でプロセスの起動まで持っていける
プログラムとデータなどをまとめたもの。
LinuxでOSがプログラムとデータを認識できるようにELFというフォーマットを
主に用いる。ELFは複数のプログラムとデータをチャンク(セクションと呼ばれる)として
持つ、イメージ的にはプログラムやデータの個々のファイルを、アーカイバで1つにしていると
考えるといい。
ELF内のプログラムはフツー再配置情報へのリンクを含んだ実行コードそのものと、
再配置情報、シンボルなど複数のチャンクとして格納されている。データも同様で
初期化の他のデータや、あらかじめ獲得するデータ領域などに分けられ格納される。
その他、デバッグ情報や、チャンクの配置情報などもチャンクとして格納される。

デバッグ情報などチャンクのなかで、さらに別なフォーマット(coffなど)として
格納されているものもある。

OSは実行イメージをプロセスとして変換する際、これらの情報から実際に実行可能な
コードと適切に配置されたデータを生成し、実行スケジューリングに追加する。
0301anonymous02/01/25 14:16ID:SWm1VQvW
>300

Thank You
0302名無しさん02/01/25 15:15ID:IiT72Jq6
>>291

LKST https://sourceforge.net/projects/lkst/
0303 02/01/25 20:29ID:gMh2q5dU
>>302
話題のやつですね。使ってみた人います?
FreeBSDのcrashdumpやkerneldebuggerは使ってみたことあるんですが、
crashdumpは便利だったけどkerneldebuggerは・・・て感じだったんで、LKSTはどうなんだろう?と。
Docを読んだ限りではdebuggerではなくtracerだな、て感じでしたが。まあ名前のとおりなんですが。
0304もなー君@お腹いっぱい。 02/01/25 21:40ID:bz8Zsrcu
>>300
実はELF-DOSはMZ形式のEXEじゃなくて、ELF(386)形式をサポートしてるんだYO!

とかいってみるテスト
0305kernel02/01/25 22:45ID:AiDxywi8
http://www.linux.or.jp/JF/JFdocs/readkernel.html#ss2.1

にある
メモリー上のアドレス 0x7c00

の  0x7c00  って?
0306もなー君@お腹いっぱい。 02/01/25 22:59ID:bz8Zsrcu
>>305
0x7c00は、ブート時にBIOSがディスクからIPLセクタを読み込んで配置するアドレス。
IPLセクタには、ブートマネージャやOSローダなどが書き込まれている。
つまり、BIOSによってディスクの先頭セクタ(IPL)が0x7c00番地にロードされ、実行される。

       ∧_∧
       ( ´Д`)  <1セクタ512バイトしかないから、IPL上で他のセクタをロードして
      /    \  <ブートアップしていくのが普通。
   _  | |  ∬ | |_..∬
  |\ ̄ ̄ ̄旦 ̄ ̄ 旦.\ 
 ./..\\          \   
/   \|================|  
\    ノ             \
  \                .\
    \               ..\_
      """"""""""""""""""″″′
0307IBM02/01/26 00:58ID:qkQVL9nG
>306

Thank You
0308login:Penguin02/01/26 01:36ID:UX7CiKAA
>>307
おぃおぃお前がゆーな
つか答えろ
0309IBM02/01/26 02:08ID:qkQVL9nG
Linux カーネル 2.4 の最新動向(第3回)!!

http://www-6.ibm.com/jp/linux/developers/ISEtechinfo/linux003.html
0310login:Penguin02/01/26 20:51ID:zSXZ5gOy
age
0311login:Penguin02/01/27 05:29ID:r2XC415p
各モジュールの依存関係と参照関係を管理しているデータ構造がよくわからん。
struct module の
depsメンバーと, refsメンバー
だれか図に書いて教えて
0312login:Penguin02/01/27 11:31ID:Z/G/YqfA
age
0313login:Penguin02/01/27 17:48ID:jQmpel0O
VRAMに直接データを書き込んでディスプレイに描画するサンプルプログラムプリーズ
0314login:Penguin02/01/27 23:16ID:Frv9vH0P
>>313
ってか、何がしたいの?
それって、Frame Bufferでいいんでは?
jfbterm のソース見れば?
http://www3.justnet.ne.jp/~nmasu/linux/jfbterm/indexn.html
0315login:Penguin 02/01/27 23:25ID:sK7/TLsv
お前ら人に教えてもらうんじゃなくて
少しは自分で解析しろよw。
皆そうしてやってんだからさ。
0316login:Penguin02/01/28 00:11ID:QstxY/nc
皆さん一緒に「オマエモナー」
0317Su02/01/30 20:26ID:AvPSuSyK
あげ
0318APC02/01/30 20:35ID:AvPSuSyK
http://www03.u-page.so-net.ne.jp/da2/h-takaha/internal/node11.html#SECTION02140000000000000000
スケジューラはidleと呼ばれる何もしないプロセスに実行権を渡す。


これはソースのどのあたりを読めばいいですか?
0319login:Penguin02/01/30 20:59ID:Lx5WPMzl
>>318 スケジューラなので kernel/sched.c
repeat_schedule: あたりか?
0320名無しさん02/01/30 21:37ID:650NkqOF
>>311
include/linux/module.h を眺めたが
struct moduleのdepsとrefsって
module_ref でこいつはただのlinked listちゃうの?

|module|
^
| dep
|
|module_ref|-next_ref->|module_ref|-next_ref->...
|
| ref
v
|module|

|module|-next->|module|-next->...

思いきり簡略化するとこんなかんじとちゃう?
0321名無しさん@お腹いっぱい。02/01/30 23:27ID:BrO/yEox
http://www.amazon.co.jp/exec/obidos/ASIN/4894714566/
これはよいかも。おれ明日買いにいってみる。
0322login:Penguin02/01/31 00:59ID:o+EauUH6
どなたかLinuxデバイスドライバに関するスレを作っていただけないでしょうか。
当方大手プロバイダな物でnew Thread("Linuxデバイスドライバ")できません。

イーサネットドライバの書き方教えてくださいませ。
一応ソース読んだけど挫折中、、、
0323login:Penguin02/01/31 01:11ID:t3s191ys
じゃ、作るよー。
032432302/01/31 01:16ID:t3s191ys
たてたよ。
いい加減で悪いけど。
0325login:Penguin02/01/31 01:48ID:R8TIzJku
ディバイスドライバをハックしよう
http://pc.2ch.net/test/read.cgi/linux/1012407270/l50
0326anonymous02/01/31 17:35ID:XkNXES9H
>319

sched.cには
repeat_schedule
というモジュールはないです。
sched.cの何行目くらいでしょうか?
0327telnet02/01/31 17:41ID:XkNXES9H
mmap メモリマッピングは具体的に
Linuxではどういうケースでどういうケースで使うのでしょうか?

メモリマップの具体的なしくみははじめて読む486で理解しています

032831902/01/31 18:01ID:VzRMG8cD
gotoのlabelだからモジュールぢゃないと思うが、
vesion 2.4.17だとこんなかんじです。

603 repeat_schedule:
604 /*
605 * Default process to select..
606 */
607 next = idle_task(this_cpu);

idle_task()を追いかければ分かると思われ。
0329anonymous02/01/31 19:40ID:bRdhNRMb
>328
Thank You
0330login:Penguin02/01/31 21:41ID:U++Ss/ms
http://www.zdnet.co.jp/news/0201/31/e_linux.html
LinuxはもはやTorvalds氏の手に余るのか

ってここに貼っていいんだっけ?
0331☆中身丸見えなネットキャバクラ嬢HP02/01/31 21:55ID:qyVVAuwK
現役サクラがやってるHPなんだけど
中を見ると、ネットキャバクラの派遣業務(スカウト)も
やってるんだけど、セキュリティ甘すぎで
応募してきた女のデータが丸見え(藁
こんな甘いセキュリティーでいいのか??

ついでに書くけど、派遣やスカウト業務って
労働大臣に報告しないとやっちゃいけないんだってね。

テレギャル日記
http://book-i.net/shiyo/

参考
http://school.2ch.net/test/read.cgi/part/1012407397/l50
http://school.2ch.net/test/read.cgi/part/1001553767/l50
0332login:Penguin02/01/31 22:13ID:VzRMG8cD
>>330 cvs使っとけてことだろ(藁
そこんとこどうよ? >>333
0333anonymous02/01/31 22:24ID:gjVN0d1d
リーナスは21歳でLinuxを書いたそうだが、
はっきりいって驚きです
0334login:Penguin02/02/02 10:57ID:ZMxM5ZSu
2つ質問させていただきます。

1.全てのプロセスはユーザースタックとカーネルスタックの2つのスタックを持っているという認識は合っていますか?
2.プログラムカウントレジスタが指しているアドレスは論理アドレスですか?それともリニア、物理アドレスですか?

よろしくお願いします。
0335login:Penguin02/02/02 11:27ID:QwE3ggcc
>>334
テスト勉強は、友達か先生に聞いてください。
0336login:Penguin02/02/03 20:10ID:urBW9ceP
mapファイルはいつ、どこに作られるのですか?
System.mapは作られるタイミングわかったんですけど
mapはどこで作られてるのか・・・さっぱり
033733602/02/03 22:07ID:urBW9ceP
たとえばCD-ROMインストールするときなどは
CD-ROMからカーネルを持ってくると思うんですが
カーネルをコピーしたあとに LILO を打つのに
map=/boot/map
のこのmapはどこから持ってくるんですか?
とりあえずDebianのCD-ROMの中にはありませんでした。
0338オリスレ102/02/04 16:32ID:zNf2nkG9
少しでも技術的なスレをあげましょか。

厳密に言えばmapファイルはKERNELとはあまり関係がない。これはLILOが使う
情報ファイルであり、この情報を使わないローダーを作ることも可能。
/boot/mapは、lilo.confを変更した後に実行する"/sbin/lilo"により作られる。
この時に同時に1st loderに2nd loader、/boot/mapのセクタ位置も書き込まれる。
実際にLILOが/boot/mapを読むコードはsecond.sのldsc:というラベルの辺りにある。
0339login:Penguin02/02/05 21:13ID:JQSzVmkT
LINIXはノンプリエンティブ カーネル
Widows9Xは プリエンティブ カーネル
もう少しわかりやすく説明して下さい
0340login:Penguin02/02/05 21:17ID:8yPPH2y0
>>339 Windows9Xカーネルは糞だということ。
0341login:Penguin02/02/05 21:18ID:cjWnFjQH
ん? Windows 9x の*カーネルが*プリエンプティヴなの?
0342login:Penguin02/02/05 21:45ID:3XUKmv4C
Windowd9xは擬似(以下略)だね
0343login:Penguin02/02/05 21:48ID:xTemToT9
Mac OS 9 以下もね。
0344login:Penguin02/02/05 22:09ID:JQSzVmkT
>342
日経バイト(つまらん雑誌だが)に
Windowsのロードマップを解説してあり、その中に
Windowsをプリエンティブカーネルと紹介してあった
0345 02/02/05 22:36ID:ac3U4odz
win9xのカーネルってどこまでを指すんだろね?>>344
0346login:Penguin02/02/06 00:15ID:CkGAoDS/
Linux の*プロセス*はプリエンティブである!
0347login:Penguin02/02/06 18:11ID:CbSD5861
http://www.atmarkit.co.jp/fwin2k/special/win9xorwin2k/win2kprocess_4.html
こんなんがあったぞ。
win のことだけど初心者にとってはスケジューリングの仕組みについて参考になるかも。
茶を濁したようだったらスマソ
0348login:Penguin02/02/07 20:45ID:KeZhLQ6z
age
0349REd02/02/08 10:59ID:SBI5gws8
make の意味が初心者にもわかりやすく解説してあるサイト、書籍希望
0350login:Penguin02/02/08 11:51ID:/7nCIwuy
>>349
1987年あたりのOh!X12月号

85年だったかな?
0351名無しさん@Emacs02/02/08 11:54ID:/gFPMDAN
>>349
漏れも興味があったので探してみた。
http://www.google.co.jp/search?hl=ja&q=GNU+make+%89%F0%90%E0++%8Eg%82%A2%95%FB++Makefile++-Amazon&btnG=Google+%8C%9F%8D%F5&lr=

↑一応の検索結果
みつかんないことないじゃん。

ttp://kofukan.nmn.jp/jp/Yamadori/make.shtml
ttp://www2.startshop.co.jp/~68user/unix/pickup?gmake

でも、Hit数が多すぎて寄りわけが大変(w
0352login:Penguin02/02/08 12:54ID:yqzyJOrB
パッチ管理システムって何をするための物なんですか?
cvsじゃ、だめなんだろうか。
0353@@@02/02/09 19:07ID:BxQSwRbk
MINIXのソースのアセンブリ言語で書かれている部分て
どんな文法ですか?(なんか変な質問)
あと、MINIXのソースはどうやってコンパイルするのですか?
0354名無しさん@Emacs02/02/10 04:09ID:/Yna3/+b
>>327
> mmap メモリマッピングは具体的に
> Linuxではどういうケースでどういうケースで使うのでしょうか?

FreeBSD PRESS 読め。
0355login:Penguin02/02/17 03:11ID:wXNMmwBm
age
0356login:Penguin02/02/17 04:43ID:q2RiODNo
                   ,、
                  / .\
                /ζ 禿  \
              / ̄ ̄ ̄ ̄\.\
. ________,/         \\________
 \           //\    \  /  | ̄\            /
   \  叩   /  |||||||   (・)  (・) |  \  騙   /
    \   /   (6-------◯⌒つ |  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      \/    |    _||||||||| | < カツヲめ、またワシを召還しおったな!
      /\     \ / \_/ /   \___________
    /   \   (( \____/ ))    ./   \
   /  逝   \                 /  煽   \
 /         \ ________/         \
   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               \  氏   ./
                \   /
                  \/
http://www.puchiwara.com/hacking/
0357login:Penguin 02/03/02 22:12ID:acfYBPiM
Lion's Commentary on UNIX を今日買った。
035848402/03/03 01:05ID:T7JEzMm9
Linuxカーネル2.2あたりをよむ方がいいような
0359login:Penguin02/03/03 17:08ID:WsSnuBVI
>357
多分学生さんだと思いますが,
どうですか 読んでみて
0360login:Penguin02/03/03 17:24ID:1pDkR8wB
学生じゃないとLinuxのソース読むような暇は取れないよな
学生時代にどれだけ基礎体力を蓄えるかでSEとしてのその後の人生が決まると思ふ
036135702/03/03 23:14ID:1ClZlz9s
>359
malloc.cで挫折しました。
私にはまだこの本を読むだけの素養がないことを痛感致しました。
0362名無しさん@お腹いっぱい。02/03/04 02:48ID:r500tR00
まず本で予備知識を!
http://page5.auctions.yahoo.co.jp/jp/auction/e7666037
0363login:Penguin02/03/06 00:04ID:j2wxpcrr
>「メインメモリ」が不足した場合に、その不足部分をハードディスクの一部の領域に待避させて、代替させることができます。この場合に、ハードディスクの中の待避領域を「仮想メモリ」といいます。

Linuxカーネルを語るときに使う「仮想メモリ」と上記のWindowsでのSwapの意味での「仮想メモリ」って別物ですよね?
0364login:Penguin02/03/06 00:36ID:VoZ13GuD
>>363
基本的には同じでわ?
0365login:Penguin02/03/06 06:04ID:pruE8kEE
>>363
仮想メモリ=リニアアドレス空間
っと思ったりする。
0366名無しさま02/03/06 22:14ID:lCrfYxtD
VM上のメモリ?
0367login:Penguin02/03/07 23:39ID:mjFXHr66
>> この場合に、ハードディスクの中の待避領域を「仮想メモリ」といいます。

> Linuxカーネルを語るときに使う「仮想メモリ」と上記のWindowsでのSwapの
> 意味での「仮想メモリ」って別物ですよね?

確かにこの説明は、仮想メモリじゃなくて、スワップ領域の説明だが、
Windows が Linux と違うんじゃなくて、単にこの説明書いた奴が分かってないだけ。
Linux でいう場合の仮想メモリと、Windows でいう場合の仮想メモリは同じ物。

> 仮想メモリ=リニアアドレス空間
> っと思ったりする。

おいおい。
物理メモリだって、リニアアドレスだったりするだろう。これも変だ。
0368login:Penguin02/03/10 13:20ID:9TPve/Qe
>> 367
多分365が言っているリニアアドレスはx86用語でのもの。

virtual address(?) -> セグメントによる変換
-> linear address -> ページングによる変換 -> physical address

それにしても仮想メモリとリニアアドレスは違うけど。
■ このスレッドは過去ログ倉庫に格納されています