深掘り:OpenBSDにおける`write()`システムコールの追跡
2025-03-29
この記事では、OpenBSDにおける`write()`システムコールの低レベル実装を深く掘り下げます。ユーザー空間の`write()`コールから始まり、カーネル内でのデータの経路をたどり、システムコールからNVMeハードドライブへのデータ書き込みまでの完全なパスを詳細に説明します。この記事では、`mi_syscall`、`sys_write`、`dofilewritev`、`vn_write`、`ffs_write`、`uiomove`、`bdwrite`、`syncer`、`bwrite`、`ufs_strategy`、`spec_strategy`、`sdstrategy`、そして最終的にNVMeドライバなど、カーネル関数の呼び出しチェーンを明らかにします。様々な抽象化レイヤーにおけるデータ変換と転送、キャッシングメカニズムやDMA転送などの重要な技術的詳細を示しています。
開発