Quantcast
Channel: システム開発メモ
Viewing all articles
Browse latest Browse all 100

ディスクI/O操作方法の種類--Async/Sync/AIO

$
0
0

ディスクI/Oの操作方法はAsync/Sync/AIOの3種類ある。

Async
mount optionはasyncがデフォルト。
ページキャッシュが使われているため、write()コールが完了してもすぐにはdiskに書き出されない。
ページキャッシュからの書き出し失敗をアプリケーションは検知できない。

Sync
write()コールはページキャッシュが書き出すまで完了しない。
スレッド停止期間が長くなる。
エラーでプロセスが落ちた場合でも、write()コールが完了しているものについては、絶対にディスクにデータを反映したいときに使用する。

AIO
aio_write()コールで実行する。
aio_write()はasyncとsyncのいいとこどり。
asyncと同様に非同期で書き込むが、ページキャッシュが書き出し完了またはエラー時にsignalで通知されるため、アプリケーションが検知できる。
データベースの世界ではaio_writeの話がよく出る。

Copyright © 2017 システム開発メモ All Rights Reserved.


Viewing all articles
Browse latest Browse all 100

Trending Articles