Linuxカーネルに関する技術情報を集めていくプロジェクトです。現在、Linuxカーネル2.6解読室の第2章までを公開中。
後述のスレッドも全く同じdo_fork関数で生成される。異なる点は、この関数が呼び出すときの引数だけである。
do_fork(フラグ, プロセスコンテキスト) 空きtask_structを一つ確保(alloc_task_struct関数) task_struct登録テーブルの空きスロットを得る(find_empty_process関数) プロセスIDを付ける(get_pid関数) task_structの各メンバの初期化 ファイルディスクリプタテーブルのコピー(copy_files関数) カレントディレクトリ、umask等のコピー(copy_fs関数) シグナル情報のコピー(copy_sighand関数) 親プロセスコンテキストのコピー(copy_thread関数) 仮想空間をCopy-On-Writeで複製コピー(copy_mm関数) 生成した子プロセスをRUNQに繋ぐ(wake\_up\_process関数)
(NIS)HirokazuTakahashi
2000年06月11日 (日) 22時29分57秒 JST1
[PageInfo]
LastUpdate: 2008-08-27 14:45:18, ModifiedBy: hiromichi-m
[Permissions]
view:all, edit:login users, delete/config:members