2012-04-15 12 views
5

यह किसी भी ऑपरेटिंग सिस्टम को लिखने की कोशिश कर रहा है, विशेष रूप से जैसा कि मैं (जैसा कि आपने अनुमान लगाया होगा) को नोबिश लग सकता है। फिलहाल मैं फाइल सिस्टम बनाने की कोशिश कर रहा हूं।सी में एक EXT4 फ़ाइल सिस्टम लिखना?

मैं क्या चाहता हूँ जो EXT4 (कम से कम मेरा है) है लिनक्स Ubuntu के रूप में एक ऐसी ही फाइल सिस्टम है। मैं कोशिश करना चाहता हूं और इसे सी में भी लिखना चाहता हूं।

कोई विचार यह है कि मैं इसके बारे में कैसे जा सकता हूं? और/या किसी ट्यूटोरियल है कि आप मिल गया है हो सकता है कि मेरी मदद कर सकते हैं (मैं कोई भाग्य के साथ खोज की कोशिश की है): एल

अग्रिम धन्यवाद!

जेमी।

+1

आप को लागू करने और फाइल सिस्टम के पुराने प्रकार की कोशिश कर रहा पर विचार कर सकते। ext4 बहुत स्थायित्व गारंटी प्रदान करता है जिसे आपको शायद शुरू करने की आवश्यकता नहीं है। Ext2 में देखने का प्रयास करें जिसमें समान मूल विचार हैं। – Michael

+0

@ माइकल - क्या ext2 fs को उत्पन्न/कार्यान्वित करने के लिए कोई स्रोत कोड है?यदि हां, मुझे यह कहां मिल सकता है? –

+1

@JamieEdwards: 'mkfs.ext2' के लिए स्रोत कोड सार्वजनिक रूप से उपलब्ध है, साथ ही लिनक्स कर्नेल स्रोत कोड भी उपलब्ध है। –

उत्तर

0

Linux में से एक की तरह, किसी मौजूदा कार्यान्वयन पर देखने का प्रयास करें।

+1

वह लिंक लोड नहीं हो रहा है। यहाँ एक संभावित प्रतिस्थापन है: https://www.kernel.org/doc/Documentation/filesystems/ext4.txt –

+1

साइट थोड़ी देर पहले नीचे चला गया, देख के लिए धन्यवाद! –

+0

कोई समस्या नहीं - समूह साइट और वह सब। जवाब संपादित करने के लिए चीयर्स। –

4

सच स्मार्ट और अनुभवी लोग हैं, जो बड़े पैमाने पर इस समस्या का अध्ययन किया है कीड़े कि उपयोगकर्ताओं के डेटा खाया बना दिया है। गणना परत में एक बग के बीच अंतर (उदाहरण के लिए एक कर्नेल क्रैश) और स्टोरेज परत में एक बग यह है कि चुपचाप उपयोगकर्ताओं के डेटा को खाने बहुत खराब - स्प्रेडशीट्स में गलत उत्तरों देने से भी बदतर है (एक्सेल अभी तक लोकप्रिय है) या डिस्क पर डेटा को संरक्षित करते समय intermittently sigfaulting (यह आसानी से स्वत: सहेजने से कम हो जाता है)।

पुरानी ऑपरेटिंग सिस्टम पुस्तक [1] (उसी लिनस टोरवाल्ड्स, बीस साल पहले शुरू हुआ) से मिनीिक्स फाइल सिस्टम जैसे सरल डिज़ाइन का अध्ययन करके प्रारंभ करें।

अन्य लोगों की तरह कहा, journaling, विस्तार या एसीएल के बिना ext2 ext4 तुलना में एक बेहतर शुरुआती बिंदु है। इसके लिए स्रोत कोड लिनक्स कर्नेल में है और e2fsprogs उपयोगकर्ता स्पेस उपकरण पैकेज [2] में है। प्रारूप अच्छी तरह से प्रलेखित है।

ट्यूटोरियल के लिए, विचार करें कि उन्हें कौन बनाता है और वे इस कार्य पर प्रयास क्यों करते हैं। ट्यूटोरियल आम तौर पर प्लेटफ़ॉर्म में हितधारकों द्वारा बनाए जाते हैं ताकि प्लेटफार्म का उपयोग करके नए लोगों को विकसित किया जा सके, प्लेटफॉर्म को बढ़ाने के लिए नेटवर्क प्रभाव का उपयोग किया जा सके और बड़े पारिस्थितिक तंत्र में पहले से स्थापित अभिनेताओं के लाभ से लाभ प्राप्त किया जा सके।

क्या आप अपनी असंगत छोटी गाड़ी [3] फाइल सिस्टम को लागू करने वाले लोगों की संख्या में वृद्धि करने के लिए एक व्यावसायिक मॉडल देखते हैं? केवल अगर आप सॉफ्टवेयर इंजीनियरिंग डिग्री बेचते हैं। तो माइक्रोसॉफ्ट केवल एनटीएफएस का उपयोग करने के बारे में ट्यूटोरियल लिखता है, को कैसे कार्यान्वित करें। सन और जेएफएस, रेड हैट और Google एक्सटी 2/3/4 के साथ, एक्सएफएस के साथ एसजीआई, जेएफएस के साथ आईबीएम, बीआरटीएफएस के साथ ओरेकल इत्यादि।

यदि आप प्रशिक्षण के बजाय शिक्षा चाहते हैं, तो आपको किताबें और अध्ययन पढ़ना होगा स्मार्ट लोग कोड जो वे उत्पादन में उपयोग करते हैं, ट्यूटोरियल की तलाश नहीं करते हैं।

  1. http://en.wikipedia.org/wiki/Operating_Systems:_Design_and_Implementation
  2. http://e2fsprogs.sourceforge.net/
  3. कितना उपयोग करते हैं, कितने इसके साथ विभिन्न उपयोग पैटर्न में देखते हैं? लाखों कंप्यूटरों पर वर्षों के उपयोग के बाद उत्पादन एफएस में खोज की गई बग पर विचार करें। यह संभावना नहीं है कि आपका कोड कम छोटी गाड़ी होगी, भले ही आप मैथ्यू डिलन के रूप में स्मार्ट हों।
+1

मानो या न मानो, कभी कभी लोगों को * * लिखने ट्यूटोरियल * सिर्फ इसलिए कि वे दूसरों की मदद करना चाहते हैं *, जो एक ही जूते वे पहले से ही थे में रहे हैं ... जैसे देखना [यहां] (http://www.osdever.net/tutorials/view/brans-kernel-development-tutorial) – Mehrdad

+1

हाँ, और मेरे जैसे लोगों के तो बस पर सवालों के जवाब देने हैं क्योंकि वे दूसरों की मदद करना पसंद है। लेकिन आप किसी को अजनबियों की मदद करने के लिए कितना प्रयास करने की उम्मीद कर सकते हैं? मैं कभी-कभी ऐसे प्रश्न देखता हूं जिन्हें "फेसबुक/एंड्रॉइड/आदि बनाने के लिए सिखाएं" के रूप में समझा जा सकता है। ओपी के बिना आवश्यक काम की मात्रा में न्यूनतम शोध करने के बिना दिखाई दिया। विकिपीडिया पर फाइल सिस्टम के बारे में पढ़ने के लिए बहुत कुछ नहीं है। –

+0

हाँ, सच ..... – Mehrdad

संबंधित मुद्दे