सवाल डिस्क पर फ़ाइल का आकार 0 बाइट्स कैसे हो सकता है जब इसमें डेटा होता है?


मेरे पास 362 बाइट डेटा के साथ विंडोज 10 में एक फ़ाइल है, लेकिन "डिस्क पर आकार" केवल 0 बाइट है। यह असेंबली में लिखा गया एक सरल "हैलो वर्ल्ड" प्रोग्राम है, और इसमें सहेजा गया है Notepad ++

यह कैसे संभव है कि डिस्क का आकार शून्य है जब फ़ाइल का आकार 362 बाइट है?

मेरे पास एक एसएसडी है, सामान्य हार्ड डिस्क नहीं।

गुण संवाद का स्क्रीनशॉट:

Screenshot of the Properties dialog


97
2018-01-24 23:00


मूल


संक्षिप्त उत्तर: यदि इसकी सामग्री को स्टोर करने के लिए डिस्क पर कोई अतिरिक्त स्थान की आवश्यकता नहीं है। - David Schwartz
@ थॉमस एक डुप्लिकेट नहीं है। नाम समान लगता है, लेकिन वह सवाल पूछ रहा है कि क्यों पंजीकरण शून्य की आवश्यकता के बावजूद विंडोज शून्य-बाइट फ़ाइल शून्य आकार के लिए घोषित करता है। यह सवाल पूछता है कि फ़ाइल में डेटा होने पर भी डिस्क पर आकार शून्य हो सकता है। - Ben N
सम्बंधित: एक बड़ी फ़ाइल में "डिस्क पर आकार" मान शून्य हो सकता है? - BlueRaja - Danny Pflughoeft
@BenN इसे अनुचित चिह्नित कर रहा है क्योंकि आप सही हैं यह निश्चित रूप से डुप्लिकेट नहीं है। - William
हाय कोडर 88, मेरा मानना ​​है कि जिस व्यक्ति ने आपकी पोस्ट को डुप्लिकेट के रूप में फ़्लैग किया था, वह गलत था - दूसरा सवाल कुछ अलग पूछ रहा था; आपने वास्तव में एक अच्छा सवाल पूछा था। यदि आप यह इंगित करना चाहते हैं कि आपका प्रश्न हल हो गया है, तो आप यहां दिए गए उत्तर के बगल में स्थित चेक मार्क पर क्लिक कर सकते हैं। - Ben N


जवाब:


ऐसा तब होता है जब फ़ाइल इतनी छोटी हो कि इसकी सामग्री और फाइल सिस्टम बहीखाता 1 केबी में फिट हो। डिस्क स्थान को सहेजने के लिए, एनटीएफएस छोटी फाइलों को "निवासी" रखता है, फाइलों के रिकॉर्ड में अपनी सामग्री को संग्रहीत करता है, इसलिए इसके लिए कोई क्लस्टर आवंटित नहीं किया जाना चाहिए। इसलिए, डिस्क पर आकार शून्य है क्योंकि फ़ाइल रिकॉर्ड से परे कुछ भी नहीं है। एक बार जब फ़ाइल पर्याप्त रूप से बड़ी हो जाती है, तो एनटीएफएस इसे "गैर-निवासी" बनाता है, इसके लिए एक या अधिक क्लस्टर आवंटित करता है (एक गैरज़रो "डिस्क पर आकार" बना रहा है), और डेटा के स्थान पर फ़ाइल रिकॉर्ड में "मैपिंग जोड़ी" बनाता है क्लस्टर को इंगित करें।

एसएसडी हार्ड ड्राइव या विंडोज 10 इसे प्रभावित नहीं करते हैं; यह बस एक एनटीएफएस सुविधा है। आगे की पढाई: एनटीएफएस फाइल ग्रोथ के चार चरण

ध्यान दें कि "डिस्क पर आकार" मीट्रिक बिल्कुल सही नहीं है। उदाहरण के लिए, इसमें निरंतर 1 केबी शामिल नहीं होता है जो NTFS फ़ाइल रिकॉर्ड लेता है। मीट्रिक विंडोज 95 में पेश किया गया था, जिसने एनटीएफएस का उपयोग नहीं किया था और इसलिए इस घटना के लिए जिम्मेदार नहीं हो सका; यह सिर्फ क्लस्टर आकार के अगले एकाधिक तक गोल आकार का दिखाया गया है। उस अनुमान एल्गोरिदम को विंडोज 7 के माध्यम से ले जाया गया था, भले ही उनके बीच कई विंडोज संस्करण एनटीएफएस और निवासी भंडारण का इस्तेमाल करते थे। अंततः विंडोज 8 में डिस्क पर शून्य आकार के रूप में केवल निवासी डेटा वाली फाइलों की गणना करने के लिए अपडेट किया गया था। आगे की पढाई: 'डिस्क पर आकार' क्या है?


150
2018-01-24 23:14



एक पल के लिए मैंने सोचा कि हम डेटा डीडुप्लिकेशन के प्रभावों को देख रहे थे (blog.fosketts.net/2012/01/03/...) लेकिन मेरा मानना ​​है कि यह सुविधा "डिस्क पर आकार" मीट्रिक जैसे कुछ स्तर पर पारदर्शी स्तर पर काम करती है। - misha256
लेकिन प्रतीक्षा करें ... मैं अपने एनटीएफएस वॉल्यूम (विंडोज 7) पर ओपी व्यवहार को दोहराने में असमर्थ हूं। भले ही मैं छोटी फाइलें कैसे बनाऊं (कुछ सिर्फ एक बाइट लंबा), वे प्रत्येक पर कब्जा करते हैं 4KB फ़ाइल गुण संवाद के अनुसार "डिस्क स्थान"। हम्म ... - misha256
@ misha256 हू, मैं इसे विंडोज 8.1 पर ~ 700 बाइट्स के तहत एक फ़ाइल के साथ पुन: पेश कर सकता हूं। मेरा अनुमान है कि एल्गोरिदम विंडोज 7 और 8.1 के बीच कहीं अधिक स्मार्ट हो गया है, मूल रूप से, यह किसी भी फैंसी एनटीएफएस सामान के बारे में नहीं जानता था (स्रोत)। ध्यान दें कि एक बार जब फ़ाइल दूसरे चरण में जाती है, तो यह कभी भी नीचे नहीं आती है। - Ben N
@ फिलिप मुझे लगता है कि कोई भी किसी भी तरह से बहस कर सकता है। परंपरागत रूप से, "डिस्क पर फ़ाइल" "आवंटित क्लस्टर का आकार" था (इसलिए, उदाहरण के लिए, आप क्लस्टर आकार को बहुत बड़ा चुनने के प्रभाव देख सकते हैं)। मेरे ज्ञान के लिए, कभी भी फ़ाइल सिस्टम द्वारा आवश्यक "कैटलॉग" स्थान शामिल नहीं है (उदाहरण के लिए "निर्देशिका प्रविष्टि" या "एफएटी प्रविष्टियों की श्रृंखला की लंबाई" का आकार)। - TripeHound
@ फिलिप: वैसे भी, फ़ाइल आकार में बहीखाता सहित बालों को तेज हो जाता है: आप 1-क्लस्टर फ़ाइल का वर्णन 3 नामों के साथ कैसे करेंगे? - Deduplicator