BSD kqueue:技術的負債の山
2024-12-29
この記事では、ネットワークプログラミングにおけるBSD kqueueとLinux epollの違いについて掘り下げています。kqueueはイベントフィルタを使用し、強力な機能を提供しますが、合成性に欠けており、技術的負債が蓄積されます。一方、epollはカーネルハンドルを直接操作し、より高い合成性を持ち、ソケット、ファイルシステムパス、タイマーなど、様々なカーネルリソースの柔軟な監視を可能にします。著者は、epollのデザインは、新しい機能ごとにkqueueに新しいイベントフィルタタイプを追加し続けるという問題を回避するため、優れていると主張しています。