(再スケジュール中) スタート低レイヤー #7 #start_printf (要参加費1000円)
こんどはfork/exec/systemのしくみをソースコードから読解しましょー
コンピューター
主催者
Go! Go! jhc-tan!
masterq_teokure
編集者
開催日時
2014年5月31日(土) 14:00
開催場所
会場: 池袋バイナリ勉強会 会議室
住所: 東京都豊島区池袋 2-12-11 三共池袋ビル 4階 401号室
URL
http://start_printf.masterq.net/
ハッシュタグ
関連イベント
参加者
参加者 | 3 人 (仮参加者 0 人) |
---|---|
補欠 | 0 人 (仮参加者 0 人) |
キャンセル | 0 人 |
参加者
-
masterq_teokure : よろしくお願いします。
-
7shi : よろしくお願いします。
-
kusabanachi : よろしくお願いします。
補欠
現在補欠者はいません
キャンセル
現在キャンセルした人はいません
詳細情報
Twitterタグ: #start_printf
参加費: 1000円必要です、学生は無料!
いままでprintf関数がどのようにkernelの中の機能を呼び出すか見てきました。ひととおり終わったので、fork/execのしくみをソースコードから追い掛けてみようと思います。例えば、以下のようなユーザ空間で動くプログラムを動作させるとどのような経路でechoコマンドが起動されるのでしょうか?
#include <stdio.h> #include <unistd.h> #include <stdlib.h> int main(int argc, char *argv[]) { pid_t pid; pid = fork(); // START if (pid < 0) { fprintf (stderr, "fork error\n"); exit(1); } if (pid == 0) { execl("/bin/echo", "echo", "hahaha", NULL); // GOAL: echo command perror("/bin/echo"); exit(-1); } else { exit(0); } return(0); }
この勉強会は低レイヤーを理解するための初心者向け勉強会です。アプリケーションが動作した時に何が起きるのか、OSのソースコードとmanページを読みながら一歩一歩読解します。
だいたい学べる内容としましては以下となります。
- システムコール
- ユーザ空間=>カーネル空間へ
- プロセススケジューラ
対象とするOSは NetBSD です。
その他、本勉強会に関する情報は http://start_printf.masterq.net/ にまとめています。初回の様子 は左記のWikiページの生放送録画が参考になると思います。
持ち物
- ノートPC
- NetBSD-6.0.1ソースコード (取得方法) # <= これだけは絶対持ってきてください!
- NetBSD-6.0.1インストールisoイメージ
- タグジャンプの使えるエディタ (emacs or vim ?)
- VirtualBox https://www.virtualbox.org/
- MSYS http://www.mingw.org/wiki/MSYS(Windowsな人のみ)
- 折れない心
場所
会場の入口についてを参照してください。
コメント
masterq_teokure : 2014年4月25日(金) 21:16
すいません。岡部の体調不良で延期させていただけないでしょうか。。。 直前の連絡になって申し分けありません。5月のどこかで再度スケジュールしようと思います。 よろしくお願いします。
コメントを投稿するにはログインしてください。