2011-08-06 5 views
9

में एक हार्ड ड्राइव का अनुकरण करें मैंने एक शोध परियोजना के हिस्से के रूप में एक FUSE- आधारित फ़ाइल सिस्टम विकसित किया है और अब हार्ड ड्राइव द्वारा प्राप्त वास्तविक पढ़ने/लिखने के अनुरोधों का अध्ययन करना है। ऐसा करने के प्रयास में, मैं लिनक्स में वर्चुअल हार्ड ड्राइव बनाने का विकल्प देख रहा हूं, जो फाइल सिस्टम द्वारा उत्पन्न किए गए अनुरोधों को रोक देगा और उन्हें लॉग करेगा।लिनक्स

क्या इंटरनेट पर कोई संसाधन उपलब्ध है जो मुझे एमुलेटर लिखने में मदद कर सकता है और/या लिखने के लिए आवश्यक कौशल सेट विकसित कर सकता है? मैं वर्तमान में लिनक्स डिवाइस ड्राइवर्स 3 पुस्तक पढ़ रहा हूं ताकि यह पता चल सके कि लिनक्स ब्लॉक डिवाइस कैसे प्रबंधित करता है।

किसी भी मदद की सराहना की जाती है।

धन्यवाद

उत्तर

2

ठीक है, एक विभाजन के रूप में एक छवि फ़ाइल माउंट करने के लिए एक तरह से है:

अपने फाइल सिस्टम प्रकार के साथ
mount -t <fs type> -o loop file.img /mnt 

विकल्प नहीं है, file.img वांछित विभाजन की एक छवि होना चाहिए।

फिर भी एक और तरीका, आप वर्चुअलबॉक्स स्थापित कर सकते हैं, वर्चुअल मशीन पर लिनक्स इंस्टॉल कर सकते हैं, एक नया वर्चुअल हार्ड ड्राइव और वर्चुअल मशीन के भीतर से वर्चुअल हार्ड ड्राइव को वांछित फाइल सिस्टम के साथ प्रारूपित कर सकते हैं और इसका इस्तेमाल कर सकते हैं। इस दृष्टिकोण का एक लाभ यह है कि यह एक सुरक्षित सैंडबॉक्स प्रदान करता है ताकि प्रयोग करते समय आप अपने मौजूदा सिस्टम को गलती से नुकसान न पहुंचे।

+1

आपके उत्तर के लिए धन्यवाद। लेकिन वह समाधान वास्तव में मुझे घटनाओं के वास्तविक नट-किरकिरा में आने की इजाजत नहीं देता है। मैं डिवाइस ड्राइवर से भेजे गए अनुरोधों को ट्रैक करने में सक्षम होना चाहता हूं। जिस तरह से मैं यह देख रहा हूं वह एक ब्लॉक डिवाइस ड्राइवर लिखना है, जो तब एमुलेटर के अनुरोधों को रूट करता है। हालांकि, ब्लॉक डिवाइस ड्राइवर के विपरीत एमुलेटर उपयोगकर्ता-स्थान में चल रहा है, जो कर्नेल स्पेस में चल रहा है। मुझे ब्लॉक डिवाइस ड्राइवर से एमुलेटर में अनुरोधों को स्थानांतरित करने के लिए एक तंत्र की भी आवश्यकता है। और इसी कारण से मैं एक एमुलेटर लिखने के लिए साहित्य की तलाश में हूं। –

3

एससीएसआई डीबग ड्राइवर पर एक नज़र डालें। site

scsi_debug एडाप्टर चालक से हवाला देते हुए SCSI डिस्क के परिवर्तनशील, प्रत्येक रैम की एक आम राशि के रूप में (अस्थिर) भंडारण कार्य करने के लिए चालक द्वारा आवंटित साझा करने simulates।

यदि यह मैं था, तो मैं उस ड्राइवर में पहले से मौजूद डीबग लॉगिंग को सक्षम कर दूंगा और फिर अपनी आवश्यकताओं के अनुरूप इसे बढ़ाऊंगा।

+0

मैंने आपके पोस्ट में उल्लिखित लिंक पर दस्तावेज़ पढ़ा है। मैं इसका उपयोग नहीं कर सकता क्योंकि मुझे दृढ़ता की आवश्यकता है और scsi_debug मॉड्यूल एक इन-मेमोरी समाधान का उपयोग करता है। इसके अलावा, मैं बसों के साथ गड़बड़ से बचने की कोशिश कर रहा हूं। मैं एमुलेटर में ब्लॉक डिवाइस ड्राइवर (जिसे मैं खुद लिख रहा हूं) से नियंत्रण पास करना चाहता हूं। मैंने सीडीईयू की जांच की, जिसमें कुछ हद तक समान वास्तुकला है (हालांकि इसमें वर्चुअल होस्ट बस एडाप्टर मॉड्यूल है) जहां एक कर्नेल स्पेस घटक उपयोगकर्ता-स्थान में चल रहे डेमॉन पर नियंत्रण पास करता है। –