शृंखला «Windows I/O की गहराई» का अंतिम भाग।
भाग 1 के डिवाइस स्टैक चित्र में «फ़ाइल सिस्टम फ़िल्टर (एंटीवायरस, एन्क्रिप्शन, Procmon आदि)» बॉक्स खींचने के बाद इस शृंखला में बीच में आने वाले बार-बार आए। Procmon हर I/O रिकॉर्ड क्यों कर सकता है (भाग 1)। «केवल उस वातावरण पर फ़ाइल पहुँच धीमी» (भाग 2)। खोलते ही OneDrive डाउनलोड शुरू करने वाला रीपार्स पॉइंट (भाग 5)। इस बार अंततः उस बीच में आने के तंत्र स्वयं — फ़ाइल सिस्टम फ़िल्टर ड्राइवर और मिनीफ़िल्टर — को सामने रखते हैं, शृंखला की बाकी कड़ियाँ समेटते हैं।
1. निष्कर्ष पहले
- «I/O में बीच में आना» OS-मान्य विस्तार बिंदु है। फ़ाइल सिस्टम फ़िल्टर फ़ाइल सिस्टम को अनुरोध देख, बदल, अस्वीकृत, स्थान पर संसाधित कर सकता है (अध्याय 2)।1
- वर्तमान मानक मिनीफ़िल्टर है। डिवाइस स्टैक में सीधे बीच आने वाले लेगेसी तरीके की समस्याएँ (क्रम अनिश्चित, अनलोड न हो पाना) हल करने को Windows के साथ आए फ़िल्टर मैनेजर (FltMgr) पर कॉलबैक पंजीकृत करने के तरीके पर पीढ़ी बदली (अध्याय 2)।23
- चाल pre/post कॉलबैक है। प्रत्येक ऑपरेशन के पहले और बाद पंजीकरण क्रम = अल्टिट्यूड क्रम से बुलाए जाते हैं। पास-थ्रू, पूरा करना, अस्वीकृत, बदलना — भाग 1 के «ड्राइवर के विकल्प» ज्यों के त्यों (अध्याय 3)।2
- अल्टिट्यूड (ऊँचाई) क्रम तय करता है। उपयोग-दर समूह को संख्या पट्टी दी गई (Activity Monitor 360000–389999, Anti-Virus 320000–329999 आदि), वॉल्यूम से जुड़े इंस्टेंस-दर अद्वितीय संख्या (अध्याय 4)।45
- आपके PC के निवासी
fltmcसे दिखते हैं। Procmon (चलते समय ही), एंटीवायरस, OneDrive का क्लाउड फ़िल्टर — सब यहाँ पंक्ति में (अध्याय 5)। - एंटीवायरस बहिष्करण सेटिंग «उस उत्पाद स्वयं का स्कैन छोड़ना» है, अन्य मिनीफ़िल्टर पर प्रभाव नहीं। बहिष्करण सुरक्षा कमज़ोर करने का समझौता है, विकास वॉल्यूम पर Dev Drive (अतुल्यकालिक स्कैन) अधिक सुरक्षित विकल्प है (अध्याय 6)।67
- «केवल उस वातावरण पर धीमा» जाँच Procmon Duration स्तंभ और
fltmcविन्यास तुलना से (अध्याय 7)।
इस लेख का ज्ञान मानचित्र
वर्तमान फ़ाइल सिस्टम फ़िल्टर का मानक मिनीफ़िल्टर है; डिवाइस स्टैक पर डिवाइस ऑब्जेक्ट सीधे चढ़ाने वाले लेगेसी फ़िल्टर से भिन्न, यह Windows के साथ आए फ़िल्टर मैनेजर (FltMgr) पर pre/post कॉलबैक पंजीकृत करने का तरीका है। बुलाए जाने का क्रम Microsoft आवंटित-प्रबंधित अल्टिट्यूड से निर्णायक तय होता है, fltmc कमांड से वास्तविक विन्यास देखा जा सकता है। एंटीवायरस, Procmon, OneDrive क्लाउड सिंक सब उसी तंत्र के निवासी हैं; बहिष्करण सेटिंग उसी उत्पाद स्वयं का स्कैन छोड़ती है और सुरक्षा कमज़ोर करने का समझौता रखती है, विकास वॉल्यूम के लिए Dev Drive अधिक सुरक्षित विकल्प है।
flowchart LR
accTitle: फ़िल्टर ड्राइवर और मिनीफ़िल्टर का ज्ञान मानचित्र
accDescr: फ़ाइल सिस्टम फ़िल्टर ड्राइवर, लेगेसी फ़िल्टर से मिनीफ़िल्टर की पीढ़ी बदलना, फ़िल्टर मैनेजर (FltMgr), pre/post कॉलबैक, अल्टिट्यूड और लोड-क्रम समूह, fltmc से अवलोकन, एंटीवायरस मिनीफ़िल्टर तथा बहिष्करण सेटिंग और Dev Drive, Procmon का मिनीफ़िल्टर के रूप में सब I/O रिकॉर्ड करने का तंत्र — इन संबंधों को दर्शाने वाला चित्र
minifilter["मिनीफ़िल्टर"]
filter_manager["फ़िल्टर मैनेजर (FltMgr)"]
legacy_filter_driver["लेगेसी फ़िल्टर"]
filesystem_filter_driver["फ़ाइल सिस्टम फ़िल्टर ड्राइवर"]
device_stack["डिवाइस स्टैक"]
load_order_instability["लोड क्रम की अस्थिरता"]
minifilter_callback["pre/post कॉलबैक"]
altitude["अल्टिट्यूड"]
load_order_group["लोड-क्रम समूह"]
fltmc["fltmc"]
altitude_request["अल्टिट्यूड आवेदन"]
procmon["Process Monitor (procmon.exe)"]
antivirus_minifilter["एंटीवायरस मिनीफ़िल्टर"]
cloud_filter["क्लाउड फ़ाइल फ़िल्टर (cldflt)"]
onedrive_files_on_demand["OneDrive फ़ाइल ऑन डिमांड"]
fast_io["फ़ास्ट I/O"]
scan_performance_cost["स्कैन से प्रदर्शन लागत"]
exclusion_setting["बहिष्करण सेटिंग (फ़ोल्डर बहिष्करण)"]
reduced_protection["सुरक्षा स्तर का घटना"]
dev_drive["Dev Drive"]
frame["FltMgr फ़्रेम"]
driver_object["ड्राइवर ऑब्जेक्ट"]
legacy_filter_driver -->|"लागू करता है"| filesystem_filter_driver
minifilter -->|"लागू करता है"| filesystem_filter_driver
minifilter -->|"का उत्तराधिकारी"| legacy_filter_driver
legacy_filter_driver -->|"अपेक्षित"| device_stack
legacy_filter_driver -->|"कारण बन सकता"| load_order_instability
minifilter -.->|"रोकता है"| load_order_instability
minifilter -->|"अपेक्षित"| filter_manager
filter_manager -->|"उपयोग करता है"| minifilter_callback
minifilter -->|"उपयोग करता है"| minifilter_callback
minifilter -->|"से कॉन्फ़िगर"| altitude
altitude -->|"से कॉन्फ़िगर"| load_order_group
altitude -->|"से जाँच योग्य"| fltmc
altitude -.->|"अपेक्षित"| altitude_request
altitude_request -->|"पहले करना चाहिए"| minifilter
minifilter -->|"से जाँच योग्य"| fltmc
legacy_filter_driver -->|"से जाँच योग्य"| fltmc
procmon -->|"उपयोग करता है"| minifilter
procmon -->|"उपयोग करता है"| minifilter_callback
antivirus_minifilter -->|"उपयोग करता है"| minifilter_callback
antivirus_minifilter -->|"से कॉन्फ़िगर"| altitude
cloud_filter -->|"स्वचालित करता है"| onedrive_files_on_demand
minifilter -.->|"उपयोग करता है"| fast_io
antivirus_minifilter -.->|"कारण बन सकता"| scan_performance_cost
exclusion_setting -->|"कम करता है"| scan_performance_cost
exclusion_setting -->|"कारण बन सकता"| reduced_protection
antivirus_minifilter -->|"से कॉन्फ़िगर"| exclusion_setting
dev_drive -->|"कम करता है"| scan_performance_cost
dev_drive -->|"कम करता है"| reduced_protection
antivirus_minifilter -->|"अनुशंसित उपाय"| dev_drive
filter_manager -->|"उपयोग करता है"| frame
frame -->|"से जाँच योग्य"| fltmc
legacy_filter_driver -->|"उपयोग करता है"| driver_object
minifilter -->|"उपयोग करता है"| driver_object
filter_manager -->|"अपेक्षित"| device_stack
filter_manager -->|"उपयोग करता है"| driver_object
चित्र में ठोस रेखा हमेशा सत्य रहने वाला संबंध दर्शाती है और धराशायी रेखा सशर्त संबंध दर्शाती है (शर्तें विस्तृत पृष्ठ पर प्रत्येक संबंध के स्पष्टीकरण में दी गई हैं)। संबंधों की पूरी सूची (कुल 35, साक्ष्य और निश्चितता सहित) तथा मुख्य अवधारणाओं की परिभाषाएँ ज्ञान मानचित्र के विस्तृत पृष्ठ पर संकलित हैं (जापानी में)। डेटा: JSON-LD / Turtle
2. बीच में आने वालों का इतिहास — लेगेसी फ़िल्टर से FltMgr तक
फ़ाइल सिस्टम फ़िल्टर ड्राइवर फ़ाइल सिस्टम (या उसके नीचे वॉल्यूम) की ओर अनुरोध बीच में ले सकने वाला ड्राइवर है। अनुरोध रिकॉर्ड, निगरानी, सामग्री बदलना, आगे अस्वीकृत या स्थानापन्न संसाधन तक — एंटीवायरस, एन्क्रिप्शन, बैकअप, पदानुक्रमित संग्रह सॉफ़्टवेयर का आधार।1
पुराना कार्यान्वयन (लेगेसी फ़िल्टर) भाग 1 के डिवाइस स्टैक पर अपना डिवाइस ऑब्जेक्ट सीधे चढ़ाने वाला था। तंत्र सीधा, पर व्यवहार में समस्याएँ भरी थीं — चढ़ने का क्रम लोड क्रम पर निर्भर गारंटी कठिन, एक बार चढ़ने पर सुरक्षित निकलना नहीं (अनलोड नहीं), फ़िल्टरों के बीच संगतता बग का घर।
इसलिए Windows ने फ़िल्टर मैनेजर (FltMgr) लाया। FltMgr स्वयं OS-साथ फ़िल्टर के रूप में स्टैक पर खड़ा, व्यक्तिगत फ़िल्टर कार्य मिनीफ़िल्टर के रूप में FltMgr पर कॉलबैक पंजीकृत करते हैं।2
flowchart TB
subgraph OLD["लेगेसी तरीका"]
L1["लेगेसी फ़िल्टर A"]
L2["लेगेसी फ़िल्टर B"]
LFS1["फ़ाइल सिस्टम"]
L1 --> L2
L2 --> LFS1
NOTE1["क्रम लोड क्रम पर छोड़<br/>सुरक्षित अनलोड नहीं"]
end
subgraph NEW["मिनीफ़िल्टर तरीका (वर्तमान मानक)"]
FM["फ़िल्टर मैनेजर (FltMgr)<br/>OS के साथ। स्टैक पर खड़ा यही एक"]
M1["मिनीफ़िल्टर A (अल्टिट्यूड ऊँचा)"]
M2["मिनीफ़िल्टर B (अल्टिट्यूड नीचा)"]
LFS2["फ़ाइल सिस्टम"]
FM -. "कॉलबैक पंजीकरण" .- M1
FM -. "कॉलबैक पंजीकरण" .- M2
FM --> LFS2
NOTE2["क्रम अल्टिट्यूड से निर्णायक<br/>किसी भी समय लोड संभव<br/>(समर्थित फ़िल्टर अनलोड भी)"]
end
चित्र 1: पीढ़ी बदलाव। स्टैक पर «चढ़ाना» नहीं, FltMgr पर «पंजीकृत करना»
मिनीफ़िल्टर तरीके के लाभ आधिकारिक सूचीबद्ध हैं — कभी भी लोड, क्रम नियंत्रित, अनलोड कॉलबैक लागू फ़िल्टर चलते अनलोड भी (लागू न हो या मना करे तो नहीं उतार सकते)।3 लेगेसी फ़िल्टर साथ चलाने को FltMgr कई «फ़्रेम» के रूप में स्टैक के कई स्थानों पर खड़ा हो सकता है, मिनीफ़िल्टर अनलोड बाद पुनः लोड पर भी उसी स्थान (उसी अल्टिट्यूड) पर लौटता गारंटी है।2 आधुनिक एंटीवायरस, निगरानी, सिंक सॉफ़्टवेयर लगभग सब यही मिनीफ़िल्टर हैं।
3. मिनीफ़िल्टर की चाल — pre/post कॉलबैक
मिनीफ़िल्टर «किन ऑपरेशन में रुचि» FltMgr को घोषित करता है। उदाहरण IRP_MJ_CREATE (खोलना) और IRP_MJ_WRITE (लिखना) में ही रुचि। तब वह ऑपरेशन बहे हर बार ऑपरेशन के पहले (pre कॉलबैक) और ऑपरेशन के बाद (post कॉलबैक) बुलाए जाते हैं।
sequenceDiagram
participant IOM as I/O मैनेजर
participant FM as FltMgr
participant A as मिनीफ़िल्टर A<br/>(अल्टिट्यूड ऊँचा)
participant B as मिनीफ़िल्टर B<br/>(अल्टिट्यूड नीचा)
participant FS as NTFS
IOM->>FM: अनुरोध (IRP_MJ_CREATE आदि। भाग 1 की दुनिया)
FM->>A: pre कॉलबैक
FM->>B: pre कॉलबैक
FM->>FS: फ़ाइल सिस्टम को
FS-->>FM: संसाधन परिणाम
FM-->>B: post कॉलबैक
FM-->>A: post कॉलबैक
FM-->>IOM: पूरा (भाग 1 के पूरा होने के प्रवाह की ओर)
चित्र 2: pre/post कॉलबैक। जाते अल्टिट्यूड ऊँचे से, लौटते उलटा क्रम
प्रत्येक कॉलबैक पर क्या कर सकते हैं। भाग 1 अध्याय 4.3 के «ड्राइवर के तीन विकल्प» वही ढाँचा अधिक सुरक्षित API से मिलता है।
flowchart TB
PRE["pre कॉलबैक बुलाया गया"]
Q{"इस ऑपरेशन से क्या करें"}
PASS["पास-थ्रू<br/>(post भी न चाहिए तो वह भी घोषित)"]
DENY["अस्वीकृत<br/>पहुँच अस्वीकृत आदि तुरंत लौटाएँ<br/>उदा.: वायरस पकड़ा, लिखना मना"]
DONE["स्वयं पूरा करें<br/>उदा.: क्लाउड फ़िल्टर<br/>पदार्थ लाकर सौंपे"]
MOD["पैरामीटर या सामग्री बदलकर बहने दें<br/>उदा.: एन्क्रिप्शन फ़िल्टर"]
PRE --> Q
Q --> PASS
Q --> DENY
Q --> DONE
Q --> MOD
चित्र 3: pre कॉलबैक के विकल्प। «देखना, रोकना, स्थान लेना, बदलना» सब आधिकारिक संभव
और भाग 4 का होमवर्क यहाँ समेटता है — मिनीफ़िल्टर फ़ास्ट I/O (IRP न बनाने वाला छोटा रास्ता) पर भी उपस्थित रह सकता है। FltMgr फ़ास्ट I/O पथ पर भी कॉलबैक तंत्र चलाता है, लेगेसी युग जैसा «छोटा रास्ता लिया तो नहीं दिखता» नहीं। Procmon लॉग में FASTIO_ पंक्तियाँ भी इसलिए, इसी स्थान के कारण।
4. अल्टिट्यूड — «ऊँचाई» क्रम तय करती है
कई फ़िल्टर एक ही ऑपरेशन में रुचि रखें तो कौन पहले देखे गंभीर प्रश्न है। एन्क्रिप्शन से पहले एंटीवायरस न देखे तो साइफ़रटेक्स्ट स्कैन करना पड़ता है, निगरानी उपकरण सब से ऊपर न हो तो पूरा नहीं देख सकता।
यह क्रम तय करता अल्टिट्यूड (altitude: ऊँचाई) है। फ़िल्टर प्रकार-दर लोड-क्रम समूह और संख्या पट्टी परिभाषित। सटीक: अल्टिट्यूड ड्राइवर पूरे पर नहीं, वॉल्यूम से जुड़े मिनीफ़िल्टर «इंस्टेंस» पर लगता है। संख्या अद्वितीय, बड़ी संख्या स्टैक के ऊपर (ऐप की ओर)।4 एक ड्राइवर कई इंस्टेंस परिभाषाएँ रख अलग ऊँचाई पर दिख सकता है, fltmc instances सूची इंस्टेंस इकाई इसीलिए।
flowchart TB
APP["ऐप की ओर (संख्या बड़ी)"]
G1["FSFilter Activity Monitor: 360000–389999<br/>I/O निगरानी · रिकॉर्ड (Procmon यहाँ)"]
G2["FSFilter Undelete: 340000–349999<br/>हटाई फ़ाइल पुनर्स्थापना"]
G3["FSFilter Anti-Virus: 320000–329999<br/>वायरस पकड़ना · हटाना"]
G4["FSFilter Replication: 300000–309999<br/>रिमोट पर प्रतिलिपि"]
G5["FSFilter Continuous Backup: 280000–289999<br/>निरंतर बैकअप"]
G6["और नीचे: Content Screener /<br/>Quota Management / System Recovery /<br/>एन्क्रिप्शन · संपीड़न आदि पट्टियाँ जारी"]
FS["फ़ाइल सिस्टम की ओर (संख्या छोटी)"]
APP --> G1 --> G2 --> G3 --> G4 --> G5 --> G6 --> FS
चित्र 4: अल्टिट्यूड पट्टी (उद्धरण)। उपयोग-दर «खड़े होने की ऊँचाई» तय
महत्वपूर्ण: यह संख्या Microsoft आवंटित-प्रबंधित है।5 विक्रेता स्वयं न घोषित करें, आवेदन कर लें — इसलिए हर PC पर «निगरानी एंटीवायरस से ऊपर, एंटीवायरस एन्क्रिप्शन से ऊपर» व्यवस्था बनी रहती है। लेगेसी युग के «लोड-क्रम जुआ» का यही उत्तर था।
अपनी कंपनी का मिनीफ़िल्टर बनाते आवेदन स्थान। डेवलपर के लिए अगला एक कदम। अल्टिट्यूड Request a Filter Altitude Identifier प्रक्रिया के अनुसार विषय «Filter altitude request» रखकर fsfcomm@microsoft.com को अंग्रेज़ी ईमेल भेजकर आवेदन करें। कंपनी नाम, संपर्क (व्यक्ति नहीं, लंबे उपयोग कंपनी उपनाम), उत्पाद नाम, उत्पाद URL, फ़िल्टर विवरण, ड्राइवर फ़ाइल नाम, फ़िल्टर प्रकार, स्टार्ट प्रकार, इच्छित लोड-क्रम समूह और इच्छित अल्टिट्यूड सब भरना आवश्यक। प्रसंस्करण 30 व्यावसायिक दिन मानें, आपात खिड़की नहीं, आवंटित संख्या इच्छा से भिन्न हो सकती है — यह भी लिखा है।8 उसी लोड-क्रम समूह में पहले से पूर्णांक अल्टिट्यूड रखने वाली कंपनी उस संख्या पर दशमलव जोड़ मान (उदा. 325000.3) स्वयं तय कर सकती है, तब बाद ईमेल सूचना काफी।8
5. निवासी परिचय — fltmc से अपना PC देखें
सिद्धांत यहीं तक, वास्तविक देखें। व्यवस्थापक कमांड प्रॉम्प्ट से:
:: Registered minifilters (with altitudes)
fltmc
:: Which filter is attached to which volume
fltmc instances
:: From the volume side
fltmc volumes
बिना तर्क fltmc fltmc filters जैसी सूची देता है। आउटपुट 4 स्तंभ, Microsoft दस्तावेज़ में भी वही रूप का उदाहरण है।9
C:\Windows\system32>fltmc
Filter Name Num Instances Altitude Frame
------------------------------ ------------- ------------ -----
bindflt 1 409800 0
cldflt 1 409500 0
WdFilter 4 328010 0
luafv 1 135000 0
FileInfo 4 45000 0
ऊपर स्पष्टीकरण के लिए उद्धरण है। चेहरे और इंस्टेंस संख्या वातावरण-दर अलग, पर अल्टिट्यूड संख्या Microsoft आवंटित स्थिर मान है, अध्याय 4 की प्रकाशित सूची से मिला सकते हैं।
स्तंभ का अर्थ:
| स्तंभ | अर्थ |
|---|---|
| Filter Name | फ़िल्टर (ड्राइवर) का नाम |
| Num Instances | कितने वॉल्यूम से जुड़ा (अध्याय 4 के इंस्टेंस की संख्या) |
| Altitude | अल्टिट्यूड। बड़ा तो ऐप की ओर |
| Frame | FltMgr फ़्रेम संख्या। यहाँ <Legacy> हो तो FltMgr न उपयोग करने वाला लेगेसी फ़िल्टर जीवित होने का चिह्न।9 |
इन पाँच पंक्तियों से भी bindflt और cldflt सबसे ऊपर FSFilter Top पट्टी (400000–409999), WdFilter Anti-Virus पट्टी (320000–329999), FileInfo सबसे नीचे FSFilter Bottom पट्टी (40000–49999) पर हैं पढ़ा जा सकता है। अध्याय 4 का «उपयोग-दर खड़े होने की ऊँचाई तय» ढाँचा संख्या से पुष्ट होता है। और Procmon चलाकर फिर fltmc चलाएँ तो Activity Monitor पट्टी (360000–389999) में PROCMON से शुरू पंक्ति एक बढ़ती है।
वातावरण से चेहरे बदलते हैं, पर प्रतिनिधि निवासी इस शृंखला के नियमित हैं।
WdFilter— Microsoft Defender का मिनीफ़िल्टर। Anti-Virus पट्टी पर। अधिकतर PC पर सब फ़ाइल I/O अवश्य गुज़रने वाला नाका।cldflt— क्लाउड फ़ाइल फ़िल्टर। OneDrive फ़ाइल ऑन डिमांड की कार्य टुकड़ी, भाग 5 के रीपार्स पॉइंट (प्लेसहोल्डर) खुलते पदार्थ तैयार करता है।10PROCMON24(आदि) — Process Monitor चलाते समय ही दिखने वाला Activity Monitor पट्टी का अस्थायी मिनीफ़िल्टर। Procmon हर I/O क्यों देख सकता है, यही रहस्योद्घाटन है।11 चलाने पहले-बादfltmcचलाकर तुलना करें।- अन्य: बैकअप सॉफ़्टवेयर, एन्क्रिप्शन (डेटा रिसाव रोक) उत्पाद, EDR, वर्चुअलाइज़्ड स्टोरेज — व्यावसायिक PC जितना निवासी बढ़ते हैं।
भाग 1 से चला Procmon उपकरण अंतिम भाग में औज़ार पेटी के बाहर से देखें तो «निरीक्षक भी निरीक्षण लक्ष्य जैसे तंत्र का निवासी था» सुंदर चक्र बनता है।
6. एंटीवायरस समय कहाँ खर्च करता है
फ़िल्टर का सबसे बड़ा व्यावहारिक प्रभाव एंटीवायरस स्कैन लागत है। समय कहाँ उत्पन्न होता है, चित्र में (उत्पाद से विवरण भिन्न। नीचे प्रतिनिधि रूप)।
sequenceDiagram
participant App as ऐप
participant AV as AV मिनीफ़िल्टर
participant FS as NTFS
App->>AV: फ़ाइल खोलना
Note over AV: pre-create: पथ या नीति की पूर्व जाँच
AV->>FS: जाने दें (खोलना निष्पादित)
FS-->>AV: खोलना सफल (post-create)
Note over AV: न स्कैन की फ़ाइल हो तो<br/>यहाँ सामग्री स्कैन कर<br/>समस्या हो तो खोलना रद्द<br/>── खोलना धीमा होने का मुख्य कारण
AV-->>App: समस्या न हो तो हैंडल लौटता है
App->>AV: लिखना · बंद करना
Note over AV: बदली फ़ाइल<br/>बंद करते आदि पुनः स्कैन लक्ष्य
Note over App,FS: बड़ी संख्या छोटी फ़ाइलें (बिल्ड मध्य उत्पाद आदि) पर<br/>यह आना-जाना फ़ाइल संख्या जितना जमा होता है
चित्र 5: स्कैन लागत का उत्पत्ति स्थान। प्रति फ़ाइल थोड़ा, दसियों हज़ार फ़ाइलें हों तो प्रबल
इसे मानकर दो व्यावहारिक विषय सटीक समझे जाते हैं।
बहिष्करण सेटिंग का तकनीकी अर्थ। बहिष्करण सूची से मेल पथ के I/O पर फ़िल्टर का स्कैन छूटता है। फ़िल्टर स्टैक से गायब नहीं, «जाँच न करें» निर्णय जल्दी — यही यथार्थ। और एक महत्वपूर्ण सीमा — बहिष्करण उसी सेटिंग वाले उत्पाद स्वयं के फ़िल्टर पर ही लगता है। Microsoft Defender बहिष्करण WdFilter का स्कैन बदलता है, साथ बैठे अन्य मिनीफ़िल्टर (अन्य कंपनी एंटीवायरस, EDR, बैकअप, एन्क्रिप्शन) के व्यवहार पर कुछ प्रभाव नहीं। «बहिष्करण लगाया फिर भी धीमा» हो तो दूसरा निवासी समय खर्च रहा संदेह करें (अध्याय 7 की fltmc तुलना)। प्रभाव बड़ा, दूसरी ओर बहिष्करण उस स्थान की सुरक्षा निश्चित कमज़ोर करता है। Microsoft दस्तावेज़ भी बहिष्करण रक्षा घटाता है इसलिए जोखिम मूल्यांकन पर न्यूनतम, बार-बार चेतावनी देता है।6 गलत पहचान और प्रदर्शन प्रभाव का व्यवहार «स्व-विकसित Windows ऐप वायरस माना जाए तो» में है।
Dev Drive नामक नया उत्तर। विकास कार्यभार (बड़ी संख्या छोटी फ़ाइलें) के लिए डिज़ाइन समर्पित वॉल्यूम, Microsoft Defender प्रदर्शन मोड (अतुल्यकालिक स्कैन) चलता है। फ़ोल्डर बहिष्करण का अधिक सुरक्षित विकल्प माना गया; डिफ़ॉल्ट अतिरिक्त फ़िल्टर नहीं जुड़ते, दूसरी ओर फ़िल्टर सब उतारकर चलाने पर कड़ी चेतावनी भी लिखी है।7 «बिल्ड तेज़ चाहिए पर बहिष्करण डर लगता है» का वर्तमान Microsoft अनुशंसित उत्तर।
7. «केवल उस वातावरण पर धीमा» जाँच प्रक्रिया
शृंखला में जमा उपकरण अंत में एक प्रक्रिया में बाँधें।
flowchart TB
S["लक्षण: वही ऐप, विशिष्ट वातावरण पर ही<br/>फ़ाइल पहुँच धीमी"]
P1["Procmon Duration स्तंभ देखें<br/>कौन सा ऑपरेशन (IRP_MJ_CREATE? WRITE?)<br/>समय खा रहा है"]
Q1{"विशिष्ट ऑपरेशन एकसमान धीमा?"}
F1["fltmc instances तेज़ वातावरण से तुलना<br/>फ़िल्टर विन्यास का अंतर देखें"]
Q2{"अंतर वाला फ़िल्टर कारण?"}
A1["बहिष्करण (जोखिम मूल्यांकन सहित) या<br/>Dev Drive विचार · विक्रेता से परामर्श"]
A2["फ़िल्टर के अलावा संदेह:<br/>कैश (भाग 4) · विखंडन या MFT (भाग 5) ·<br/>नेटवर्क गंतव्य (UNC) · डिवाइस स्वयं"]
S --> P1 --> Q1
Q1 -->|"हाँ"| F1 --> Q2
Q2 -->|"हाँ"| A1
Q2 -->|"नहीं"| A2
Q1 -->|"नहीं (छिटपुट)"| A2
चित्र 6: फ़िल्टर-कारण धीमेपन का विभाजन। कुंजी «ऑपरेशन-दर समय» और «वातावरणों के बीच फ़िल्टर विन्यास अंतर»
दो बिंदु। पहला, Procmon ऑपरेशन-दर समय (Duration) रखता है। «धीमा» को «कौन सा ऑपरेशन धीमा» में तोड़ सकें तो अपराधी खोज आधी खत्म। दूसरा, वातावरण अंतर प्रायः फ़िल्टर विन्यास अंतर। विकास मशीन और उत्पादन, अपनी PC और ग्राहक PC — fltmc आउटपुट साथ रखें तो संदेह के उम्मीदवार दिखते हैं।
Procmon कभी न छुआ हो तो पहले तीन कदम। Duration स्तंभ डिफ़ॉल्ट दिखता नहीं, इसलिए यहाँ न रुकें, ऑपरेशन लिखते हैं।
- व्यवस्थापक के रूप में
Procmon.exeचलाएँ। - Options मेनू > Select Columns… खोलें, स्तंभ सूची से Duration जाँचें।
- Filter मेनू > Filter… (Ctrl+L) में
Process Name/is/ लक्ष्य exe नाम /Includeडालें, Add बटन दबाकर OK (Add न दबाएँ तो शर्त नहीं लगती)।
फिर Duration स्तंभ क्लिक कर सॉर्ट करें तो समय खाने वाले ऑपरेशन ऊपर आते हैं। प्रक्रिया-दर, फ़ाइल-दर सारांश Tools मेनू > File Summary भी चलता है। ProcMon ऑपरेशन सामान्य «Process Monitor (ProcMon) व्यावहारिक मार्गदर्शिका» में है।
8. शृंखला का समापन — 6 भागों का मानचित्र
अब भाग 1 में खींचे मानचित्र के सब बॉक्स खुले। पूरा एक चित्र में।
flowchart TB
APP["एप्लिकेशन<br/>ReadFile / WriteFile / async-await"]
API["भाग 2: तुल्यकालिक · अतुल्यकालिक I/O<br/>हैंडल मोड और OVERLAPPED"]
IOCP["भाग 3: IOCP और .NET थ्रेड पूल<br/>पूरा होना लेना और जारी रखना"]
IOM["भाग 1: I/O मैनेजर और IRP<br/>नाम समाधान · तीन ऑब्जेक्ट · डिवाइस स्टैक"]
FLT["भाग 6: फ़िल्टर और मिनीफ़िल्टर<br/>FltMgr · अल्टिट्यूड · pre/post"]
CACHE["भाग 4: कैश मैनेजर<br/>256KB व्यू · lazy writer · फ़ास्ट I/O<br/>(NTFS से सहयोग कर चलता है)"]
NTFS["भाग 5: NTFS<br/>MFT · स्ट्रीम · लिंक · दो जर्नल"]
HW["स्टोरेज स्टैक और डिवाइस"]
APP --> API
API --> IOM
IOCP -. "पूरा होना यहाँ लौटता है" .-> APP
IOM --> FLT
FLT --> NTFS
NTFS -. "कैश-सक्षम I/O सहयोग<br/>(फ़ाइल सिस्टम कैश सुविधा बुलाता है)" .- CACHE
NTFS --> HW
HW -. "इंटरप्ट → पूरा (भाग 1)" .-> IOCP
चित्र 7: शृंखला का पूरा मानचित्र। कैश मैनेजर «गुज़रने वाली परत» नहीं फ़ाइल सिस्टम का सहयोगी साथी है, कैश मिस पर NTFS से स्टोरेज को अनुरोध निकलता है
- भाग 1: पूरा चित्र — सब पढ़ना-लिखना IRP बनता है
- भाग 2: तुल्यकालिक / अतुल्यकालिक — OVERLAPPED का असली अर्थ
- भाग 3: IOCP — async/await का तहखाना
- भाग 4: कैश — आपका WriteFile डिस्क तक कब पहुँचता है
- भाग 5: NTFS — MFT से समझा फ़ाइल सिस्टम
- भाग 6: फ़िल्टर और मिनीफ़िल्टर (यह लेख) — Procmon और वायरस स्कैन I/O में क्यों बीच में आ सकते हैं
9. सारांश — शृंखला के अंत पर
अंतिम भाग का सारांश।
- I/O में बीच आना OS-मान्य विस्तार बिंदु है, वर्तमान मानक FltMgr पर कॉलबैक पंजीकरण (मिनीफ़िल्टर)। क्रम अल्टिट्यूड से निर्णायक, Microsoft संख्या आवंटित-प्रबंधित करता है।245
- चाल pre/post कॉलबैक। पास-थ्रू, अस्वीकृत, स्थान लेना, बदलना, फ़ास्ट I/O पर भी उपस्थित। Procmon, Defender, OneDrive सब इसी तंत्र के निवासी।11110
- बहिष्करण सेटिंग = स्कैन छोड़ना, सुरक्षा से समझौता। विकास वॉल्यूम पर Dev Drive (अतुल्यकालिक स्कैन) अधिक सुरक्षित विकल्प।67
- «केवल उस वातावरण पर धीमा» Procmon Duration और
fltmcविन्यास अंतर से काटें — शृंखला के उपकरण ज्यों के त्यों जाँच प्रक्रिया बनते हैं।
और शृंखला पूरे का निष्कर्ष एक पंक्ति में — Windows I/O नामस्थान से गंतव्य तय कर अनुरोध पैकेट (IRP) बना परतें बहाता है, प्रत्येक परत «देखना, रखना, स्थान लेना» चुन सके, ऐसा सुसंगत डिज़ाइन है। File.ReadAllText की एक पंक्ति के नीचे ये छह भाग की संरचना हर बार चलती है। API व्यवहार रटने के स्थान पर इस मानचित्र से «ऐसा ही होना चाहिए» निकाल सकना — यही शृंखला से चाहिए थी शक्ति। लंबी यात्रा साथ देने के लिए धन्यवाद।
संबंधित लेख
- Windows I/O की गहराई (भाग 1) — सब पढ़ना-लिखना IRP बनता है: I/O सिस्टम का पूरा चित्र
- Windows I/O की गहराई (भाग 4) — कैश मैनेजर: आपका WriteFile डिस्क तक कब पहुँचता है
- Windows I/O की गहराई (भाग 5) — NTFS आंतरिक संरचना: MFT से समझा फ़ाइल सिस्टम
- Process Monitor (ProcMon) व्यावहारिक मार्गदर्शिका — «सेटिंग नहीं पढ़ी», «ACCESS DENIED» दस मिनट में पकड़ना
- स्व-विकसित Windows ऐप वायरस माना जाए तो — Microsoft Defender गलत पहचान और प्रदर्शन प्रभाव
- Process Explorer / Handle / VMMap व्यावहारिक — हैंग, लीक, «फ़ाइल उपयोग में» इसी क्षण की अवस्था से पीछा
- Windows ऐप विकास की सुरक्षा न्यूनतम जाँच सूची
संबंधित परामर्श क्षेत्र
KomuraSoft LLC «विशिष्ट वातावरण पर ही धीमा», «सुरक्षा सॉफ़्टवेयर और अपना ऐप टकराते हैं» जैसे फ़िल्टर ड्राइवर जुड़े Windows व्यावसायिक ऐप प्रदर्शन समस्या और त्रुटि जाँच सँभालता है।
- Windows ऐप विकास
- त्रुटियों की जाँच और मूल कारण विश्लेषण
- तकनीकी परामर्श और डिज़ाइन समीक्षा
- संपर्क करें
संदर्भ लिंक
-
Microsoft Learn, About file system filter drivers. फ़ाइल सिस्टम फ़िल्टर ड्राइवर फ़ाइल सिस्टम या अन्य फ़िल्टर ड्राइवर की ओर अनुरोध बीच में ले सकने वाला वैकल्पिक ड्राइवर है; अनुरोध बीच में लेकर मूल गंतव्य तक पहुँचने से पहले सुविधा विस्तार-स्थानापन्न, रिकॉर्ड, निगरानी, डेटा बदलना, व्यवहार रोकना संभव; एंटीवायरस यूटिलिटी, एन्क्रिप्शन प्रोग्राम, पदानुक्रमित संग्रह प्रबंधन सिस्टम फ़िल्टर ड्राइवर के उदाहरण। ↩ ↩2 ↩3
-
Microsoft Learn, Filter Manager Concepts. फ़िल्टर मैनेजर (FltMgr) Windows के साथ कर्नेल-मोड ड्राइवर है, मिनीफ़िल्टर ड्राइवर विकास सरल करने वाली सुविधाएँ प्रकाशित करता है; मिनीफ़िल्टर I/O ऑपरेशन के पहले-बाद (pre/post कॉलबैक) संसाधन पंजीकृत कर सकता है; लेगेसी फ़िल्टर साथ चलाने को FltMgr फ़्रेम के रूप में I/O स्टैक के कई स्थानों पर अटैच हो सकता है; मिनीफ़िल्टर अनलोड-पुनः लोड पर भी उसी फ़्रेम के उसी अल्टिट्यूड पर लौटता है। ↩ ↩2 ↩3 ↩4 ↩5
-
Microsoft Learn, Advantages of the Filter Manager Model. मिनीफ़िल्टर मॉडल लेगेसी फ़िल्टर मॉडल की तुलना में फ़िल्टर लोड क्रम बेहतर नियंत्रण, लेगेसी के विपरीत किसी भी समय लोड, अनलोड संभव, DAX वॉल्यूम से जुड़ना आदि लाभ। ↩ ↩2
-
Microsoft Learn, Load order groups and altitudes for minifilter drivers. फ़ाइल सिस्टम फ़िल्टर के लिए उपयोग-दर लोड-क्रम समूह परिभाषित, प्रत्येक समूह को अल्टिट्यूड दायरा; सब फ़िल्टर ड्राइवर अद्वितीय अल्टिट्यूड पहचानकर्ता रखते हैं जो I/O स्टैक में अन्य फ़िल्टर के सापेक्ष स्थान तय करता है; समूह उदाहरण FSFilter Activity Monitor (360000–389999, I/O निगरानी और रिपोर्ट), FSFilter Undelete (340000–349999), FSFilter Anti-Virus (320000–329999, फ़ाइल I/O में वायरस पकड़ना-हटाना), FSFilter Replication (300000–309999), FSFilter Continuous Backup (280000–289999)। ↩ ↩2 ↩3
-
Microsoft Learn, Allocated altitudes. मिनीफ़िल्टर अल्टिट्यूड Microsoft आवंटित-प्रबंधित, प्रकाशित आवंटित अल्टिट्यूड सूची रखी जाती है; उस सूची में WdFilter.sys FSFilter Anti-Virus समूह 328010, cldflt.sys FSFilter Top समूह 409500। ↩ ↩2 ↩3
-
Microsoft Learn, Configure and validate exclusions for Microsoft Defender Antivirus. Microsoft Defender बहिष्करण सेटिंग से बहिष्कृत फ़ाइल, फ़ोल्डर, प्रक्रिया स्कैन लक्ष्य से बाहर; बहिष्करण सुरक्षा स्तर घटाता है इसलिए आवश्यकता मूल्यांकन कर सावधानी से परिभाषित करें, बार-बार चेतावनी। ↩ ↩2 ↩3
-
Microsoft Learn, Set up a Dev Drive on Windows 11. Dev Drive विकास कार्यभार के लिए डिज़ाइन वॉल्यूम, Microsoft Defender प्रदर्शन मोड (अतुल्यकालिक स्कैन) चलता है; गति और प्रदर्शन सोचते फ़ोल्डर बहिष्करण का सुरक्षित विकल्प (secure alternative to folder exclusions); अतिरिक्त फ़िल्टर डिफ़ॉल्ट Dev Drive से नहीं जुड़ते; एंटीवायरस फ़िल्टर उतारकर चलाना गंभीर सुरक्षा जोखिम, चेतावनी। ↩ ↩2 ↩3
-
Microsoft Learn, Request a Filter Altitude Identifier. नया फ़िल्टर अल्टिट्यूड आवेदन विषय «Filter altitude request» ASCII पाठ ईमेल fsfcomm@microsoft.com को भेजने से; कंपनी नाम, संपर्क ईमेल (व्यक्ति नहीं लंबे कंपनी उपनाम), उत्पाद नाम, उत्पाद URL, फ़िल्टर विवरण, फ़िल्टर फ़ाइल नाम, फ़िल्टर प्रकार, स्टार्ट प्रकार, इच्छित लोड-क्रम समूह, इच्छित अल्टिट्यूड सब भरना आवश्यक; प्रसंस्करण 30 व्यावसायिक दिन मानें, इस प्रक्रिया के अलावा आवेदन खिड़की नहीं; Microsoft इच्छा से भिन्न अल्टिट्यूड आवंटित कर सकता है; पहले से पूर्णांक अल्टिट्यूड हो तो उसी लोड-क्रम समूह में दशमलव जोड़ स्वयं अल्टिट्यूड बना बाद सूचना काफी। ↩ ↩2
-
Microsoft Learn, Blocking legacy file system filter drivers. व्यवस्थापक कमांड प्रॉम्प्ट से
fltmc filtersचलाएँ तो «Filter Name / Num Instances / Altitude / Frame» चार स्तंभ में फ़िल्टर सूची; Frame स्तंभ<Legacy>वाले FltMgr बिना लेगेसी फ़ाइल सिस्टम फ़िल्टर ड्राइवर, मिनीफ़िल्टर पर Frame में संख्या (0 आदि)। ↩ ↩2 -
Microsoft Learn, Cloud Files API. क्लाउड फ़ाइल API (क्लाउड फ़िल्टर) क्लाउड पर फ़ाइलें प्लेसहोल्डर के रूप में स्थानीय दिखा पहुँच पर पदार्थ लाने वाले सिंक इंजन (OneDrive फ़ाइल ऑन डिमांड आदि) का आधार। ↩ ↩2
-
Microsoft Learn, Process Monitor - Sysinternals. Process Monitor फ़ाइल सिस्टम, रजिस्ट्री, प्रक्रिया/थ्रेड गतिविधि रीयल-टाइम दिखाने वाला उन्नत निगरानी उपकरण (लेख के अनुसार चलते fltmc सूची में मिनीफ़िल्टर के रूप में दिखता देखा जा सकता है)। ↩ ↩2
संबंधित लेख
निकटवर्ती विषयों में गहराई से जाने के लिए समान टैग वाले नवीनतम लेख।
Windows I/O की गहराई (भाग 5) — NTFS आंतरिक संरचना: MFT से समझा फ़ाइल सिस्टम
NTFS आंतरिक संरचना चित्रों से समझाने वाली शृंखला का भाग 5। MFT और फ़ाइल रिकॉर्ड, कई डेटा स्ट्रीम (Zone.Identifier), हार्ड लिंक और 8.3 नाम...
Windows I/O की गहराई (भाग 4) — कैश मैनेजर: आपका WriteFile डिस्क तक कब पहुँचता है
Windows कैश मैनेजर चित्रों से समझाने वाली शृंखला का भाग 4। फ़ाइल मैपिंग के रूप में लागू कैश, रीड-अहेड और विलंबित लिखना, FlushFileBuffers ...
Windows वर्चुअलाइज़ेशन की गहराई (भाग 2) — वह मेमोरी जिसे कर्नेल भी नहीं देख सकता: VBS, HVCI और Credential Guard कैसे काम करते हैं
संगत हार्डवेयर पर क्लीन इंस्टॉल पर VBS डिफ़ॉल्ट से सक्षम होता है और हाइपरवाइज़र तथा SLAT से कर्नेल से मज़बूत अलगाव बनाता है। यह लेख VTL, ...
Named Pipes व्यवहार में — डिज़ाइन से सुरक्षा तक, Windows की मानक IPC
Named pipes — Windows की मानक इंटर-प्रोसेस कम्युनिकेशन — की व्यावहारिक मार्गदर्शिका। यह लेख प्राथमिक स्रोतों से बाइट और मैसेज मोड का चुना...
Windows सेवा खाता चुनना — LocalSystem, वर्चुअल खाते और gMSA
क्या आप अभी भी Windows सेवा को LocalSystem से चला रहे हैं? यह लेख LocalService, NetworkService, वर्चुअल खाते, डोमेन उपयोगकर्ता और gMSA के...
संबंधित विषय
ये पृष्ठ विषय को सेवाओं और निर्णयों के व्यापक संदर्भ में रखते हैं।
Windows के तकनीकी विषय
Windows विकास, बग जाँच और मौजूदा संपत्तियों के उपयोग का प्रवेश-द्वार।
इस विषय से जुड़ी सेवाएँ
यह लेख निम्नलिखित सेवाओं से सीधे जुड़ा है।
Windows ऐप विकास
व्यावसायिक ऐप, डिवाइस एकीकरण और संचार उपकरण, आवश्यकताओं से विकास तक।
अक्सर पूछे जाने वाले प्रश्न
इस लेख के विषय पर परामर्श में अक्सर पूछे जाने वाले प्रश्न।
- फ़ाइल सिस्टम फ़िल्टर ड्राइवर और मिनीफ़िल्टर में क्या अंतर है?
- दोनों «फ़ाइल सिस्टम को I/O अनुरोध में बीच में आने वाले ड्राइवर» हैं, पर बीच में आने की पीढ़ी अलग है। पुराना लेगेसी फ़िल्टर फ़ाइल सिस्टम के डिवाइस स्टैक पर अपना डिवाइस ऑब्जेक्ट सीधे चढ़ाता था; लोड क्रम से स्थान तय होता था इसलिए क्रम गारंटी कठिन, एक बार लोड करने पर सुरक्षित अनलोड न हो पाने जैसी समस्याएँ थीं। वर्तमान मानक मिनीफ़िल्टर Windows के साथ आए फ़िल्टर मैनेजर (FltMgr) पर «इस ऑपरेशन के पहले-बाद बुलाएँ» कॉलबैक पंजीकृत करता है। स्थान अल्टिट्यूड नामक संख्या से निर्णायक तय, किसी भी समय लोड, अनलोड कॉलबैक लागू फ़िल्टर चलते हुए उतारा भी जा सकता है। एंटीवायरस, एन्क्रिप्शन, निगरानी उपकरण, क्लाउड सिंक — आधुनिक फ़िल्टर लगभग सब मिनीफ़िल्टर के रूप में लागू हैं।
- एंटीवायरस सॉफ़्टवेयर हर फ़ाइल पहुँच जाँच क्यों सकता है?
- OS आधिकारिक रूप से उसी के लिए विस्तार बिंदु देता है। मिनीफ़िल्टर फ़ाइल खोलने, पढ़ने, लिखने जैसे ऑपरेशन के पहले (pre कॉलबैक) और बाद (post कॉलबैक) बुलाए जाने वाला कोड फ़िल्टर मैनेजर पर पंजीकृत कर सकता है। एंटीवायरस फ़िल्टर एंटीवायरस अल्टिट्यूड पट्टी (320000–329999) पर बैठता है, उदाहरण फ़ाइल खोलना सफल होते ही (post-create) सामग्री स्कैन कर समस्या हो तो वह खोलना रद्द कर पहुँच विफल कर सकता है। शृंखला भाग 1 के अनुसार सब फ़ाइल I/O डिवाइस स्टैक बहता है, इसलिए उस रास्ते के तय स्थान पर खड़े हों तो सब पहुँच जाँच सकते हैं। हैक नहीं, OS डिज़ाइन में बना तंत्र है।
- एंटीवायरस की बहिष्करण सेटिंग (फ़ोल्डर बहिष्करण) तकनीकी रूप से क्या करती है?
- बहिष्करण सूची से मेल पथ के I/O पर उस उत्पाद के फ़िल्टर का स्कैन छोड़वाती है। फ़िल्टर स्वयं स्टैक से गायब नहीं होता; «इस पथ की जाँच न करें» निर्णय जल्दी हो जाता है — यही यथार्थ के निकट समझ है। महत्वपूर्ण सीमा: बहिष्करण उसी सेटिंग वाले उत्पाद स्वयं पर ही लगता है। उदाहरण Microsoft Defender बहिष्करण Defender के फ़िल्टर (WdFilter) का स्कैन बदलता है, साथ बैठे अन्य कंपनी एंटीवायरस, EDR, बैकअप जैसे अन्य मिनीफ़िल्टर के व्यवहार पर प्रभाव नहीं। उत्पाद-दर अलग बहिष्करण चाहिए; «बहिष्करण लगाया फिर भी धीमा» हो तो दूसरा फ़िल्टर कारण हो सकता है। Microsoft दस्तावेज़ बार-बार चेतावनी देता है: बहिष्करण उस स्थान की सुरक्षा कमज़ोर करता है, जोखिम मूल्यांकन के साथ न्यूनतम रखें। विकास उपयोग पर फ़ोल्डर बहिष्करण के सुरक्षित विकल्प के रूप में डिज़ाइन Dev Drive (प्रदर्शन मोड = अतुल्यकालिक स्कैन) विचार योग्य है।
- Process Monitor हर I/O कैसे रिकॉर्ड करता है?
- Procmon स्वयं स्टार्टअप पर Activity Monitor (गतिविधि निगरानी) अल्टिट्यूड पट्टी के मिनीफ़िल्टर के रूप में फ़िल्टर मैनेजर पर स्वयं पंजीकृत करता है। Procmon चलाते व्यवस्थापक कमांड प्रॉम्प्ट से fltmc चलाएँ तो PROCMON से शुरू नाम का फ़िल्टर सूची में दिखता है। मिनीफ़िल्टर के रूप में सब वॉल्यूम के I/O ऑपरेशन के pre/post पर उपस्थित रहकर कौन सी प्रक्रिया किस फ़ाइल पर क्या ऑपरेशन किया, बिना चूक रिकॉर्ड कर सकता है। शृंखला में देखे IRP और फ़ास्ट I/O शब्द Procmon प्रदर्शन में ज्यों के त्यों आते हैं क्योंकि वह I/O के रास्ते पर ही खड़ा देख रहा है।
- विकास मशीन का बिल्ड धीमा हो तो फ़िल्टर ड्राइवर संदेह करें?
- संदेह का मूल्य बहुत है। बिल्ड बड़ी संख्या छोटी फ़ाइलों के बनाना-पढ़ना-लिखना-हटाना का ढेर है, प्रत्येक फ़िल्टर समूह (विशेषकर एंटीवायरस स्कैन) की जाँच का लक्ष्य बनता है, इसलिए फ़िल्टर लागत सबसे अधिक उभरने वाला कार्यभार है। जाँच Procmon Duration स्तंभ से समय किस ऑपरेशन में जा रहा है देखें, fltmc instances से वातावरण-दर फ़िल्टर विन्यास अंतर तुलना मूल प्रक्रिया है। उपाय जोखिम मूल्यांकन के बाद बहिष्करण के अलावा विकास वॉल्यूम के लिए डिज़ाइन Dev Drive उपयोग है। Dev Drive पर एंटीवायरस प्रदर्शन मोड (अतुल्यकालिक स्कैन) चलता है, Microsoft इसे बहिष्करण से अधिक सुरक्षित विकल्प मानता है।