2007-10-13から1日間の記事一覧

なぜ非同期I/OのAPIが存在するのか

Linuxでは、ユーザー空間で使用できる非同期I/Oを使う手段としては、2種類あります。 aio_readなどを使うPOSIX準拠の非同期I/O io_setupなどを使うシステムコールによる非同期I/O しかし、LinuxのI/Oは同期?非同期?で、LinuxのI/Oがたいていの場合、非同…

LinuxのI/Oは同期?非同期?

まず、ここでLinuxのI/Oについて、簡単に説明します。 基本的に、LinuxのI/Oは、非同期で行われます。非同期というのは、I/O要求とディスクアクセスは同期していないということです。ふつうにwrite()を呼んでも、ディスクに書き込み要求がいきません。read()…

Linuxの非同期I/Oについて

最近、LinuxのI/Oまわりについて調べていた延長で、ちょうど一年ぐらい前にlighttpdの1.5が採用して性能があがったといわれた、非同期I/Oまわりについて調べてみたので、これから現状自分がわかっている範囲でのまとめと疑問点を書いてみます。ひとつのエン…

POSIX準拠の非同期I/O

これは、ライブラリ関数として実装されており、以下の関数群を持ちます。 aio_read(),aio_write(),aio_fsync(),aio_error() aio_return(),aio_cancel(),aio_suspend()詳しい使い方は説明しませんが、aio_read(),aio_write()を使い、I/O要求を発行します。I/O…