コース目次 / 第3章
まとめ — OSとの境界を、覗く目
straceで見たwrite()の呼び出しと、システムコールが引数と返り値を持つ契約であることを畳みます。次のコース(mini-proc)への橋渡しをします。
たった1行のwrite()の裏に、動的リンクという大きな下準備があること。そして、システムコールが曖昧さのない、引数と返り値を持つ契約であること。この2つを、自分の目で確かめました。
mini-syscall・早見表
| straceの使い方 | 用途 |
|---|---|
strace ./プログラム |
発行される全システムコールをそのまま見る |
strace -e trace=write ./プログラム |
特定のシステムコールだけに絞り込む |
strace -c ./プログラム |
種類ごとの呼び出し回数・所要時間を集計する |
「動いて当たり前」に見える処理も、内側ではOSとの明確なやり取りがあります。この視点は、mini-procで見るプロセスの構造や、sec-cで見るメモリ管理の話にもつながります——どちらも、システムコールというOSとの境界の、もう少し先の話です。
次の道
次はmini-procで、システムコールを発行しているプロセスそのもの——その仮想メモリの構造——をのぞきます。
お疲れさまでした。プログラムがOSに何を頼んでいるか、もう見えないブラックボックスではありません。
こうなっていればOK
この章で卒業です。
この章はまだ完了していません。
保存できませんでした(プライベートブラウズ中かもしれません)。この端末に進捗は残りませんが、先へは進めます。