कितनी जगह खाली निर्देशिका लेते हैं?
विंडोज और एनटीएफएस फाइल सिस्टम में यह '0 बाइट्स' कहता है जो असंभव है।
एक निर्देशिका द्वारा वास्तव में कितना लिया जाता है? क्या यह फाइल सिस्टम या ऑपरेटिंग सिस्टम पर निर्भर करता है?
कितनी जगह खाली निर्देशिका लेते हैं?
विंडोज और एनटीएफएस फाइल सिस्टम में यह '0 बाइट्स' कहता है जो असंभव है।
एक निर्देशिका द्वारा वास्तव में कितना लिया जाता है? क्या यह फाइल सिस्टम या ऑपरेटिंग सिस्टम पर निर्भर करता है?
जवाबों:
तकनीकी रूप से जो गुण विंडो आपको दिखा रहा है वह फ़ोल्डर की सामग्री है, कि यदि किसी डिस्क पर 0 बाइट खाली हो।
आपका प्रश्न यह बताता है कि फाइल सिस्टम पर फ़ोल्डर की संरचना किस स्थान पर है, जो स्पष्ट रूप से इस पर निर्भर है। FAT32 पर आपको जिन चीज़ों को स्टोर करने की ज़रूरत है उनमें कुछ झंडे (छिपे, संग्रहीत) और नाम और पथ हैं। NTFS में आपको अनुमतियाँ और कुछ और चीजें संग्रहीत करने की भी आवश्यकता होती है। कुल मिलाकर, वह स्थान नगण्य के पास है।
रिक्त निर्देशिका संरचना में रहने वाला स्थान नाम और फ़ोल्डर पथ पर निर्भर करता है। एक उदाहरण के रूप में, मान लें कि आप सभी फ़ोल्डरों को रूट ड्राइव पर कहते हैं (C :) और सभी 26 वर्णमाला वर्णों का उपयोग करें; 1 बिलियन अद्वितीय नामों के साथ आप log_26 (1.000.000.000) = लगभग 7 (6.3065) वर्ण लंबाई फ़ोल्डर नाम रख सकते हैं। तो, 7 बाइट्स * 1.000.000.000 अंतरिक्ष के लगभग 7GB के बराबर होती है।
यह एक न्यूनतम है जो केवल किसी भी संरचना पर लेने के लिए अंतरिक्ष नामों की मात्रा पर आधारित है। जैसा कि यह दिखाया जाएगा, फाइलसिस्टम फाइल की संरचना के अलावा फ़ाइल नाम के अलावा बहुत अधिक जानकारी संग्रहीत करते हैं।
मुझे लगता है कि मेरे पास मेरे सभी ड्राइव्स में लगभग 1 मिलियन फोल्डर और फाइलें हैं, ताकि मूल्य भी वास्तविकता में न पहुंचे। मत भूलना यह एक बहुत ही मोटा अनुमान है।
वर्तमान समय में सबसे अधिक उपयोग की जाने वाली फाइल सिस्टम को (यकीनन) FAT (फाइल आवंटन तालिका) और NTFS (नई तकनीक फाइल सिस्टम) के रूप में माना जा सकता है। फैट हम जानते हैं के रूप में यह उपयोग में कभी 1996, जब Windows 95 FAT32 के साथ जारी किया गया था के बाद से किया गया है। यद्यपि अन्य, अधिक लचीला फाइल सिस्टम, जैसे कि NFTS (Windows), HFS + (OSX) या ext3 (Linux) द्वारा प्रतिस्थापित किया गया है, फिर भी इसे अभी भी व्यापक रूप से हाथ में लिए जाने वाले उपकरणों या मेमोरी कार्ड या फ्लैश ड्राइव में उपयोग किया जाता है, क्योंकि यह अधिकांश OS के लिए अच्छी तरह से समर्थित है। और सबसे ऊपर, यह सरल है।
अब किस बात के लिए। एक एफएटी विभाजन में फाइलें और निर्देशिकाएं, भले ही उनमें कुछ भी न हो, एक नाम, एक स्थान, कुछ विशेषताएं, वगैरह, जो कि निर्देशिका तालिका नामक एक क्षेत्र में संग्रहीत हैं ।
निर्देशिका तालिका एक विशेष फ़ाइल है (यानी यह नियमित रूप से उपयोग से छिपा हुआ है, ऐसा है कि केवल ओएस और कुछ अनुप्रयोगों सीधे उस तक पहुँच सकते हैं)। यह एक निर्देशिका (उर्फ फ़ोल्डर) का प्रतिनिधित्व करता है और इसके भीतर संग्रहीत किसी भी फ़ाइल या फ़ोल्डर में तालिका में 32 बाइट प्रविष्टि है। जैसा कि निर्देशिका तालिका एक फ़ाइल है, यह तब एक या एक से अधिक समूहों (यानी एक डिस्क के भीतर पूर्व निर्धारित आकार के साथ बक्से, जहां केवल एक फ़ाइल (या एक का एक हिस्सा फिट बैठता है) पर कब्जा कर लेता है)।
तो, किसी भी फ़ोल्डर या निर्देशिका, एक आधुनिक ड्राइव (> 512 एमबी) पर, कम से कम 4 केबी का एक ओवरहेड है, ताकि तालिका (स्रोत) को संग्रहीत किया जा सके । हालांकि, इसका मतलब है कि आप एक ही फ़ोल्डर में 128 अलग-अलग फ़ाइलों (4 * 1024 B / 32 B = 128) को स्टोर कर सकते हैं और रिकॉर्ड को संग्रहीत करने में ओवरहेड अभी भी पहले की तरह ही 4KB है।
पहले उदाहरण पर पिग्गीबैकिंग, इसका मतलब यह होगा कि बिलियन फोल्डर में 32 जीबी की ओवरहेड होगी, बजाय अनुमानित 7 जीबी की गणना के। ये 32 जीबी स्टोर न केवल संक्षिप्त नाम (8 ASCII वर्ण), बल्कि विशेषताएँ, झंडे, पहुंच, निर्माण और संशोधन की तारीखें और अन्य विरासत विशेषताएँ हैं।
यदि आप यह सब पढ़ते हैं, तो एक सवाल हो सकता है कि आपके पास हो सकता है: "ठीक है, यह सब ठीक है और अच्छा है, लेकिन लंबे नाम कैसे हैं, जैसे कि वाबजैक या यहां तक कि hashy नाम जैसे e4d909c290d0ff1ca068ffaddf22cbd0 , संग्रहीत?"
विंडोज 95 में माइक्रोसॉफ्ट ने उपयोगकर्ता अनुभव को बढ़ाने के लिए उस सुविधा को जोड़ने का फैसला किया। "निकट-मानक" प्रणाली को तोड़ने से बचने के लिए, उन्होंने VFAT (वर्चुअल FAT) नामक एक स्वच्छ वर्कअराउंड का उपयोग किया। अनिवार्य रूप से फ़ाइल में लंबे फ़ाइल नाम को फिट करने के लिए, वास्तविक फ़ाइल रिकॉर्ड से पहले अतिरिक्त रिकॉर्ड लिखे गए थे (कुछ विशेष विशेषताओं के रूप में पहले सिस्टम द्वारा नहीं देखा जाना चाहिए)। लंबा फ़ाइल नाम सिस्टम अधिकतम 255 UTF-16 (यूनिकोड) अक्षर (स्रोत) (स्रोत) की अनुमति देता है ।
यदि आप पहले उदाहरण को बदलना चाहते थे जैसे कि प्रत्येक फ़ोल्डर में 9 वर्ण थे, तो ओवरहेड 32 जीबी से 64 जीबी तक दोगुनी हो जाएगी, क्योंकि लंबे नाम को संग्रहीत करने के लिए एक और रिकॉर्ड लिखना होगा।
NTFS के बारे में विकिपीडिया लेख के अनुसार , सभी अनुमतियाँ मास्टर फ़ाइल तालिका में संग्रहीत हैं। यह डिस्क डिफ्रैगमेंटर के माध्यम से स्पष्ट रूप से देखा जा सकता है, जैसा कि यहां दिखाया गया है ।
आकार MFT रिकॉर्ड फ़ोल्डर या फ़ाइल दोनों से प्राप्त होता है, यहाँ वर्णित है :
फ़ाइल और फ़ोल्डर रिकॉर्ड 1 केबी के हैं और एमएफटी में संग्रहीत हैं, जिनमें से विशेषताओं को एमएफटी में आवंटित स्थान पर लिखा गया है। फ़ाइल विशेषताओं के अलावा, प्रत्येक फ़ाइल रिकॉर्ड में MFT में फ़ाइल रिकॉर्ड की स्थिति के बारे में जानकारी होती है।
जब किसी फ़ाइल की विशेषताएँ उस फ़ाइल के लिए MFT फ़ाइल रिकॉर्ड में फिट हो सकती हैं, तो उन्हें निवासी विशेषताएँ कहा जाता है। फ़ाइल नाम और समय टिकट जैसे गुण हमेशा निवासी होते हैं। जब किसी फ़ाइल की जानकारी उसके MFT फ़ाइल रिकॉर्ड में फिट नहीं होती है , तो कुछ फ़ाइल विशेषताएँ अप्रतिष्ठित हो जाती हैं । Nonresident विशेषताएँ डिस्क स्थान के एक या अधिक समूहों को आवंटित की जाती हैं । गैर-विशेषता विशेषता का एक भाग एमएफटी में रहता है और बाहरी समूहों को इंगित करता है। NTFS सभी विशेषता रिकॉर्ड के स्थान का वर्णन करने के लिए विशेषता सूची विशेषता बनाता है। तालिका NTFS फ़ाइल विशेषता प्रकार NTFS द्वारा वर्तमान में परिभाषित फ़ाइल विशेषताओं को सूचीबद्ध करती है।
इसलिए, NTFS में, फ़ोल्डर में कम से कम 1 KB स्थान होता है, जब तक कि उनके पास बहुत लंबा तर्क और अनुमति सूची न हो; उस बिंदु पर, एमएफटी रिकॉर्ड विभाजन में एक अतिरिक्त क्लस्टर पर कब्जा कर लेता है, जिसका आकार इस बात पर निर्भर करता है कि इसे कैसे स्वरूपित किया गया था, हालांकि उस पोस्ट में 2GB से अधिक Microsoft के लिए 4KB क्लस्टर्स की सिफारिश की गई है।
एक वास्तविक दुनिया के उदाहरण के लिए, मैंने अभी-अभी अपना खाली स्थान रिकॉर्ड किया है, फिर मैंने एक बड़ी निर्देशिका संरचना बनाई और यह पता लगाने के लिए नए मुफ़्त को घटाया कि कितना स्थान उपयोग किया गया था। मैंने सप्ताह के प्रत्येक दिन के लिए 0-6 निर्देशिका बनाई, फिर दिन के घंटे के लिए निर्देशिका में 0-23, फिर घंटे के मिनट के लिए 0-59। कुल इसकी 10,080 निर्देशिकाओं में। मेरा डिस्क उपयोग 6,926,336 बाइट द्वारा बदल गया। यह प्रति निर्देशिका 687 बाइट्स के लिए काम करता है। यदि आप परवाह करते हैं, तो यह 1TB ड्राइव के 0.0006% तक काम करता है (यदि आप 1TB की गणना 1024 ^ 4 के रूप में करते हैं)।