投稿日
2012/2/22 水曜日
テキストの27ページ
第0章で見たように、execは現在のプロセスのメモリとレジスタを新しいプログラムで置き換える。
しかし、ファイルディスクリプタ、プロセスID、親プロセスは同じままである。
図1-4は実行中のプロセスのユーザメモリのイメージを表している。
ヒープはスタックより上位にあり、拡張可能である(sbrkによって)。
スタックはただ一つのページであるという事と、execによって作られた初期の内容が示されている。
コマンドライン引数に対するポインタの配列はもちろん、その文字列自体もスタックの一番上にある。
そのちょうど下からは、main(argc, argv)関数の呼び出しがちょうど開始された瞬間に、プログラムをmain関数から開始するための値が置かれる。
図1-4 ユーザプロセスとその初期スタックのメモリレイアウト
短くて分かりやすい節ですが、それでも不明な点はあります。
例えば図のスタックのaddress of argument 0がargv[argc]でaddress of argument Nがargv[0]と書いてある部分です。
単に逆じゃないの?と思ったわけですが、次の節Code: execで何か分かるかもしれません。
最近のコメント
名前
しゅごい
Jane Doe
FYI Avoid Annoying Unexpe…
Jane Doe
ご存じとは思いますが、whileには、”~の間”と…
peta_okechan
針金みたいなパーツを引っ張ると外れます。 他の方の…
虎徹ファン交換
虎徹の標準ファンを外す際に、どのようにして外されま…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…