議論/プロセス空間/exec


Top / 議論 / プロセス空間 / exec

ファイルを読み込んでプロセス生成する過程を考える(exec?)

案1 ひげぽん

  1. shellは自分の空間にファイル内容を読み込む。
  2. 新プロセス空間を作成とともにshellの空間からも新空間にアクセスできるようメモリマッピングしなおす。
  3. shellはそこにバイナリイメージを書き込む。
  4. shellはマッピンを解除。自分からはバイナリイメージが見えなくなる。
  5. 新プロセスをRunキューへ入れる。

案2 ひげぽん

  1. shellはカーネル空間にファイル内容を読み込む。
  2. 新空間をとりあえず空で作成する。
  3. 新空間のEIP=INIT()とする。
  4. 新プロセスをRunキューに入れる。
  5. 新プロセスの最初のお仕事はINIT()実行。
    1. INIT()では。カーネル空間から自分の空間へバイナリイメージのロードを行う。
  6. INIT()の最後に読み込んだイメージへjmp

案1変形 ひげぽん

  1. shellは自分の空間にファイル内容を読み込む。
  2. shellはバイナリイメージを自分の空間に作成
  3. shellはシステムコールでバイナリイメージ作成アドレスサイズをわたす。
    1. システムコール内でプロセス空間マッピング
    2. バイナリーのマッピング
    3. Runキューに入れる。

その後

コメント

  1. shellは自分の空間にファイル内容を読み込む。
    • ELFファイルをそのままメモリに読み込む。
  2. 新プロセス空間を作成とともにshellの空間からも新空間にアクセスできるようメモリマッピングしなおす。
  3. shellはそこにバイナリイメージを書き込む。
    • 読み込んだファイルを加工して書き込み。 のようにしています。-- ひげぽん 2003-11-02 (日) 21:04:08

コメントはありません。 コメント/議論/プロセス空間/exec?

お名前:

MENU

now: 1

リンク


最新の20件
2018-05-03 2017-09-29 2017-04-25 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-06-05 2016-05-29 2016-04-15 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 3275, today: 2, yesterday: 0

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2008-03-28 (金) 15:48:02 (3794d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.023 sec.