आम तौर पर, लिनक्स में उपयोगकर्ता प्रोग्राम से "निम्न स्तर" डिस्क ऑपरेशन डिस्क विशेष डिवाइस खोलने में शामिल है। मेरे कंप्यूटर पर, इन्हें "/ dev/sda" या "/ dev/sda4" या यहां तक कि "/ dev/disk/by-uuid/2a5150b4-71cb-11e1-b2fe-3b0d270b4e16" नाम भी कहा जाता है।
आपको अपनी डिवाइस फ़ाइल चुनने में बहुत ध्यान रखना चाहिए। इसका उपयोग करके आपके सिस्टम विभाजन को लिखना एक अच्छा विचार नहीं है। साथ ही, डिवाइस फ़ाइलों को खोलने के लिए ज्यादातर मामलों में रूट पहुंच की आवश्यकता होती है (स्पष्ट कारणों से)।
fstream
का उपयोग करने का सवाल ऑर्थोगोनल है या नहीं। डिवाइस को खोलने के लिए आप std::fstream
, fopen
या यहां तक कि open
का उपयोग कर सकते हैं। फिर जो भी पढ़ा ऑपरेशन आपके द्वारा किए गए खुले मैचों से मेल खाता है।
अपने विशिष्ट उदाहरण के लिए, आप पुनर्विचार कर सकते हैं कि आपको इस कार्यक्षमता की आवश्यकता है या नहीं। Wikipedia, जो बारी में Linux System Administrator Guide के हवाले से किया जाता है का हवाला देते हुए:
हालांकि, लिनक्स सिस्टम प्रशासक गाइड में कहा गया है, "आधुनिक लिनक्स फाइल सिस्टम (रों) करीब एक साथ एक फ़ाइल में सभी ब्लॉक रखकर कम से कम विखंडन रखने के रूप में , भले ही उन्हें लगातार क्षेत्रों में संग्रहित नहीं किया जा सके। कुछ फाइल सिस्टम, जैसे ext3, प्रभावी रूप से फ़ाइल में अन्य ब्लॉक के नजदीकी मुक्त ब्लॉक आवंटित करते हैं। इसलिए लिनक्स सिस्टम में विखंडन के बारे में चिंता करने की आवश्यकता नहीं है। "
जब से तुम उल्लेख सी ++, मुझे लगता है कि आप किसी उपयोगकर्ता कार्यक्रम और नहीं एक डिवाइस ड्राइवर लिख रहे हैं। वास्तव में "निम्न स्तर" डिस्क ऑपरेशन केवल कर्नेल के अंदर उपलब्ध हैं। यदि आप वास्तव में, डिवाइस ड्राइवर लिखना चाहते हैं, तो कृपया इसे स्पष्ट करने के लिए अपने प्रश्न को पुन: प्रारंभ करें।
स्रोत
2012-11-26 19:27:49
यहां बहुत सारी चीज़ें भी हैं: http://bit.ly/V2ruze – soulseekah