FSEvents and inotify

正在看 Linux 的 inotify system call 的介紹,底下的留言 #165 提到,一個目錄被新增時,在 inotify 開始 watch 它之前(也就是 inotify_add_watch() 系統呼叫還在執行中尚未完成的這段時間內),目錄本身和目錄內發生的任何事情都沒有辦法抓到。

接下來就有人提到 OSX 當中的實作,FSEvents 系統。FSEvents API 允許應用程式監控一個目錄,當目錄有任何改變的時候,kernel 會將通知訊息透過 /dev/fsevents 傳遞給一個 userspace 的 process , fseventsdfseventsd 會合併在短時間內發出的大量 notification ,再通知應用程式。

其實 XNU 某些部分也是蠻先進的呢。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s