सही समाधान (वह अपने इनाम के हकदार) अन्य जवाब देने के लिए टिप्पणी में @FullDecent द्वारा दिया गया था। विस्तार से बता दें:
यह मानते हुए कि प्रश्न में डिस्क ड्राइव, पुराने, पारंपरिक प्रकार का है एक कताई भंडारण सतह और एक पढ़ें/लिखें सिर कि शारीरिक रूप से सतह के पार ले जाता है त्रिज्यात साथ ...
सामान्य तौर पर यह डिस्क पर यथासंभव डिस्क के रूप में संग्रहीत करने के लिए फ़ाइलों के लिए अच्छा है, ताकि एकाधिक ब्लॉक अनुक्रमिक रूप से पढ़ा जा सके।यदि कोई फ़ाइल "खंडित" है (डिस्क पर विभिन्न स्थानों में इसके ब्लॉक बिखरे हुए हैं), तो संपूर्ण फ़ाइल को पढ़ने के लिए ड्राइव हेड को कई बार पुनर्स्थापित करने की आवश्यकता होगी। सिर की मरम्मत करना डिस्क पढ़ने में शामिल सबसे अधिक समय लेने वाले ऑपरेशन में से एक है (डिस्क को कताई के बाद केवल दूसरी कताई शुरू करने के लिए)। इसलिए प्रक्रिया को "डीफ्रैग्मेंटेशन" या "डिफ्रैगिंग" के रूप में जाना जाता है, जो सभी फ़ाइलों को संगत बनाने के लिए डिस्क पर प्रयुक्त ब्लॉक को पुनर्व्यवस्थित करता है।
नि: शुल्क ब्लॉक की एक लिंक्ड सूची के साथ, आवंटन में सूची के सामने से ब्लॉक लेना शामिल है, और डीलोकेशन में सूची के सामने मुक्त ब्लॉक जोड़ना शामिल है। इसलिए सूची गड़बड़ हो सकती है, ब्लॉक के साथ जो अक्सर डिस्क पर आस-पास डिस्क पर आसन्न नहीं होते हैं। एक बड़ी फ़ाइल के लिए पर्याप्त बड़े ब्लॉक के एक संगत खिंचाव को खोजने के लिए, सूची के एक महत्वपूर्ण अंश को स्कैन करना आवश्यक हो सकता है।
बिटमैप के साथ, यह अभी भी एक बड़े संगत मुक्त ब्लॉक खंड के लिए स्कैन करना आवश्यक होगा, लेकिन 8, 16, 32, या 64 बिट्स (हार्डवेयर के शब्द आकार के आधार पर) के बाद यह आसान है। एकल ऑपरेशन
और ** आपके मामले में मूल समस्या क्या है ** लिंक सूचियों या बिट मानचित्रों को हल करना चाहिए? आप "फ्री डिस्क ब्लॉक" का उल्लेख करते हैं लेकिन उनके बारे में क्या? आवंटन? एसएसडी ड्राइव या फ्लैश मेमोरी को कम करने के लिए वर्दी डिस्क ब्लॉक आवंटन आवृत्ति? इस समस्या पर अधिक ध्यान देने के बिना अन्य फायदे/नुकसान नहीं हैं, फिर लिंक्ड सूचियां लागू करने के लिए सरल हैं, बहुत जल्दी सिखाई जाती हैं और प्रत्येक प्रोग्रामर उन्हें – xmojmr
@xmojmr का उपयोग कर सकता है यह सिर्फ नमूना परीक्षा प्रश्न है। यह सब कुछ दिया गया था। –
उस स्थिति में स्वयं को समझने का प्रयास करें (इसे डिस्क मैनेजर मॉडलिंग के सरल (पेपर?) कोड में उपयोग करने का प्रयास करें) डेटा संरचना एक्सेस की गति (पढ़ने/लिखने) और विफलता वसूली के समय क्या अंतर होता है। इसके बारे में सोचने की आपकी क्षमता उन महत्वपूर्ण चीजों में से एक है जिन्हें परीक्षा सत्यापित करना है। Google क्वेरी 'फाइल सिस्टम आवंटन बिटमैप' कई उपयोगी लेखों जैसे [विकिपीडिया: फ्री स्पेस बिटमैप] (http://en.wikipedia.org/wiki/Free_space_bitmap) या [IJEAT: बिटमैप्स का उपयोग करके यूनिक्स में फ्री डिस्क ब्लॉक का आवंटन] (http://www.ijeat.org/attachments/File/v3i1/F2120082613.pdf) – xmojmr