Leopard解体新書--第5回:ファイル監視を行うFSEvent
木下誠(HMDT)
2007/11/13 19:20
今回はTime Machineを補助する「FSEvent」を取り上げる。FSEventはファイルシステムに発生したイベントを監視して、通知するフレームワーク。RubyCocoaで実験もしてみよう。
前回はTime Machineを紹介したが、今回はTime Machineを補助するフレームワークを取り上げよう。FSEventと呼ばれるものだ。
どのフォルダでバックアップを行うべきか?
前回の記事で、Time Machineはバックアップをフォルダごとにコピーして管理していることを解説した。このときに、変更されたファイルを含むフォルダのみバックアップの対象とすることで、効率化を図っている。では、このバックアップの対象にするフォルダというのは、どうやって決定されるのだろう?
もちろん、現在のシステムのファイルと、バックアップされたファイルとをすべて比較すればできるのだが、一時間ごとにそんな時間のかかる処理を行うことはできないだろう。常識的に考えて、ファイルやフォルダに対する変更が発生するたびにそれを記憶しておき、その情報を使うことになる。
では、そのような機能はどうすれば実現できるだろう?似たような機能を提供するものとしては、Kernel Queuesがある。これはBSDに由来する技術で、ファイル(正確に言えばファイルデスクリプタ)に対するイベントを監視して通知してくれるものだ。kqueue()とkevent()というシステムコールを利用する。
これを利用すれば、確かにあるファイルの変更を記憶しておくことができる。だがKernel Queuesは、1つのキューが1つのファイルを監視する、という前提で作られている。Time Machineで必要になるのは、システムの大部分のファイルの監視だ。Kernel Queuesには、ちょっと相性が悪い。
そこで、Leopardでは新しいフレームワークを追加して、この仕事をやらせることにした。それが、FSEventだ。次ページでその詳細をみていこう。
- 0人の推薦記事
- 1人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(0)
- 特集: Leopard解体新書 (10件)
- 今日のトップ記事
- 昨日
- 2日前
- 3日前
- 6日前
- 7日前
- ホワイトペーパー
- 話題のタグ
Linux
Flash
Python
Webサービス
Tips
開発環境
Google
SOA
Internet Explorer
Mac OS X
HTML
携帯電話機
リファレンス
Apple
iPod touch
Java
Ajax
脆弱性
Firefox
入門
iPhone 3G
Adobe
RIA
Firefox 3
Webデザイン
小技
モバイル
オープンソース
CSS
データベース
iPhone
Leopard
仮想化ソフトウェア
Off Topic
Apache
server
ブラウザ
XML
JavaScript
Safari
プログラミング言語
仮想化
ソフトウェア開発
Database
Windows
プロジェクト管理
Ruby
Webアプリケーション開発
Mozilla
PHP
話題のタグを見る »
このアクセサリはiPhoneでは動作しません
iPhoneでコピー&ペーストを実現するオープンソースソリューションが登場
mixiサービス企画部長に聞く、「プラットフォームを開放する理由」
iPhone 3Gはメールにファイルを添付できないの?
発射台での度胸試し--J・L・ガセー氏が見た「MobileMe」の問題点
Firefox 3.1で強化されるHTML 5対応--Canvas Text APIを検証
つなげ! 速く、美しく、正確に--光ケーブル工事の技能を競う全国大会が開催
あなたのパワポ資料が近未来的に:MSがプラグイン公開
無料の「Oracle Database XE」で高速バッチ処理:活用のポイント
Rubyでどう書く?:RubyCocoa+Core Animationでお手軽アニメーション
ZDNet Japan ホスティング特集
セキュリティ対策レベルテスト公開!
ZDNet Japan Green IT
仮想化環境で求められるストレージの要件
Webセキュリティ特集
Techno Exchange
DELLが掲げる「新・仮想化アセスメントサービス」
APC SOLUTIONS FORUM 2008をレポート