社内勉強会でI/Oにまつわるシステムプログラミングについて発表している。発表資料が溜まってきたので、一般公開してみることにした。識者からのツッコミ歓迎。(このブログにコメント機能はないので 私のTwitter までお願いします)
内容は、open(2)
、read(2)
等のシステムコールからはじめて、標準Cライブラリの関数 fopen(3)
、fread(3)
を確認。その後、プロセス及びスレッドについて軽く復習し、pipe(2)
を用いたプロセス間通信について触れる。そして、ソケットを用いたネットワークプログラミングで echo サーバを書く。このとき、クライアントの待受を多重化する方法についても紹介。最後は memcached のソースコードを斜め読みする、という流れになっている。現在、発表はネットワークプログラミング編の途中まで済んでいる。
2017/11/17追記: 本シリーズの発表は終了した。
全部Googleスライド。どこでも編集できるのは便利。
この内容は そのうち本にしたい が、現在競プロのため滞っている。