फ़ाइलों की संख्या अलग क्यों होती है?
जाहिरा तौर पर आप "डेटा की प्रतिलिपि" पहलू "एक फ़ाइल की प्रतिलिपि बनाएँ" पर पूरी तरह से ध्यान केंद्रित कर रहे हैं। एक फ़ाइल सिर्फ डेटा से अधिक है; यह एक फाइल सिस्टम में एक इकाई है । एक फ़ाइल का एक नाम और विशेषताएँ और अनुमतियां हैं। फ़ाइल के बारे में यह सभी अतिरिक्त जानकारी "फ़ाइल की प्रतिलिपि बनाई गई" होने पर डेटा के साथ डुप्लिकेट करना पड़ता है। इस फाइल सिस्टम को ओवरहेड करने के लिए डिस्क I / O की एक महत्वपूर्ण मात्रा है।
जेनेरिक फाइल सिस्टम में एक (1) फाइल को कॉपी करने की प्रक्रिया कुछ इस तरह होगी:
- फ़ाइल सिस्टम में स्रोत फ़ाइल ढूँढें। (ए)
- स्रोत फ़ाइल के लिए निर्देशिका प्रविष्टि डिस्क से पढ़ें।
- पठन अनुमतियाँ सत्यापित करें।
- फ़ाइल सिस्टम में गंतव्य फ़ाइल ढूँढें। (ख)
- गंतव्य निर्देशिका में लेखन अनुमतियाँ सत्यापित करें।
- नई फ़ाइल को समायोजित करने के लिए यदि आवश्यक हो तो निर्देशिका का विस्तार करें। (सी)
- डिस्क पर निर्देशिका को अपडेट करें। (C1)
- निःशुल्क ब्लॉक ढूंढें, उन्हें आवंटित करें और तालिका को फिर से अपडेट करें। (घ)
- फ़ाइल डेटा पढ़ें और गंतव्य फ़ाइल पर कॉपी करें (यानी "फ़ाइल की प्रतिलिपि बनाएँ")।
- नई फ़ाइल (आकार और समय) के लिए निर्देशिका प्रविष्टि को अपडेट करें। (ई)
- स्रोत निर्देशिका प्रविष्टि के एक्सेस समय को अपडेट करें। (च)
(ए) बहुत कम से कम इसका मतलब है कि वर्तमान निर्देशिका खोजना। या फ़ाइल सिस्टम के रूट पर पथ शुरू हो सकता है, और निर्देशिकाओं के कई स्तरों का पता लगाना होगा।
(b) बहुत कम से कम इसका मतलब है कि वर्तमान निर्देशिका को खोजना। या फ़ाइल सिस्टम के रूट पर पथ शुरू हो सकता है, और निर्देशिकाओं के कई स्तरों का पता लगाना होगा। यदि गंतव्य फ़ाइल पहले से मौजूद है, तो यह निर्धारित करें कि प्रतिलिपि कैसे आगे बढ़े या गर्भपात करे। यदि गंतव्य फ़ाइल मौजूद नहीं है, तो एक नई निर्देशिका प्रविष्टि बनाई जानी चाहिए, और शायद इसमें निर्देशिका का विस्तार करना शामिल है (यानी फ़ाइल ब्लॉक (उर्फ क्लस्टर) आवंटन उपरि )।
(c) यदि निर्देशिका का विस्तार करना है, तो एक निशुल्क ब्लॉक ढूंढकर एक नया ब्लॉक आवंटित करें, नए आवंटन के साथ आवंटन तालिका को संशोधित करें, और फिर डिस्क को ब्लॉक (ओं) लिखें । चूंकि अधिकांश फाइल सिस्टम आवंटन तालिका की कई प्रतियों को बनाए रखते हैं, तो इसका मतलब है कि कई डिस्क पर लिखते हैं।
(c1) गंतव्य निर्देशिका स्थित होने के बाद, डिस्क से निर्देशिका ब्लॉक पढ़ें , इसे कॉपी की गई फ़ाइल के लिए नई निर्देशिका प्रविष्टि के साथ संशोधित करें और फिर ब्लॉक को डिस्क पर लिखें ।
(d) फ़ाइल की प्रतिलिपि बनाने के लिए, नि: शुल्क ब्लॉक ढूंढकर ब्लॉक आवंटित करें, नए आवंटन के साथ आवंटन तालिका को संशोधित करें, और फिर ब्लॉक (ओं) को डिस्क पर लिखें । चूंकि अधिकांश फाइल सिस्टम आवंटन तालिका की कई प्रतियों को बनाए रखते हैं, तो इसका मतलब है कि कई डिस्क पर लिखते हैं। डेटा अखंडता को बनाए रखने के लिए, फ़ाइल सिस्टम निर्देशिकाओं और आवंटन तालिकाओं के लिए डिस्क लिखने (देरी और मर्ज) को लिखने का प्रयास नहीं कर सकता है , बल्कि नई फ़ाइलों को बनाए जाने और आवंटित किए गए ब्लॉक को तुरंत लिखने का कार्य करता है।
(e) डेटा कॉपी संकलित होने के बाद, उचित फ़ाइल की लंबाई और टाइमस्टैम्प के साथ प्रतिलिपि की गई फ़ाइल के लिए नई निर्देशिका प्रविष्टि को अपडेट करें, और फिर निर्देशिका ब्लॉक को डिस्क पर लिखें ।
(च) एक नई "पहुंच" टाइमस्टैम्प के साथ स्रोत निर्देशिका प्रविष्टि को अपडेट करें और फिर डिस्क को निर्देशिका ब्लॉक लिखें ।
तो सिर्फ एक फ़ाइल के बजाय, आपका सवाल यह पूछ रहा है कि क्या एक हजार फ़ाइलों के लिए यह सब सामान करने में लगने वाले समय को फाइलों के डेटा हिस्से को कॉपी करने में लग सकता है? यदि आप 24MB की सिर्फ एक फाइल कॉपी करते हैं, तो आपके पास एक हजार फाइलों के अपने कॉपी समय के साथ तुलना करने के लिए कुछ होगा।
जब एक फाइलसिस्टम का बैकअप लिया जाता है, तो डिस्क या विभाजन पर किसी अन्य फाइल सिस्टम में अलग-अलग फाइलों को कॉपी करना शायद ही कभी नियोजित होता है क्योंकि यह एक धीमी प्रक्रिया है जैसा कि आपने खोजा है। एक तेज़ विधि एक एकल संग्रह फ़ाइल बनाना और लिखना है जो विशेष निर्देशिका में स्रोत निर्देशिका प्रविष्टियाँ और फ़ाइल सामग्री रखती है; बैकअप प्रोग्राम और * निक्स कमांड 'टार' ऐसी आर्काइव फाइल को आउटपुट कर सकते हैं। (ध्यान दें कि 'टार' सिर्फ आर्काइव फ़ाइलों को संभालती है और अभिलेखीय + संपीड़न उपयोगिताओं जैसी संपीड़न का उपयोग नहीं करती है।) बैकअप का सबसे तेज़ तरीका एक ब्लॉक डिवाइस (एक डिवाइस पर एक फाइलसिस्टम के बजाय) को लिखना है, ताकि स्रोत फाइलसिस्टम हो उपेक्षित (अधिक डेटा के रूप में माना जाता है) और स्रोत डिवाइस की एक ब्लॉक-बाय-ब्लॉक छवि प्रति का प्रदर्शन किया जा सकता है।