セキュリティ · 低レイヤー・システム

システムコールを覗く

手元のstraceを使って、プログラムとOSの境界であるシステムコールを観察します。

実習
localhost で実習
環境構築
重さ 1 / 3
前提
mini-linux 修了
倫理
第0章の法と倫理ゲートへの同意が必須です。

読み込み中…

プログラムがOSに頼む瞬間を、あなた自身の手元のstraceでのぞきます。write(2)だけでhello worldを書いてみます。

章の一覧

  1. 未完了第0章はじめに — プログラムとOSの、境界線システムコールがユーザープログラムとOSカーネルの境界であることを理解します。straceが手元にあることを確認し、法と倫理ゲートに同意します。約4分次はここ
  2. 未完了第1章write(2)だけのhelloを、straceで見るwrite()のみを呼ぶ最小限のプログラムを書き、straceで全システムコールを観察します。想像以上に多くの下準備が行われていることを確認し、-e trace=で目的のシステムコールだけに絞り込みます。約12分次はここ
  3. 未完了第2章write()という、依頼の中身を読むwrite(fd, buf, count)の3つの引数と返り値の意味を読み解きます。システムコールが引数と返り値を持つ明確な契約であることを理解し、strace -cで呼び出し回数の統計を見ます。約10分次はここ
  4. 未完了第3章まとめ — OSとの境界を、覗く目straceで見たwrite()の呼び出しと、システムコールが引数と返り値を持つ契約であることを畳みます。次のコース(mini-proc)への橋渡しをします。約3分次はここ

詰まったときはお助けページへ。章ごとのファイル一式をダウンロードして、途中から再開できます。