dnotify: Linux ядросындағы файлдық жүйе оқиғаларын бақылау құралы
Dnotify
dNotify – Linux ядросының файл жүйесі оқиғаларын бақылайтын құралы. inotify-мен алмастырылған, бірақ үйлесімділік үшін сақталады. Файл жүйесіндегі өзгерістер туралы хабарлайды.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
dnotify – Linux ядросы үшін файлдық жүйе оқиғаларын бақылау құралы, fcntl шақыруының қосалқы мүмкіндіктерінің бірі. Ол 2.4 ядролық сериясында енгізілді. Қазіргі кезде inotify-мен алмастырылған, бірақ үйлесімділік үшін сақталып келеді. Оның негізгі функциясы – файлдық жүйедегі өзгерістерді анықтап, осы өзгерістер туралы бағдарламаларға хабарлау арқылы файлдық жүйелерді кеңейту болып табылады. Бағдарламалар файлдық жүйедегі өзгерістерді үнемі тексерудің орнына, файлдық жүйеде өзгерістер болғанда ядродан хабар алуға тіркеле алады. Бағдарламалар бақылауға алынатын каталогтар мен хабарланатын өзгерістердің түрлерін таңдай алады. Оның маңызды қолданылуының бірі – Beagle сияқты жұмыс үстеліндегі іздеу құралдары. Оның мүмкіндігі арқасында файлдық жүйені әрбір бірнеше минут сайын сканерлеусіз, өзгертілген файлдарды қайта индекстеуге болады, бұл өте тиімсіз болар еді. Ядро файл өзгергенін тікелей хабарлағандықтан, белсенді түрде іздеудің қажеті болмайды. Осылайша, Beagle және осындай құралдар өте аз жүйелік ресурстарды қолданып, тек бір секундқа жуық уақытта қайта индекстеуді жүзеге асыра алады (dnotify осылайша мұндай бағдарламаларды тиімді пайдалануға мүмкіндік береді; жүйелік өнімділікті айтарлықтай төмендетіп, пайдаланушыға арналған мүмкіндіктерді ұсынатын демонды дистрибьюторлар көбінесе қабылдамайды).
dnotify is a file system event monitor for the Linux kernel, one of the subfeatures of the fcntl call. It was introduced in the 2.4 kernel series. It has been obsoleted by inotify, but will be retained for compatibility reasons. Its function is essentially an extension to filesystems to notice changes to the filesystem, and report those changes to applications. Instead of application checking for changes to filesystem, application can register to be notified by kernel when changes to filesystem occur. Application can select directories to monitor and types of changes to be notified for. One major use is in desktop search utilities like Beagle, where its functionality permits reindexing of changed files without scanning the filesystem for changes every few minutes, which would be very inefficient. By being told that a file has changed directly by the kernel, rather than actively looking, Beagle and such utilities can achieve change to reindexing times of only about a second, with very small performance hits (dnotify therefore enables the use of such programs in a sensible manner; daemons are generally not accepted by distributors if they drain system performance noticeably to provide userland functionality).
Шектеулер
dnotify тек каталогтарды ғана қадағалай алады. dnotify пайдаланушы қадағалауды қалайтын каталогқа ашық файл дескрипторын сақтап тұруды талап етеді. Біріншіден, каталог ашық болғандықтан, ол орналасқан құрылғыны ажырату мүмкін емес. Екіншіден, қадағалау тізімі процестің ашық файлдар санының лимитімен шектеледі.
dnotify can only watch directories. dnotify requires maintaining an open file descriptor to the directory that the user wants to watch. First, the directory is open, hence disallowing the device on which it resides from being unmounted. Second, watchlist is limited by open file limit of the process.