リアルタイムスキャン時(fanotifyを使用する場合)に関する主なモジュールとその関係は以下の図のようになります。
この図では、ファイルを開いた場合の処理の流れの概要も示しており、以下のような流れになります。

①.ユーザー空間のアプリケーションがファイルを開くには、Linuxのシステムコールを呼び出します。
②.Linuxのカーネルのファイルシステムは、fanotifyのサブシステムへの通知を転送し、処理するための許可を待ちます。
③.アクセスデーモン(fsaccd)は、fanotifyのサブシステムからのアクセス要求を受け取ります。
④.fsaccdは、オンアクセススキャンデーモンの下半分(fsoasd_bhのプロセス)にアクセス要求を転送します。
⑤.fsoasd_bhは、オンアクセススキャンデーモンの上半分(fsoasd_th)にアクセス要求を転送します。
⑥.fsoasd_thは、ウィルス検査デーモン(fsavd)にスキャン要求を転送します。
⑦.fsavdはウィルス検査を行い、結果をfsoasd_thに返します。
⑧.fsoasd_thはfsoasd_bhに結果を返します。
⑨.fsoasd_bhはfsaccdに結果を返します。
⑩.fsaccdは、アクセス要求を許可または拒否します。
⑪.fanotifyのサブシステムは、ファイルの開く処理を許可するか、または中止します。
⑫.許可する場合、ファイルシステムはファイルを開き、アプリケーションにハンドル(ステータス?)を返します。
各デーモンプロセス(fsaccd、fsoasd_bh、fsoasd_th、fsavd)は、異なるタスクを実行します。
● fsaccd (3サブプロセス)
-キャッシング、マウントポイントの監視、パスの除外
● fsoasd_bh (10サブプロセス)
-fanotify/dazukoの透明性、耐障害性
●fsoasd_th (1プロセス)
-ポリシー/設定オプション
● fsavd (>2サブプロセス)
-マルウェア分析
※ ファイルを閉じた場合も、同様の処理の流れとなります。